[oe] [meta-python][PATCH 3/3] python3-matplotlib: fix dependencies and license

Nicola Lunghi nick83ola at gmail.com
Wed Mar 11 07:04:02 UTC 2020


* The license indicated in the old recipe (and in this) is the PSF not the BSD
that was indicated before.
* fixed the dependencies (looking at the recipe at meta-jupiter
https://github.com/Xilinx/meta-jupyter/tree/master/recipes-python/
* the setupext script was a leftover from the python2 recipe remove it for now
  but probably has to be put updated and put back in the future:
  -> all the module are installed by default and they have different licenses?

Signed-off-by: Nicola Lunghi <nick83ola at gmail.com>
---
 .../python-matplotlib/fix_setupext.patch      | 110 ------------------
 .../python/python3-matplotlib_3.1.1.bb        |  24 ++--
 2 files changed, 17 insertions(+), 117 deletions(-)
 delete mode 100644 meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch

diff --git a/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch b/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch
deleted file mode 100644
index 21b9094a1..000000000
--- a/meta-python/recipes-devtools/python/python-matplotlib/fix_setupext.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-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/meta-python/recipes-devtools/python/python3-matplotlib_3.1.1.bb b/meta-python/recipes-devtools/python/python3-matplotlib_3.1.1.bb
index 824680c24..1fb234c8e 100644
--- a/meta-python/recipes-devtools/python/python3-matplotlib_3.1.1.bb
+++ b/meta-python/recipes-devtools/python/python3-matplotlib_3.1.1.bb
@@ -4,16 +4,26 @@ Matplotlib is a Python 2D plotting library which produces \
 publication-quality figures in a variety of hardcopy formats \
 and interactive environments across platforms."
 HOMEPAGE = "https://github.com/matplotlib/matplotlib"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74"
-
-DEPENDS = "python3-numpy-native python3-numpy freetype libpng python3-dateutil python3-pytz"
-RDEPENDS_${PN} = "python3-numpy freetype libpng python3-dateutil python3-pytz"
+LICENSE = "PSF"
+LIC_FILES_CHKSUM = "\
+    file://setup.py;beginline=275;endline=275;md5=2a114620e4e6843aa7568d5902501753 \
+    file://LICENSE/LICENSE;md5=afec61498aa5f0c45936687da9a53d74 \
+"
+DEPENDS = "python3-numpy-native freetype libpng"
 
 SRC_URI[md5sum] = "f894af5564a588e880644123237251b7"
 SRC_URI[sha256sum] = "1febd22afe1489b13c6749ea059d392c03261b2950d1d45c17e3aed812080c93"
 
-PYPI_PACKAGE = "matplotlib"
-inherit pypi setuptools3
+inherit pypi setuptools3 pkgconfig
+
+EXTRA_OECONF = "--disable-docs"
+
+RDEPENDS_${PN} += "\
+    python3-numpy \
+    python3-pyparsing \
+    python3-cycler \
+    python3-dateutil \
+    python3-kiwisolver \
+"
 
 BBCLASSEXTEND = "native"
-- 
2.20.1



More information about the Openembedded-devel mailing list