Add buildroot 2018-02
This commit is contained in:
49
buildroot/package/python-numpy/0001-no-fenv-on-uclibc.patch
Normal file
49
buildroot/package/python-numpy/0001-no-fenv-on-uclibc.patch
Normal file
@@ -0,0 +1,49 @@
|
||||
From 1d309b81a6fdac33dfb5148f618bafe6ebdff958 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Fri, 15 Sep 2017 12:51:36 +0300
|
||||
Subject: [PATCH] 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>
|
||||
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
---
|
||||
numpy/core/include/numpy/ufuncobject.h | 2 +-
|
||||
numpy/core/src/npymath/ieee754.c.src | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/numpy/core/include/numpy/ufuncobject.h b/numpy/core/include/numpy/ufuncobject.h
|
||||
index d0ac1fd7d732..65e49fcd5b7a 100644
|
||||
--- a/numpy/core/include/numpy/ufuncobject.h
|
||||
+++ b/numpy/core/include/numpy/ufuncobject.h
|
||||
@@ -319,7 +319,7 @@ typedef struct _loop1d_info {
|
||||
#if defined(sun) || defined(__BSD__) || defined(__OpenBSD__) || \
|
||||
(defined(__FreeBSD__) && (__FreeBSD_version < 502114)) || \
|
||||
defined(__NetBSD__) || \
|
||||
- defined(__GLIBC__) || defined(__APPLE__) || \
|
||||
+ (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \
|
||||
defined(__CYGWIN__) || defined(__MINGW32__) || \
|
||||
(defined(__FreeBSD__) && (__FreeBSD_version >= 502114)) || \
|
||||
defined(_AIX) || \
|
||||
diff --git a/numpy/core/src/npymath/ieee754.c.src b/numpy/core/src/npymath/ieee754.c.src
|
||||
index 0370ea6c77aa..e63e409b6604 100644
|
||||
--- a/numpy/core/src/npymath/ieee754.c.src
|
||||
+++ b/numpy/core/src/npymath/ieee754.c.src
|
||||
@@ -612,7 +612,7 @@ void npy_set_floatstatus_invalid(void)
|
||||
}
|
||||
|
||||
|
||||
-#elif defined(__GLIBC__) || defined(__APPLE__) || \
|
||||
+#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \
|
||||
defined(__CYGWIN__) || defined(__MINGW32__) || \
|
||||
(defined(__FreeBSD__) && (__FreeBSD_version >= 502114))
|
||||
# include <fenv.h>
|
||||
--
|
||||
2.7.5
|
||||
|
||||
68
buildroot/package/python-numpy/0002-Add-support-of-ARC.patch
Normal file
68
buildroot/package/python-numpy/0002-Add-support-of-ARC.patch
Normal file
@@ -0,0 +1,68 @@
|
||||
From 9a225e7d4fb1de5c99c6b5b17cae2fc4c2d1c59a Mon Sep 17 00:00:00 2001
|
||||
From: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
Date: Fri, 15 Sep 2017 11:59:14 +0300
|
||||
Subject: [PATCH] Add support of ARC
|
||||
|
||||
Synopsys DesignWare ARC Processors are a family of 32-bit CPUs
|
||||
which in some configurations may run Linux kernel and full stack
|
||||
of applications on top of it. Among other things is Python.
|
||||
|
||||
With that change we allow building and usage of Numpy on ARC.
|
||||
|
||||
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
|
||||
---
|
||||
numpy/core/include/numpy/npy_cpu.h | 6 ++++++
|
||||
numpy/core/include/numpy/npy_endian.h | 6 ++++--
|
||||
2 files changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/numpy/core/include/numpy/npy_cpu.h b/numpy/core/include/numpy/npy_cpu.h
|
||||
index 60abae4e0b0e..84653ea183ce 100644
|
||||
--- a/numpy/core/include/numpy/npy_cpu.h
|
||||
+++ b/numpy/core/include/numpy/npy_cpu.h
|
||||
@@ -15,6 +15,8 @@
|
||||
* NPY_CPU_ARMEB
|
||||
* NPY_CPU_SH_LE
|
||||
* NPY_CPU_SH_BE
|
||||
+ * NPY_CPU_ARCEL
|
||||
+ * NPY_CPU_ARCEB
|
||||
*/
|
||||
#ifndef _NPY_CPUARCH_H_
|
||||
#define _NPY_CPUARCH_H_
|
||||
@@ -76,6 +78,10 @@
|
||||
#define NPY_CPU_AARCH64
|
||||
#elif defined(__mc68000__)
|
||||
#define NPY_CPU_M68K
|
||||
+#elif defined(__arc__) && defined(__LITTLE_ENDIAN__)
|
||||
+ #define NPY_CPU_ARCEL
|
||||
+#elif defined(__arc__) && defined(__BIG_ENDIAN__)
|
||||
+ #define NPY_CPU_ARCEB
|
||||
#else
|
||||
#error Unknown CPU, please report this to numpy maintainers with \
|
||||
information about your platform (OS, CPU and compiler)
|
||||
diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h
|
||||
index e34b1d97e655..1a42121db92e 100644
|
||||
--- a/numpy/core/include/numpy/npy_endian.h
|
||||
+++ b/numpy/core/include/numpy/npy_endian.h
|
||||
@@ -45,7 +45,8 @@
|
||||
|| defined(NPY_CPU_AARCH64) \
|
||||
|| defined(NPY_CPU_SH_LE) \
|
||||
|| defined(NPY_CPU_MIPSEL) \
|
||||
- || defined(NPY_CPU_PPC64LE)
|
||||
+ || defined(NPY_CPU_PPC64LE) \
|
||||
+ || defined(NPY_CPU_ARCEL)
|
||||
#define NPY_BYTE_ORDER NPY_LITTLE_ENDIAN
|
||||
#elif defined(NPY_CPU_PPC) \
|
||||
|| defined(NPY_CPU_SPARC) \
|
||||
@@ -56,7 +57,8 @@
|
||||
|| defined(NPY_CPU_SH_BE) \
|
||||
|| defined(NPY_CPU_MIPSEB) \
|
||||
|| defined(NPY_CPU_OR1K) \
|
||||
- || defined(NPY_CPU_M68K)
|
||||
+ || defined(NPY_CPU_M68K) \
|
||||
+ || defined(NPY_CPU_ARCEB)
|
||||
#define NPY_BYTE_ORDER NPY_BIG_ENDIAN
|
||||
#else
|
||||
#error Unknown CPU: can not set endianness
|
||||
--
|
||||
2.7.5
|
||||
|
||||
28
buildroot/package/python-numpy/Config.in
Normal file
28
buildroot/package/python-numpy/Config.in
Normal file
@@ -0,0 +1,28 @@
|
||||
config BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
|
||||
bool
|
||||
# Numpy has some CPU specific code
|
||||
# ARCompact build fails due to toolchain issue
|
||||
# ARC HS38 build fails on glibc due to missing FE_* definitions
|
||||
default y if BR2_arc && BR2_archs38 && !BR2_TOOLCHAIN_USES_GLIBC
|
||||
default y if BR2_aarch64
|
||||
default y if BR2_arm
|
||||
default y if BR2_armeb
|
||||
default y if BR2_i386
|
||||
default y if BR2_mips
|
||||
default y if BR2_mipsel
|
||||
default y if BR2_powerpc
|
||||
default y if BR2_powerpc64
|
||||
default y if BR2_sh
|
||||
default y if BR2_x86_64
|
||||
|
||||
config BR2_PACKAGE_PYTHON_NUMPY
|
||||
bool "python-numpy"
|
||||
depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS
|
||||
help
|
||||
NumPy is the fundamental package for scientific computing
|
||||
with Python.
|
||||
|
||||
Note that NumPy needs fenv.h fully supported by the
|
||||
C library.
|
||||
|
||||
http://www.numpy.org/
|
||||
4
buildroot/package/python-numpy/python-numpy.hash
Normal file
4
buildroot/package/python-numpy/python-numpy.hash
Normal file
@@ -0,0 +1,4 @@
|
||||
# Copied from https://github.com/numpy/numpy/releases/tag/v1.13.3
|
||||
sha256 4c6b4eef790528bebb7ec9590d74cc193868940fe68e4109a91c196df72d8094 numpy-1.13.3.tar.gz
|
||||
# License files, locally calculated
|
||||
sha256 94eebc7c8f86a287c1e9146ed52ebcde88183806d848d8c66e0e52d1aebf3b13 LICENSE.txt
|
||||
33
buildroot/package/python-numpy/python-numpy.mk
Normal file
33
buildroot/package/python-numpy/python-numpy.mk
Normal file
@@ -0,0 +1,33 @@
|
||||
################################################################################
|
||||
#
|
||||
# python-numpy
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_NUMPY_VERSION = 1.13.3
|
||||
PYTHON_NUMPY_SOURCE = numpy-$(PYTHON_NUMPY_VERSION).tar.gz
|
||||
PYTHON_NUMPY_SITE = https://github.com/numpy/numpy/releases/download/v$(PYTHON_NUMPY_VERSION)
|
||||
PYTHON_NUMPY_LICENSE = BSD-3-Clause
|
||||
PYTHON_NUMPY_LICENSE_FILES = LICENSE.txt
|
||||
PYTHON_NUMPY_SETUP_TYPE = setuptools
|
||||
|
||||
ifeq ($(BR2_PACKAGE_CLAPACK),y)
|
||||
PYTHON_NUMPY_DEPENDENCIES += clapack
|
||||
PYTHON_NUMPY_SITE_CFG_LIBS += blas lapack
|
||||
endif
|
||||
|
||||
PYTHON_NUMPY_BUILD_OPTS = --fcompiler=None
|
||||
|
||||
define PYTHON_NUMPY_CONFIGURE_CMDS
|
||||
-rm -f $(@D)/site.cfg
|
||||
echo "[DEFAULT]" >> $(@D)/site.cfg
|
||||
echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(@D)/site.cfg
|
||||
echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(@D)/site.cfg
|
||||
echo "libraries =" $(subst $(space),$(comma),$(PYTHON_NUMPY_SITE_CFG_LIBS)) >> $(@D)/site.cfg
|
||||
endef
|
||||
|
||||
# Some package may include few headers from NumPy, so let's install it
|
||||
# in the staging area.
|
||||
PYTHON_NUMPY_INSTALL_STAGING = YES
|
||||
|
||||
$(eval $(python-package))
|
||||
Reference in New Issue
Block a user