From f03731c8d18dc2a0a69bcc3bef7ef6e7fedf359f Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Wed, 19 Jul 2017 00:59:00 +0200 Subject: [PATCH] python: Fix 32-bit builds --- packages/python/posixmodule.c.patch | 51 +++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 packages/python/posixmodule.c.patch diff --git a/packages/python/posixmodule.c.patch b/packages/python/posixmodule.c.patch new file mode 100644 index 000000000..afbce08c7 --- /dev/null +++ b/packages/python/posixmodule.c.patch @@ -0,0 +1,51 @@ +https://github.com/python/cpython/commit/50e86033de85294d87b7e942701d456342abde8e + +diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c +index e8c15a9473c..5c739180ea6 100644 +--- a/Modules/posixmodule.c ++++ b/Modules/posixmodule.c +@@ -1927,14 +1927,8 @@ _pystat_fromstructstat(STRUCT_STAT *st) + return NULL; + + PyStructSequence_SET_ITEM(v, 0, PyLong_FromLong((long)st->st_mode)); +-#if defined(HAVE_LARGEFILE_SUPPORT) || defined(MS_WINDOWS) + Py_BUILD_ASSERT(sizeof(unsigned long long) >= sizeof(st->st_ino)); +- PyStructSequence_SET_ITEM(v, 1, +- PyLong_FromUnsignedLongLong(st->st_ino)); +-#else +- Py_BUILD_ASSERT(sizeof(unsigned long) >= sizeof(st->st_ino)); +- PyStructSequence_SET_ITEM(v, 1, PyLong_FromUnsignedLong(st->st_ino)); +-#endif ++ PyStructSequence_SET_ITEM(v, 1, PyLong_FromUnsignedLongLong(st->st_ino)); + #ifdef MS_WINDOWS + PyStructSequence_SET_ITEM(v, 2, PyLong_FromUnsignedLong(st->st_dev)); + #else +@@ -1948,12 +1942,8 @@ _pystat_fromstructstat(STRUCT_STAT *st) + PyStructSequence_SET_ITEM(v, 4, _PyLong_FromUid(st->st_uid)); + PyStructSequence_SET_ITEM(v, 5, _PyLong_FromGid(st->st_gid)); + #endif +-#ifdef HAVE_LARGEFILE_SUPPORT +- PyStructSequence_SET_ITEM(v, 6, +- PyLong_FromLongLong((long long)st->st_size)); +-#else +- PyStructSequence_SET_ITEM(v, 6, PyLong_FromLong(st->st_size)); +-#endif ++ Py_BUILD_ASSERT(sizeof(long long) >= sizeof(st->st_size)); ++ PyStructSequence_SET_ITEM(v, 6, PyLong_FromLongLong(st->st_size)); + + #if defined(HAVE_STAT_TV_NSEC) + ansec = st->st_atim.tv_nsec; +@@ -11451,11 +11441,8 @@ os_DirEntry_inode_impl(DirEntry *self) + Py_BUILD_ASSERT(sizeof(unsigned long long) >= sizeof(self->win32_file_index)); + return PyLong_FromUnsignedLongLong(self->win32_file_index); + #else /* POSIX */ +-#ifdef HAVE_LARGEFILE_SUPPORT +- return PyLong_FromLongLong((long long)self->d_ino); +-#else +- return PyLong_FromLong((long)self->d_ino); +-#endif ++ Py_BUILD_ASSERT(sizeof(unsigned long long) >= sizeof(self->d_ino)); ++ return PyLong_FromUnsignedLongLong(self->d_ino); + #endif + } +