This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to branch experimental in repository grass.
commit 9318410ebc678c6507e9ea7c4e8def2c4fcaf22b Author: Bas Couwenberg <sebas...@xs4all.nl> Date: Sun Feb 8 15:30:31 2015 +0100 Add patch to fix Python ctypes conversion for stat64 struct on Hurd. --- debian/changelog | 1 + debian/patches/python-ctypes-ternary.patch | 35 ++++++++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 37 insertions(+) diff --git a/debian/changelog b/debian/changelog index 5264e5f..6d24844 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ grass (7.0.0~rc1+ds1-1~exp2) UNRELEASED; urgency=medium * Add patch to treat GNU/{Hurd,kFreeBSD} like Linux in SC_CONFIG_CFLAGS. + * Add patch to fix Python ctypes conversion for stat64 struct on Hurd. -- Bas Couwenberg <sebas...@debian.org> Sat, 07 Feb 2015 20:48:47 +0100 diff --git a/debian/patches/python-ctypes-ternary.patch b/debian/patches/python-ctypes-ternary.patch new file mode 100644 index 0000000..36b90a8 --- /dev/null +++ b/debian/patches/python-ctypes-ternary.patch @@ -0,0 +1,35 @@ +Description: Enclose Python ternary in parenthesis. + This fixes an issue with the C to Python conversion of the stat & stat64 + structs on GNU/Hurd. The structs define the final member conditionally: + . + #define _SPARE_SIZE ((sizeof (__fsid_t) == sizeof (int)) ? 9 : 8) + int st_spare[_SPARE_SIZE]; /* Room for future expansion. */ + #undef _SPARE_SIZE + . + This gets converted by ctypesgen to: + . + ('st_spare', c_int * (sizeof(__fsid_t) == sizeof(c_int)) and 9 or 8), + . + Which causes a TypeError: + . + TypeError: second item in _fields_ tuple (index 17) must be a C type + . + Enclosing the Python expression in parenthesis to become: + . + ('st_spare', c_int * ((sizeof(__fsid_t) == sizeof(c_int)) and 9 or 8)), + . + fixes the TypeError. +Author: Bas Couwenberg <sebas...@xs4all.nl> +Forwarded: https://trac.osgeo.org/grass/ticket/2581 + +--- a/lib/python/ctypes/ctypesgencore/expressions.py ++++ b/lib/python/ctypes/ctypesgencore/expressions.py +@@ -208,7 +208,7 @@ class ConditionalExpressionNode(Expressi + return self.no.evaluate(context) + + def py_string(self, can_be_ctype): +- return "%s and %s or %s" % \ ++ return "(%s and %s or %s)" % \ + (self.cond.py_string(True), + self.yes.py_string(can_be_ctype), + self.no.py_string(can_be_ctype)) diff --git a/debian/patches/series b/debian/patches/series index ffbb9fe..bbec2d1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,6 +3,7 @@ pager instdir check4dev sc-config-cflags.patch +python-ctypes-ternary.patch wxpy3.0-compat.patch parameter-typo.patch additionally-typo.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/grass.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel