Package: cython Version: 0.23.2+git16-ga8fbae1-1+b1 Severity: normal Tags: patch
On mips and mipsel, the st_dev and st_rdev members of struct stat do not have type dev_t. This breaks POSIX compatibility, but is difficult to fix (cf. https://sourceware.org/bugzilla/show_bug.cgi?id=17786). When using Cython, this leads to conversation warnings in the generated C code. A workaround is to change the definition of struct stat that is used by Cython when we are compiling under mips. The drawback is that this requires the Cython compilation to run under mips, and that the resulting C file will be mips specific (without the patch, the generated C file is suitable for any architecture). However, I think this may be less of an issue for the Debian package, because we are building everything from source on the target architecture anyway (including regeneration of the C file from Cython code), and it only happens to mips/mipsel users. Thoughts on including this patch in the Debian package? --- a/Includes/posix/stat.pxd +++ b/Includes/posix/stat.pxd @@ -16,7 +16,25 @@ cdef extern from "sys/stat.h" nogil: S_IFMT S_IFDIR - struct stat: +IF UNAME_MACHINE.startswith('mips64'): + cdef extern from "sys/stat.h" nogil: + struct stat: + int st_dev + ino_t st_ino + mode_t st_mode + nlink_t st_nlink + uid_t st_uid + gid_t st_gid + int st_rdev + off_t st_size + blksize_t st_blksize + blkcnt_t st_blocks + time_t st_atime + time_t st_mtime + time_t st_ctime +ELSE: + cdef extern from "sys/stat.h" nogil: + struct stat: dev_t st_dev ino_t st_ino mode_t st_mode

