From b9f9af812bc0bc53a45d3e7ef877698d4b49dbee Mon Sep 17 00:00:00 2001 From: Herb Kuta Date: Wed, 24 Apr 2019 15:45:29 -0700 Subject: [PATCH] DRAFT python-matplotlib_2.0.2.bb: Import from meta-oe@10c8c39c25d902ab5268fa48ac2bc0e42e65b179 --- .../python-matplotlib/fix_setupext.patch | 110 ++++++++++++++++++ .../python/python-matplotlib_2.0.2.bb | 18 +++ 2 files changed, 128 insertions(+) create mode 100644 recipes-devtools/python/python-matplotlib/fix_setupext.patch create mode 100644 recipes-devtools/python/python-matplotlib_2.0.2.bb diff --git a/recipes-devtools/python/python-matplotlib/fix_setupext.patch b/recipes-devtools/python/python-matplotlib/fix_setupext.patch new file mode 100644 index 0000000..21b9094 --- /dev/null +++ b/recipes-devtools/python/python-matplotlib/fix_setupext.patch @@ -0,0 +1,110 @@ +This fixes the numpy import problem in setupext.py using a hard-coded path. + +Index: matplotlib-2.0.2/setupext.py +=================================================================== +--- matplotlib-2.0.2.orig/setupext.py ++++ matplotlib-2.0.2/setupext.py +@@ -148,6 +148,7 @@ def has_include_file(include_dirs, filen + Returns `True` if `filename` can be found in one of the + directories in `include_dirs`. + """ ++ return True + if sys.platform == 'win32': + include_dirs += os.environ.get('INCLUDE', '.').split(';') + for dir in include_dirs: +@@ -172,7 +173,7 @@ def get_base_dirs(): + Returns a list of standard base directories on this platform. + """ + if options['basedirlist']: +- return options['basedirlist'] ++ return [os.environ['STAGING_LIBDIR']] + + basedir_map = { + 'win32': ['win32_static', ], +@@ -260,14 +261,6 @@ def make_extension(name, files, *args, * + `distutils.core.Extension` constructor. + """ + ext = DelayedExtension(name, files, *args, **kwargs) +- for dir in get_base_dirs(): +- include_dir = os.path.join(dir, 'include') +- if os.path.exists(include_dir): +- ext.include_dirs.append(include_dir) +- for lib in ('lib', 'lib64'): +- lib_dir = os.path.join(dir, lib) +- if os.path.exists(lib_dir): +- ext.library_dirs.append(lib_dir) + ext.include_dirs.append('.') + + return ext +@@ -314,6 +307,7 @@ class PkgConfig(object): + " matplotlib may not be able to find some of its dependencies") + + def set_pkgconfig_path(self): ++ return + pkgconfig_path = sysconfig.get_config_var('LIBDIR') + if pkgconfig_path is None: + return +@@ -875,14 +869,14 @@ class Numpy(SetupPackage): + reload(numpy) + + ext = Extension('test', []) +- ext.include_dirs.append(numpy.get_include()) ++ ext.include_dirs.append(os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/')) + if not has_include_file( + ext.include_dirs, os.path.join("numpy", "arrayobject.h")): + warnings.warn( + "The C headers for numpy could not be found. " + "You may need to install the development package") + +- return [numpy.get_include()] ++ return [os.path.join(os.environ['STAGING_LIBDIR'], 'python2.7/site-packages/numpy/core/include/')] + + def check(self): + min_version = extract_versions()['__version__numpy__'] +Index: matplotlib-2.0.2/setup.py +=================================================================== +--- matplotlib-2.0.2.orig/setup.py ++++ matplotlib-2.0.2/setup.py +@@ -66,28 +66,6 @@ mpl_packages = [ + setupext.Python(), + setupext.Platform(), + 'Required dependencies and extensions', +- setupext.Numpy(), +- setupext.Six(), +- setupext.Dateutil(), +- setupext.FuncTools32(), +- setupext.Subprocess32(), +- setupext.Pytz(), +- setupext.Cycler(), +- setupext.Tornado(), +- setupext.Pyparsing(), +- setupext.LibAgg(), +- setupext.FreeType(), +- setupext.FT2Font(), +- setupext.Png(), +- setupext.Qhull(), +- setupext.Image(), +- setupext.TTConv(), +- setupext.Path(), +- setupext.ContourLegacy(), +- setupext.Contour(), +- setupext.Delaunay(), +- setupext.QhullWrap(), +- setupext.Tri(), + 'Optional subpackages', + setupext.SampleData(), + setupext.Toolkits(), +@@ -100,13 +78,8 @@ mpl_packages = [ + setupext.BackendMacOSX(), + setupext.BackendQt5(), + setupext.BackendQt4(), +- setupext.BackendGtk3Agg(), + setupext.BackendGtk3Cairo(), +- setupext.BackendGtkAgg(), +- setupext.BackendTkAgg(), +- setupext.BackendWxAgg(), + setupext.BackendGtk(), +- setupext.BackendAgg(), + setupext.BackendCairo(), + setupext.Windowing(), + 'Optional LaTeX dependencies', diff --git a/recipes-devtools/python/python-matplotlib_2.0.2.bb b/recipes-devtools/python/python-matplotlib_2.0.2.bb new file mode 100644 index 0000000..5b1c3f0 --- /dev/null +++ b/recipes-devtools/python/python-matplotlib_2.0.2.bb @@ -0,0 +1,18 @@ +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://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74" + +DEPENDS += "python-numpy freetype libpng python-dateutil python-pytz" +RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz" + +SRC_URI = "https://github.com/matplotlib/matplotlib/archive/v${PV}.tar.gz \ + file://fix_setupext.patch \ +" +SRC_URI[md5sum] = "89717c1ef3c6fdcd6fb1f3b597a4858c" +SRC_URI[sha256sum] = "aebed23921562792b68b8ca355de5abc176af4424f1987e2fa95f65e5c5e7e89" +S = "${WORKDIR}/matplotlib-${PV}" +EXTRA_OECONF = "--disable-docs" + +inherit setuptools pkgconfig +