Loading package/python-numpy/python-numpy-0001-no-fenv-on-uclibc.patch 0 → 100644 +79 −0 Original line number Diff line number Diff line Don't use <fenv.h> on uClibc The python-numpy code already has provisions to not use <fenv.h> when not available. However, it uses __GLIBC__ to know whether fenv.h is available or not, but uClibc defines __GLIBC__, so python-numpy thinks fenv.h is available. This patch fixes that by changing all defined(__GLIBC__) occurences by (defined(__GLIBC__) && !defined(__UCLIBC__)). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Index: b/numpy/core/include/numpy/ufuncobject.h =================================================================== --- a/numpy/core/include/numpy/ufuncobject.h +++ b/numpy/core/include/numpy/ufuncobject.h @@ -413,11 +413,11 @@ (void) fpsetsticky(0); \ } -#elif defined(__GLIBC__) || defined(__APPLE__) || \ +#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ defined(__CYGWIN__) || defined(__MINGW32__) || \ (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) -#if defined(__GLIBC__) || defined(__APPLE__) || \ +#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ defined(__MINGW32__) || defined(__FreeBSD__) #include <fenv.h> #elif defined(__CYGWIN__) Index: b/numpy/core/src/npymath/ieee754.c.src =================================================================== --- a/numpy/core/src/npymath/ieee754.c.src +++ b/numpy/core/src/npymath/ieee754.c.src @@ -586,11 +586,11 @@ } -#elif defined(__GLIBC__) || defined(__APPLE__) || \ +#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ defined(__CYGWIN__) || defined(__MINGW32__) || \ (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) -# if defined(__GLIBC__) || defined(__APPLE__) || \ +# if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ defined(__MINGW32__) || defined(__FreeBSD__) # include <fenv.h> # elif defined(__CYGWIN__) Index: b/numpy/numarray/_capi.c =================================================================== --- a/numpy/numarray/_capi.c +++ b/numpy/numarray/_capi.c @@ -10,7 +10,7 @@ #include <sys/param.h> #endif -#if defined(__GLIBC__) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) +#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) #include <fenv.h> #elif defined(__CYGWIN__) #include "numpy/fenv/fenv.h" @@ -258,7 +258,7 @@ } /* Likewise for Integer overflows */ -#if defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) +#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) static int int_overflow_error(Float64 value) { /* For x86_64 */ feraiseexcept(FE_OVERFLOW); return (int) value; @@ -3007,7 +3007,7 @@ return retstatus; } -#elif defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) +#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) static int NA_checkFPErrors(void) Loading
package/python-numpy/python-numpy-0001-no-fenv-on-uclibc.patch 0 → 100644 +79 −0 Original line number Diff line number Diff line Don't use <fenv.h> on uClibc The python-numpy code already has provisions to not use <fenv.h> when not available. However, it uses __GLIBC__ to know whether fenv.h is available or not, but uClibc defines __GLIBC__, so python-numpy thinks fenv.h is available. This patch fixes that by changing all defined(__GLIBC__) occurences by (defined(__GLIBC__) && !defined(__UCLIBC__)). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Index: b/numpy/core/include/numpy/ufuncobject.h =================================================================== --- a/numpy/core/include/numpy/ufuncobject.h +++ b/numpy/core/include/numpy/ufuncobject.h @@ -413,11 +413,11 @@ (void) fpsetsticky(0); \ } -#elif defined(__GLIBC__) || defined(__APPLE__) || \ +#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ defined(__CYGWIN__) || defined(__MINGW32__) || \ (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) -#if defined(__GLIBC__) || defined(__APPLE__) || \ +#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ defined(__MINGW32__) || defined(__FreeBSD__) #include <fenv.h> #elif defined(__CYGWIN__) Index: b/numpy/core/src/npymath/ieee754.c.src =================================================================== --- a/numpy/core/src/npymath/ieee754.c.src +++ b/numpy/core/src/npymath/ieee754.c.src @@ -586,11 +586,11 @@ } -#elif defined(__GLIBC__) || defined(__APPLE__) || \ +#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ defined(__CYGWIN__) || defined(__MINGW32__) || \ (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) -# if defined(__GLIBC__) || defined(__APPLE__) || \ +# if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \ defined(__MINGW32__) || defined(__FreeBSD__) # include <fenv.h> # elif defined(__CYGWIN__) Index: b/numpy/numarray/_capi.c =================================================================== --- a/numpy/numarray/_capi.c +++ b/numpy/numarray/_capi.c @@ -10,7 +10,7 @@ #include <sys/param.h> #endif -#if defined(__GLIBC__) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) +#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) #include <fenv.h> #elif defined(__CYGWIN__) #include "numpy/fenv/fenv.h" @@ -258,7 +258,7 @@ } /* Likewise for Integer overflows */ -#if defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) +#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) static int int_overflow_error(Float64 value) { /* For x86_64 */ feraiseexcept(FE_OVERFLOW); return (int) value; @@ -3007,7 +3007,7 @@ return retstatus; } -#elif defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) +#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) static int NA_checkFPErrors(void)