python-matplotlib : Add recipe for matplotlib 1.1.0.

Adding python-matplotlib recipe.  I'm sure many folks will find this useful.

Signed-off-by: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
Dan McDougall
2012-06-08 20:52:38 +00:00
committed by Koen Kooi
parent cdfe54310d
commit 43010e86aa
3 changed files with 94 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
This fixes the dependency checks inside of setup.py since things like
'import numpy' won't work with bitbake.
diff --git a/setup.py b/setup.py
index 2f13821..e6d6ed0 100644
--- a/setup.py
+++ b/setup.py
@@ -113,12 +113,6 @@ if 1:
baseline_images = [chop_package(f) for f in baseline_images]
package_data['matplotlib'].extend(baseline_images)
-if not check_for_numpy():
- sys.exit(1)
-
-if not check_for_freetype():
- sys.exit(1)
-
build_ft2font(ext_modules, packages)
build_ttconv(ext_modules, packages)
build_contour(ext_modules, packages)
@@ -129,7 +123,7 @@ build_tri(ext_modules, packages)
print_raw("")
print_raw("OPTIONAL BACKEND DEPENDENCIES")
-has_libpng = check_for_libpng()
+has_libpng = True
if has_libpng and options['build_agg']:
build_agg(ext_modules, packages)

View File

@@ -0,0 +1,29 @@
This fixes the numpy import problem in setupext.py using a hard-coded path.
diff --git a/setupext.py b/setupext.py
index 962cedc..82297c4 100644
--- a/setupext.py
+++ b/setupext.py
@@ -176,10 +176,7 @@ if os.path.exists(setup_cfg):
except: pass
# For get_base_flags:
-if options['basedirlist']:
- basedirlist = options['basedirlist'].split()
-else:
- basedirlist = basedir[sys.platform]
+basedirlist = [os.environ['STAGING_LIBDIR']]
print("basedirlist is: %s" % basedirlist)
if options['display_status']:
@@ -555,8 +552,8 @@ def check_for_numpy():
def add_numpy_flags(module):
"Add the modules flags to build extensions which use numpy"
- import numpy
- module.include_dirs.append(numpy.get_include())
+ # Hard-coded path for OE since I know this is where numpy's include dir will be
+ module.include_dirs.append(os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/'))
def add_png_flags(module):
try_pkgconfig(module, 'libpng', 'png')

View File

@@ -0,0 +1,36 @@
DESCRIPTION = "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats"
SECTION = "devel/python"
LICENSE = "PSF"
LIC_FILES_CHKSUM = "file://README.txt;md5=83c5bf8b16a5f99507f2f47a21ae3b81"
PR = "r1"
DEPENDS += "python-numpy freetype libpng"
RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng"
SRC_URI = "${SOURCEFORGE_MIRROR}/matplotlib/matplotlib-${PV}.tar.gz \
file://fix_setup.patch \
file://fix_setupext.patch \
"
S = "${WORKDIR}/matplotlib-${PV}"
EXTRA_OECONF = "--disable-docs --with-python-includes=${STAGING_INCDIR}/../"
inherit distutils
do_compile_prepend() {
BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \
true
}
# need to export these variables for python-config to work
export PYTHONPATH
export BUILD_SYS
export HOST_SYS
export STAGING_INCDIR
export STAGING_LIBDIR
SRC_URI[md5sum] = "57a627f30b3b27821f808659889514c2"
SRC_URI[sha256sum] = "be37e1d86c65ecacae6683f8805e051e9904e5f2e02bf2b7a34262c46a6d06a7"