[Buildroot] [git commit] python-numpy: new package
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed Jul 16 20:27:34 UTC 2014
commit: http://git.buildroot.net/buildroot/commit/?id=6777348f340b5340f6499534e568653f4b68c1c0
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master
This patch add NumPy package for python.
Since Fortran support has been deprecated in Buildroot since the 2013.11
release, and because most of the external toolchains do not provide a
Fortran compiler, it is necessary to explicity disable Fortran compiler
to avoid catching the one from the host system if any.
We also need to fill a site.cfg file to tell NumPy build-system where
it should looking for BLAS and LAPACK libraries.
Some packages may include headers provided by python-numpy package, so
python-numpy is installed to the staging directory.
[Thomas:
- add dependency in Config.in to take into account fenv.h
requirement, suggested by Yann E. Morin.
- modified to use the staging installation logic in the python
package infrastructure.]
Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
package/Config.in | 1 +
package/python-numpy/Config.in | 13 +++++++++++++
package/python-numpy/python-numpy.mk | 28 ++++++++++++++++++++++++++++
3 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/package/Config.in b/package/Config.in
index 2196783..4b7ccd9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -472,6 +472,7 @@ menu "external python modules"
source "package/python-msgpack/Config.in"
source "package/python-netifaces/Config.in"
source "package/python-nfc/Config.in"
+ source "package/python-numpy/Config.in"
source "package/python-posix-ipc/Config.in"
source "package/python-protobuf/Config.in"
source "package/python-pyasn/Config.in"
diff --git a/package/python-numpy/Config.in b/package/python-numpy/Config.in
new file mode 100644
index 0000000..169b91f
--- /dev/null
+++ b/package/python-numpy/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_PYTHON_NUMPY
+ bool "python-numpy"
+ # numpy needs fenv.h. Available for all architectures in
+ # glibc, but only for x86 and x86-64 in uClibc.
+ depends on !BR2_TOOLCHAIN_USES_UCLIBC || BR2_i386 || BR2_x86_64
+ 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/
diff --git a/package/python-numpy/python-numpy.mk b/package/python-numpy/python-numpy.mk
new file mode 100644
index 0000000..e309ef6
--- /dev/null
+++ b/package/python-numpy/python-numpy.mk
@@ -0,0 +1,28 @@
+################################################################################
+#
+# python-numpy
+#
+################################################################################
+
+PYTHON_NUMPY_VERSION = 1.8.0
+PYTHON_NUMPY_SOURCE = numpy-$(PYTHON_NUMPY_VERSION).tar.gz
+PYTHON_NUMPY_SITE = http://downloads.sourceforge.net/numpy
+PYTHON_NUMPY_LICENSE = BSD-3c
+PYTHON_NUMPY_LICENSE_FILES = LICENSE.txt
+PYTHON_NUMPY_SETUP_TYPE = distutils
+
+PYTHON_NUMPY_BUILD_OPT = --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 =" >> $(@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))
More information about the buildroot
mailing list