diff options
| author | Khem Raj <raj.khem@gmail.com> | 2017-09-01 15:27:20 -0700 |
|---|---|---|
| committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-09-07 10:57:37 +0200 |
| commit | 10c8c39c25d902ab5268fa48ac2bc0e42e65b179 (patch) | |
| tree | 26d4745bdeebd5a1734885d777f28b23f6e33713 /meta-python | |
| parent | 59cbb1d54d62a3a078a126e05310bb1cfa28922a (diff) | |
| download | meta-openembedded-10c8c39c25d902ab5268fa48ac2bc0e42e65b179.tar.gz | |
python-matplotlib: Upgrade to 2.0.2
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-python')
4 files changed, 121 insertions, 95 deletions
diff --git a/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch b/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch deleted file mode 100644 index 9381583537..0000000000 --- a/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | This fixes the dependency checks inside of setup.py since things like | ||
| 2 | 'import numpy' won't work with bitbake. | ||
| 3 | |||
| 4 | diff --git a/setup.py b/setup.py | ||
| 5 | index 2f13821..e6d6ed0 100644 | ||
| 6 | --- a/setup.py | ||
| 7 | +++ b/setup.py | ||
| 8 | @@ -113,12 +113,6 @@ if 1: | ||
| 9 | baseline_images = [chop_package(f) for f in baseline_images] | ||
| 10 | package_data['matplotlib'].extend(baseline_images) | ||
| 11 | |||
| 12 | -if not check_for_numpy(): | ||
| 13 | - sys.exit(1) | ||
| 14 | - | ||
| 15 | -if not check_for_freetype(): | ||
| 16 | - sys.exit(1) | ||
| 17 | - | ||
| 18 | build_ft2font(ext_modules, packages) | ||
| 19 | build_ttconv(ext_modules, packages) | ||
| 20 | build_contour(ext_modules, packages) | ||
| 21 | @@ -129,7 +123,7 @@ build_tri(ext_modules, packages) | ||
| 22 | |||
| 23 | print_raw("") | ||
| 24 | print_raw("OPTIONAL BACKEND DEPENDENCIES") | ||
| 25 | -has_libpng = check_for_libpng() | ||
| 26 | +has_libpng = True | ||
| 27 | |||
| 28 | if has_libpng and options['build_agg']: | ||
| 29 | build_agg(ext_modules, packages) | ||
diff --git a/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch b/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch index 9a13a1850f..21b9094a14 100644 --- a/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch +++ b/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch | |||
| @@ -1,40 +1,110 @@ | |||
| 1 | This fixes the numpy import problem in setupext.py using a hard-coded path. | 1 | This fixes the numpy import problem in setupext.py using a hard-coded path. |
| 2 | 2 | ||
| 3 | Index: matplotlib-1.1.0/setupext.py | 3 | Index: matplotlib-2.0.2/setupext.py |
| 4 | =================================================================== | 4 | =================================================================== |
| 5 | --- matplotlib-1.1.0.orig/setupext.py | 5 | --- matplotlib-2.0.2.orig/setupext.py |
| 6 | +++ matplotlib-1.1.0/setupext.py | 6 | +++ matplotlib-2.0.2/setupext.py |
| 7 | @@ -122,8 +122,8 @@ numpy_inc_dirs = [] | 7 | @@ -148,6 +148,7 @@ def has_include_file(include_dirs, filen |
| 8 | # matplotlib build options, which can be altered using setup.cfg | 8 | Returns `True` if `filename` can be found in one of the |
| 9 | options = {'display_status': True, | 9 | directories in `include_dirs`. |
| 10 | 'verbose': False, | 10 | """ |
| 11 | - 'provide_pytz': 'auto', | 11 | + return True |
| 12 | - 'provide_dateutil': 'auto', | 12 | if sys.platform == 'win32': |
| 13 | + 'provide_pytz': False, | 13 | include_dirs += os.environ.get('INCLUDE', '.').split(';') |
| 14 | + 'provide_dateutil': False, | 14 | for dir in include_dirs: |
| 15 | 'build_agg': True, | 15 | @@ -172,7 +173,7 @@ def get_base_dirs(): |
| 16 | 'build_gtk': 'auto', | 16 | Returns a list of standard base directories on this platform. |
| 17 | 'build_gtkagg': 'auto', | 17 | """ |
| 18 | @@ -176,10 +176,7 @@ if os.path.exists(setup_cfg): | 18 | if options['basedirlist']: |
| 19 | except: pass | 19 | - return options['basedirlist'] |
| 20 | + return [os.environ['STAGING_LIBDIR']] | ||
| 20 | 21 | ||
| 21 | # For get_base_flags: | 22 | basedir_map = { |
| 22 | -if options['basedirlist']: | 23 | 'win32': ['win32_static', ], |
| 23 | - basedirlist = options['basedirlist'].split() | 24 | @@ -260,14 +261,6 @@ def make_extension(name, files, *args, * |
| 24 | -else: | 25 | `distutils.core.Extension` constructor. |
| 25 | - basedirlist = basedir[sys.platform] | 26 | """ |
| 26 | +basedirlist = [os.environ['STAGING_LIBDIR']] | 27 | ext = DelayedExtension(name, files, *args, **kwargs) |
| 27 | print("basedirlist is: %s" % basedirlist) | 28 | - for dir in get_base_dirs(): |
| 29 | - include_dir = os.path.join(dir, 'include') | ||
| 30 | - if os.path.exists(include_dir): | ||
| 31 | - ext.include_dirs.append(include_dir) | ||
| 32 | - for lib in ('lib', 'lib64'): | ||
| 33 | - lib_dir = os.path.join(dir, lib) | ||
| 34 | - if os.path.exists(lib_dir): | ||
| 35 | - ext.library_dirs.append(lib_dir) | ||
| 36 | ext.include_dirs.append('.') | ||
| 28 | 37 | ||
| 29 | if options['display_status']: | 38 | return ext |
| 30 | @@ -555,8 +552,8 @@ def check_for_numpy(): | 39 | @@ -314,6 +307,7 @@ class PkgConfig(object): |
| 40 | " matplotlib may not be able to find some of its dependencies") | ||
| 31 | 41 | ||
| 32 | def add_numpy_flags(module): | 42 | def set_pkgconfig_path(self): |
| 33 | "Add the modules flags to build extensions which use numpy" | 43 | + return |
| 34 | - import numpy | 44 | pkgconfig_path = sysconfig.get_config_var('LIBDIR') |
| 35 | - module.include_dirs.append(numpy.get_include()) | 45 | if pkgconfig_path is None: |
| 36 | + # Hard-coded path for OE since I know this is where numpy's include dir will be | 46 | return |
| 37 | + module.include_dirs.append(os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/')) | 47 | @@ -875,14 +869,14 @@ class Numpy(SetupPackage): |
| 48 | reload(numpy) | ||
| 38 | 49 | ||
| 39 | def add_png_flags(module): | 50 | ext = Extension('test', []) |
| 40 | try_pkgconfig(module, 'libpng', 'png') | 51 | - ext.include_dirs.append(numpy.get_include()) |
| 52 | + ext.include_dirs.append(os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/')) | ||
| 53 | if not has_include_file( | ||
| 54 | ext.include_dirs, os.path.join("numpy", "arrayobject.h")): | ||
| 55 | warnings.warn( | ||
| 56 | "The C headers for numpy could not be found. " | ||
| 57 | "You may need to install the development package") | ||
| 58 | |||
| 59 | - return [numpy.get_include()] | ||
| 60 | + return [os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/')] | ||
| 61 | |||
| 62 | def check(self): | ||
| 63 | min_version = extract_versions()['__version__numpy__'] | ||
| 64 | Index: matplotlib-2.0.2/setup.py | ||
| 65 | =================================================================== | ||
| 66 | --- matplotlib-2.0.2.orig/setup.py | ||
| 67 | +++ matplotlib-2.0.2/setup.py | ||
| 68 | @@ -66,28 +66,6 @@ mpl_packages = [ | ||
| 69 | setupext.Python(), | ||
| 70 | setupext.Platform(), | ||
| 71 | 'Required dependencies and extensions', | ||
| 72 | - setupext.Numpy(), | ||
| 73 | - setupext.Six(), | ||
| 74 | - setupext.Dateutil(), | ||
| 75 | - setupext.FuncTools32(), | ||
| 76 | - setupext.Subprocess32(), | ||
| 77 | - setupext.Pytz(), | ||
| 78 | - setupext.Cycler(), | ||
| 79 | - setupext.Tornado(), | ||
| 80 | - setupext.Pyparsing(), | ||
| 81 | - setupext.LibAgg(), | ||
| 82 | - setupext.FreeType(), | ||
| 83 | - setupext.FT2Font(), | ||
| 84 | - setupext.Png(), | ||
| 85 | - setupext.Qhull(), | ||
| 86 | - setupext.Image(), | ||
| 87 | - setupext.TTConv(), | ||
| 88 | - setupext.Path(), | ||
| 89 | - setupext.ContourLegacy(), | ||
| 90 | - setupext.Contour(), | ||
| 91 | - setupext.Delaunay(), | ||
| 92 | - setupext.QhullWrap(), | ||
| 93 | - setupext.Tri(), | ||
| 94 | 'Optional subpackages', | ||
| 95 | setupext.SampleData(), | ||
| 96 | setupext.Toolkits(), | ||
| 97 | @@ -100,13 +78,8 @@ mpl_packages = [ | ||
| 98 | setupext.BackendMacOSX(), | ||
| 99 | setupext.BackendQt5(), | ||
| 100 | setupext.BackendQt4(), | ||
| 101 | - setupext.BackendGtk3Agg(), | ||
| 102 | setupext.BackendGtk3Cairo(), | ||
| 103 | - setupext.BackendGtkAgg(), | ||
| 104 | - setupext.BackendTkAgg(), | ||
| 105 | - setupext.BackendWxAgg(), | ||
| 106 | setupext.BackendGtk(), | ||
| 107 | - setupext.BackendAgg(), | ||
| 108 | setupext.BackendCairo(), | ||
| 109 | setupext.Windowing(), | ||
| 110 | 'Optional LaTeX dependencies', | ||
diff --git a/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb b/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb deleted file mode 100644 index 133e66da43..0000000000 --- a/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | DESCRIPTION = "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats" | ||
| 2 | SECTION = "devel/python" | ||
| 3 | LICENSE = "PSF" | ||
| 4 | LIC_FILES_CHKSUM = "file://README.txt;md5=83c5bf8b16a5f99507f2f47a21ae3b81" | ||
| 5 | PR = "r1" | ||
| 6 | |||
| 7 | DEPENDS += "python-numpy freetype libpng python-dateutil python-pytz" | ||
| 8 | RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz" | ||
| 9 | |||
| 10 | SRC_URI = "${SOURCEFORGE_MIRROR}/matplotlib/matplotlib-${PV}.tar.gz \ | ||
| 11 | file://fix_setup.patch \ | ||
| 12 | file://fix_setupext.patch \ | ||
| 13 | " | ||
| 14 | |||
| 15 | S = "${WORKDIR}/matplotlib-${PV}" | ||
| 16 | |||
| 17 | EXTRA_OECONF = "--disable-docs --with-python-includes=${STAGING_INCDIR}/../" | ||
| 18 | |||
| 19 | inherit distutils | ||
| 20 | |||
| 21 | do_compile_prepend() { | ||
| 22 | ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \ | ||
| 23 | true | ||
| 24 | } | ||
| 25 | |||
| 26 | # need to export these variables for python-config to work | ||
| 27 | export PYTHONPATH | ||
| 28 | export STAGING_INCDIR | ||
| 29 | export STAGING_LIBDIR | ||
| 30 | |||
| 31 | |||
| 32 | SRC_URI[md5sum] = "57a627f30b3b27821f808659889514c2" | ||
| 33 | SRC_URI[sha256sum] = "be37e1d86c65ecacae6683f8805e051e9904e5f2e02bf2b7a34262c46a6d06a7" | ||
diff --git a/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb b/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb new file mode 100644 index 0000000000..5b1c3f05b9 --- /dev/null +++ b/meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | DESCRIPTION = "matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats" | ||
| 2 | SECTION = "devel/python" | ||
| 3 | LICENSE = "PSF" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74" | ||
| 5 | |||
| 6 | DEPENDS += "python-numpy freetype libpng python-dateutil python-pytz" | ||
| 7 | RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz" | ||
| 8 | |||
| 9 | SRC_URI = "https://github.com/matplotlib/matplotlib/archive/v${PV}.tar.gz \ | ||
| 10 | file://fix_setupext.patch \ | ||
| 11 | " | ||
| 12 | SRC_URI[md5sum] = "89717c1ef3c6fdcd6fb1f3b597a4858c" | ||
| 13 | SRC_URI[sha256sum] = "aebed23921562792b68b8ca355de5abc176af4424f1987e2fa95f65e5c5e7e89" | ||
| 14 | S = "${WORKDIR}/matplotlib-${PV}" | ||
| 15 | EXTRA_OECONF = "--disable-docs" | ||
| 16 | |||
| 17 | inherit setuptools pkgconfig | ||
| 18 | |||
