All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-python][PATCH] python-matplotlib: Upgrade to 2.0.2
@ 2017-09-01 22:27 Khem Raj
  0 siblings, 0 replies; only message in thread
From: Khem Raj @ 2017-09-01 22:27 UTC (permalink / raw)
  To: openembedded-devel

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../python/python-matplotlib/fix_setup.patch       |  29 -----
 .../python/python-matplotlib/fix_setupext.patch    | 136 ++++++++++++++++-----
 .../python/python-matplotlib_1.1.0.bb              |  33 -----
 .../python/python-matplotlib_2.0.2.bb              |  18 +++
 4 files changed, 121 insertions(+), 95 deletions(-)
 delete mode 100644 meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch
 delete mode 100644 meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb
 create mode 100644 meta-python/recipes-devtools/python/python-matplotlib_2.0.2.bb

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 938158353..000000000
--- a/meta-python/recipes-devtools/python/python-matplotlib/fix_setup.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-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)
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 9a13a1850..21b9094a1 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 @@
 This fixes the numpy import problem in setupext.py using a hard-coded path.
 
-Index: matplotlib-1.1.0/setupext.py
+Index: matplotlib-2.0.2/setupext.py
 ===================================================================
---- matplotlib-1.1.0.orig/setupext.py
-+++ matplotlib-1.1.0/setupext.py
-@@ -122,8 +122,8 @@ numpy_inc_dirs = []
- # matplotlib build options, which can be altered using setup.cfg
- options = {'display_status': True,
-            'verbose': False,
--           'provide_pytz': 'auto',
--           'provide_dateutil': 'auto',
-+           'provide_pytz': False,
-+           'provide_dateutil': False,
-            'build_agg': True,
-            'build_gtk': 'auto',
-            'build_gtkagg': 'auto',
-@@ -176,10 +176,7 @@ if os.path.exists(setup_cfg):
-     except: pass
+--- 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']]
  
- # 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)
+     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('.')
  
- if options['display_status']:
-@@ -555,8 +552,8 @@ def check_for_numpy():
+     return ext
+@@ -314,6 +307,7 @@ class PkgConfig(object):
+                     "    matplotlib may not be able to find some of its dependencies")
  
- 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 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)
  
- def add_png_flags(module):
-     try_pkgconfig(module, 'libpng', 'png')
+         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/python-matplotlib_1.1.0.bb b/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb
deleted file mode 100644
index 133e66da4..000000000
--- a/meta-python/recipes-devtools/python/python-matplotlib_1.1.0.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-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 python-dateutil python-pytz"
-RDEPENDS_${PN} = "python-core python-distutils python-numpy freetype libpng python-dateutil python-pytz"
-
-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() {
-    ${STAGING_BINDIR_NATIVE}/python setup.py build ${DISTUTILS_BUILD_ARGS} || \
-    true
-}
-
-# need to export these variables for python-config to work
-export PYTHONPATH
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-
-SRC_URI[md5sum] = "57a627f30b3b27821f808659889514c2"
-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 000000000..5b1c3f05b
--- /dev/null
+++ b/meta-python/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
+
-- 
2.14.1



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2017-09-01 22:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-01 22:27 [meta-python][PATCH] python-matplotlib: Upgrade to 2.0.2 Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.