[109052] trunk/dports/python/py-matplotlib

stromnov at macports.org stromnov at macports.org
Wed Aug 7 02:49:15 PDT 2013


Revision: 109052
          https://trac.macports.org/changeset/109052
Author:   stromnov at macports.org
Date:     2013-08-07 02:49:15 -0700 (Wed, 07 Aug 2013)
Log Message:
-----------
py-matplotlib: update to version 1.3.0

Modified Paths:
--------------
    trunk/dports/python/py-matplotlib/Portfile
    trunk/dports/python/py-matplotlib/files/patch-setup.cfg.diff
    trunk/dports/python/py-matplotlib/files/patch-setupext.py.diff

Added Paths:
-----------
    trunk/dports/python/py-matplotlib/files/patch-setup.py.diff

Modified: trunk/dports/python/py-matplotlib/Portfile
===================================================================
--- trunk/dports/python/py-matplotlib/Portfile	2013-08-07 09:48:04 UTC (rev 109051)
+++ trunk/dports/python/py-matplotlib/Portfile	2013-08-07 09:49:15 UTC (rev 109052)
@@ -5,9 +5,10 @@
 PortGroup           python 1.0
 PortGroup           github 1.0
 
-github.setup        matplotlib matplotlib 1.2.1 v
+github.setup        matplotlib matplotlib 1.3.0 v
 
 name                py-matplotlib
+revision            0
 categories-append   graphics math
 platforms           darwin
 license             {PSF BSD}
@@ -30,8 +31,8 @@
 
 homepage            http://matplotlib.org/
 
-checksums           rmd160  c27142f1d6665bc6a748f601558045e7d801dbef \
-                    sha256  52e18972aed85f30b05cef41778ec77685df6012f0598cd216e996de9b9ea29b
+checksums           rmd160  61554fbe3c97f82e0d8d605beb63f00230589497 \
+                    sha256  fccf0a0ae9578c570455c38df414da2c795253371816b77e66c0a959f7c117ff
 
 if {${name} != ${subport}} {
     depends_build-append \
@@ -39,19 +40,20 @@
 
     depends_lib-append  port:freetype \
                         port:libpng \
+                        port:py${python.version}-numpy \
                         port:py${python.version}-tz \
                         port:py${python.version}-dateutil \
-                        port:py${python.version}-numpy \
+                        port:py${python.version}-parsing \
+                        port:py${python.version}-six \
                         port:py${python.version}-pyobjc-cocoa
 
-    patchfiles          patch-setupext.py.diff \
-                        patch-setup.cfg.diff
+    patchfiles-append   patch-setup.cfg.diff \
+                        patch-setupext.py.diff
 
-    build.env           MPLIB_BASE="${prefix}" PKG_CONFIG_PATH="${python.prefix}/lib/pkgconfig/"
+    build.env           PKG_CONFIG_PATH="${python.prefix}/lib/pkgconfig"
 
     post-patch {
-        reinplace "s|@@MPORTS_PREFIX@@|${prefix}|" ${worksrcpath}/setupext.py
-        reinplace "s|@@PYTHON_BRANCH@@|${prefix}|" ${worksrcpath}/setupext.py
+        reinplace "s|@@PREFIX@@|${prefix}|" ${worksrcpath}/setup.cfg
     }
 
     # build fails with gcc-4.0 on Leopard, use gcc-4.2 (#37069)
@@ -63,17 +65,21 @@
         if {${name} != ${subport}} {
             xinstall -m 755 -d ${destroot}${prefix}/share/doc/${subport} \
                 ${destroot}${prefix}/share/${subport}
-            xinstall -m 644 -W ${worksrcpath} CHANGELOG README.txt TODO \
+            xinstall -m 644 -W ${worksrcpath} CHANGELOG README.rst TODO matplotlibrc.template \
                 ${destroot}${prefix}/share/doc/${subport}
             file copy ${worksrcpath}/examples \
                 ${destroot}${prefix}/share/${subport}
         }
     }
 
-    variant cairo description "Enable Cairo backends" {
-        depends_lib-append  port:py${python.version}-cairo
+    variant webagg description "Enable WebAgg backend" {
+        depends_run-append  port:py${python.version}-tornado
+    }
+
+    variant tkinter description "Enable tkAgg backend" {
+        depends_lib-append  port:py${python.version}-tkinter
         post-patch {
-            reinplace "s|MP_Cairo=False|MP_Cairo=True|" ${worksrcpath}/setupext.py
+            reinplace "s|^tkagg=False|tkagg=True|" ${worksrcpath}/setup.cfg
         }
     }
 
@@ -85,35 +91,45 @@
         }
     }
 
-    variant tkinter description "Enable tkAgg backend" {
-        depends_lib-append  port:py${python.version}-tkinter
+    variant qt4 description "Enable QT4Agg backend" {
+        depends_lib-append  port:py${python.version}-pyqt4
         post-patch {
-            reinplace "s|^tkagg=False|tkagg=True|" ${worksrcpath}/setup.cfg
+            reinplace "s|^qt4agg=False|qt4agg=True|" ${worksrcpath}/setup.cfg
         }
     }
 
-    variant qt4 description "Enable QT4Agg backend" {
-        depends_lib-append  port:py${python.version}-pyqt4
+    variant pyside description "Enable PySide backend" {
+        depends_lib-append  port:py${python.version}-pyside
+        patchfiles-append   patch-setup.py.diff
         post-patch {
-            reinplace "s|MP_QT4=False|MP_QT4=True|" ${worksrcpath}/setupext.py
+            reinplace "s|^pyside=False|pyside=True|" ${worksrcpath}/setup.cfg
         }
     }
 
-    variant latex description "Enable LaTeX support" {
-        depends_lib-append  bin:latex:texlive
+    variant cairo description "Enable Cairo backends" {
+        depends_lib-append  port:py${python.version}-cairo
         post-patch {
-            reinplace "s|MP_LaTeX=False|MP_LaTeX=True|" ${worksrcpath}/setupext.py
+            reinplace "s|^cairo=False|cairo=True|" ${worksrcpath}/setup.cfg
         }
     }
 
+    variant dvipng description "Enable dvipng support" {
+        depends_run-append  port:dvipng
+    }
+
     variant ghostscript description "Enable GhostScript support" {
-        depends_lib-append  port:ghostscript
-        post-patch {
-            reinplace "s|MP_GhostScript=False|MP_GhostScript=True|" ${worksrcpath}/setupext.py
-        }
+        depends_run-append  port:ghostscript
     }
 
-    if { ![variant_isset gtk2] && ![variant_isset tkinter] && ![variant_isset qt4] } {
+    variant latex description "Enable LaTeX support" {
+        depends_run-append  bin:latex:texlive
+    }
+
+    variant pdftops description "Enable pdftops support" {
+        depends_run-append  bin:pdftops:poppler
+    }
+
+    if { ![variant_isset gtk2] && ![variant_isset tkinter] && ![variant_isset qt4] && ![variant_isset pyside] } {
         default_variants    +tkinter
     }
 

Modified: trunk/dports/python/py-matplotlib/files/patch-setup.cfg.diff
===================================================================
--- trunk/dports/python/py-matplotlib/files/patch-setup.cfg.diff	2013-08-07 09:48:04 UTC (rev 109051)
+++ trunk/dports/python/py-matplotlib/files/patch-setup.cfg.diff	2013-08-07 09:49:15 UTC (rev 109052)
@@ -1,12 +1,27 @@
---- setup.cfg	1970-01-01 01:00:00.000000000 +0100
-+++ setup.cfg	2012-02-02 23:16:14.000000000 +0000
-@@ -0,0 +1,9 @@
+--- setup.cfg	2013-08-07 11:50:33.000000000 +0400
++++ setup.cfg	2013-08-07 11:54:34.000000000 +0400
+@@ -0,0 +1,24 @@
 +[gui_support]
++agg=False
++tkagg=False
 +gtk=False
 +gtkagg=False
-+tkagg=False
++gtk3agg=False
++gtk3cairo=False
 +wxagg=False
 +macosx=True
++windowing=False
++qt4agg=False
++pyside=False
++cairo=False
 +
++[packages]
++sample_data=True
++toolkits=True
++tests=False
++
 +[rc_options]
 +backend=MacOSX
++
++[directories]
++basedirlist=@@PREFIX@@

Added: trunk/dports/python/py-matplotlib/files/patch-setup.py.diff
===================================================================
--- trunk/dports/python/py-matplotlib/files/patch-setup.py.diff	                        (rev 0)
+++ trunk/dports/python/py-matplotlib/files/patch-setup.py.diff	2013-08-07 09:49:15 UTC (rev 109052)
@@ -0,0 +1,10 @@
+--- setup.py.orig	2013-08-07 12:15:32.000000000 +0400
++++ setup.py	2013-08-07 12:15:45.000000000 +0400
+@@ -86,6 +86,7 @@
+     # work will be selected as the default backend.
+     setupext.BackendMacOSX(),
+     setupext.BackendQt4(),
++    setupext.BackendPySide(),
+     setupext.BackendGtk3Agg(),
+     setupext.BackendGtk3Cairo(),
+     setupext.BackendGtkAgg(),

Modified: trunk/dports/python/py-matplotlib/files/patch-setupext.py.diff
===================================================================
--- trunk/dports/python/py-matplotlib/files/patch-setupext.py.diff	2013-08-07 09:48:04 UTC (rev 109051)
+++ trunk/dports/python/py-matplotlib/files/patch-setupext.py.diff	2013-08-07 09:49:15 UTC (rev 109052)
@@ -1,252 +1,71 @@
---- setupext.py	2012-11-08 10:38:38.000000000 -0600
-+++ setupext.py	2012-11-17 10:46:42.000000000 -0600
-@@ -57,7 +57,7 @@
- basedir = defaultdict(lambda: ['/usr/local', '/usr'], {
-     # execptions to the ['/usr/local', '/usr'] defaults
-     'win32'  : ['win32_static',],
--    'darwin' : ['/usr/local/', '/usr', '/usr/X11', '/opt/local'],
-+    'darwin' : ['@@MPORTS_PREFIX@@'],
-     'sunos5' : [os.getenv('MPLIB_BASE') or '/usr/local',],
-     'gnu0' : ['/usr'],
-     'aix5' : ['/usr/local'],
-@@ -386,6 +386,7 @@
-                      [os.path.join(p, 'lib64')     for p in basedirlist ] )
+--- setupext.py.orig	2013-08-06 23:52:36.000000000 +0400
++++ setupext.py	2013-08-07 12:05:00.000000000 +0400
+@@ -1234,6 +1234,18 @@
+             ext.library_dirs.extend([os.path.join(sys.prefix, 'dlls')])
  
-     module.include_dirs.extend(incdirs)
-+    module.include_dirs.extend(['@@MPORTS_PREFIX@@/include/python@@PYTHON_BRANCH@@'])
-     module.include_dirs.append('.')
-     module.library_dirs.extend(libdirs)
+         elif sys.platform == 'darwin':
++            tcl_lib_dir = tk_lib_dir = os.path.join(get_base_dirs()[0], 'lib')
++            result = self.parse_tcl_config(tcl_lib_dir, tk_lib_dir)
++            if result is None:
++                raise SystemExit("Tcl/Tk not found, aborting")
++
++            (tcl_lib_dir, tcl_inc_dir, tcl_lib,
++             tk_lib_dir, tk_inc_dir, tk_lib) = result
++            ext.include_dirs.extend([tcl_inc_dir, tk_inc_dir])
++            ext.library_dirs.extend([tcl_lib_dir, tk_lib_dir])
++            ext.libraries.extend([tcl_lib, tk_lib])
++
++            return
+             # this config section lifted directly from Imaging - thanks to
+             # the effbot!
  
-@@ -404,33 +405,43 @@
-     return '.'.join(temp)
+@@ -1476,6 +1488,9 @@
+     name = "gtk3agg"
  
- def check_for_qt():
--    try:
--        import pyqtconfig
--    except ImportError:
-+    MP_QT=False
-+    if MP_QT:
-+        try:
-+            import pyqtconfig
-+        except ImportError:
-+            print_status("Qt", "no")
-+            return False
-+        else:
-+            try:
-+                qt_version = pyqtconfig.Configuration().qt_version
-+                qt_version = convert_qt_version(qt_version)
-+            except AttributeError:
-+                qt_version = "<unknown>"
-+            print_status("Qt", "Qt: %s, PyQt: %s" %
-+                         (qt_version,
-+                          pyqtconfig.Configuration().pyqt_version_str))
-+            return True
-+    else:
-         print_status("Qt", "no")
-         return False
--    else:
--        try:
--            qt_version = pyqtconfig.Configuration().qt_version
--            qt_version = convert_qt_version(qt_version)
--        except AttributeError:
--            qt_version = "<unknown>"
--        print_status("Qt", "Qt: %s, PyQt: %s" %
--                     (qt_version,
--                      pyqtconfig.Configuration().pyqt_version_str))
--        return True
+     def check(self):
++        if self.get_config() is False:
++            raise CheckFailed("skipping due to configuration")
++
+         if 'TRAVIS' in os.environ:
+             raise CheckFailed("Can't build with Travis")
  
- def check_for_qt4():
--    try:
--        from PyQt4 import pyqtconfig
--    except ImportError:
-+    MP_QT4=False
-+    if MP_QT4:
-+        try:
-+            from PyQt4 import pyqtconfig
-+        except ImportError:
-+            print_status("Qt4", "no")
-+            return False
-+        else:
-+            print_status("Qt4", "Qt: %s, PyQt4: %s" %
-+                         (convert_qt_version(pyqtconfig.Configuration().qt_version),
-+                          pyqtconfig.Configuration().pyqt_version_str))
-+            return True
-+    else:
-         print_status("Qt4", "no")
-         return False
--    else:
--        print_status("Qt4", "Qt: %s, PyQt4: %s" %
--                     (convert_qt_version(pyqtconfig.Configuration().qt_version),
--                      pyqtconfig.Configuration().pyqt_version_str))
--        return True
+@@ -1534,6 +1549,9 @@
+     name = "gtk3cairo"
  
- def check_for_pyside():
-     try:
-@@ -445,14 +456,19 @@
-         return True
+     def check(self):
++        if self.get_config() is False:
++            raise CheckFailed("skipping due to configuration")
++
+         if 'TRAVIS' in os.environ:
+             raise CheckFailed("Can't build with Travis")
  
- def check_for_cairo():
--    try:
--        import cairo
--    except ImportError:
-+    MP_Cairo=False
-+    if MP_Cairo:
-+        try:
-+            import cairo
-+        except ImportError:
-+            print_status("Cairo", "no")
-+            return False
-+        else:
-+            print_status("Cairo", cairo.version)
-+            return True
-+    else:
-         print_status("Cairo", "no")
-         return False
--    else:
--        print_status("Cairo", cairo.version)
--        return True
+@@ -1562,6 +1580,9 @@
+     name = "wxagg"
  
- def check_provide_pytz():
-     if options['provide_pytz'] is True:
-@@ -531,36 +547,51 @@
+     def check(self):
++        if self.get_config() is False:
++            raise CheckFailed("skipping due to configuration")
++
+         try:
+             import wxversion
+         except ImportError:
+@@ -1661,6 +1682,9 @@
+         return '.'.join(temp)
  
+     def check(self):
++        if self.get_config() is False:
++            raise CheckFailed("skipping due to configuration")
++
+         try:
+             from PyQt4 import pyqtconfig
+         except ImportError:
+@@ -1695,6 +1719,9 @@
+     name = "cairo"
  
- def check_for_dvipng():
--    try:
--        stdin, stdout = run_child_process('dvipng -version')
--        print_status("dvipng", stdout.readlines()[1].decode().split()[-1])
--        return True
--    except (IndexError, ValueError):
-+    MP_LaTeX=False
-+    if MP_LaTeX:
-+        try:
-+            stdin, stdout = run_child_process('dvipng -version')
-+            print_status("dvipng", stdout.readlines()[1].decode().split()[-1])
-+            return True
-+        except (IndexError, ValueError):
-+            print_status("dvipng", "no")
-+            return False
-+    else:
-         print_status("dvipng", "no")
-         return False
- 
- def check_for_ghostscript():
--    try:
--        if sys.platform == 'win32':
--            command = 'gswin32c --version'
--        else:
--            command = 'gs --version'
--        stdin, stdout = run_child_process(command)
--        print_status("ghostscript", stdout.read().decode()[:-1])
--        return True
--    except (IndexError, ValueError):
-+    MP_GhostScript=False
-+    if MP_GhostScript:
-+        try:
-+            if sys.platform == 'win32':
-+                command = 'gswin32c --version'
-+            else:
-+                command = 'gs --version'
-+            stdin, stdout = run_child_process(command)
-+            print_status("ghostscript", stdout.read().decode()[:-1])
-+            return True
-+        except (IndexError, ValueError):
-+            print_status("ghostscript", "no")
-+            return False
-+    else:
-         print_status("ghostscript", "no")
-         return False
- 
- def check_for_latex():
--    try:
--        stdin, stdout = run_child_process('latex -version')
--        line = stdout.readlines()[0].decode()
--        pattern = '(3\.1\d+)|(MiKTeX \d+.\d+)'
--        match = re.search(pattern, line)
--        print_status("latex", match.group(0))
--        return True
--    except (IndexError, ValueError, AttributeError):
-+    MP_LaTeX=False
-+    if MP_LaTeX:
-+        try:
-+            stdin, stdout = run_child_process('latex -version')
-+            line = stdout.readlines()[0].decode()
-+            pattern = '(3\.1\d+)|(MiKTeX \d+.\d+)'
-+            match = re.search(pattern, line)
-+            print_status("latex", match.group(0))
-+            return True
-+        except (IndexError, ValueError, AttributeError):
-+            print_status("latex", "no")
-+            return False
-+    else:
-         print_status("latex", "no")
-         return False
- 
-@@ -974,10 +1005,10 @@
-     return tcl_lib, tcl_inc, 'tcl' + tk_ver, tk_lib, tk_inc, 'tk' + tk_ver
- 
- def hardcoded_tcl_config():
--    tcl_inc = "/usr/local/include"
--    tk_inc = "/usr/local/include"
--    tcl_lib = "/usr/local/lib"
--    tk_lib = "/usr/local/lib"
-+    tcl_inc = "@@MPORTS_PREFIX@@/include"
-+    tk_inc = "@@MPORTS_PREFIX@@/include"
-+    tcl_lib = "@@MPORTS_PREFIX@@/lib"
-+    tk_lib = "@@MPORTS_PREFIX@@/lib"
-     return tcl_lib, tcl_inc, 'tcl', tk_lib, tk_inc, 'tk'
- 
- def add_tk_flags(module):
-@@ -998,52 +1029,6 @@
-             raise RuntimeError('No tk/win32 support for this python version yet')
-         module.library_dirs.extend([os.path.join(sys.prefix, 'dlls')])
- 
--    elif sys.platform == 'darwin':
--        # this config section lifted directly from Imaging - thanks to
--        # the effbot!
--
--        # First test for a MacOSX/darwin framework install
--        from os.path import join, exists
--        framework_dirs = [
--            join(os.getenv('HOME'), '/Library/Frameworks'),
--            '/Library/Frameworks',
--            '/System/Library/Frameworks/',
--        ]
--
--        # Find the directory that contains the Tcl.framework and Tk.framework
--        # bundles.
--        # XXX distutils should support -F!
--        tk_framework_found = 0
--        for F in framework_dirs:
--            # both Tcl.framework and Tk.framework should be present
--            for fw in 'Tcl', 'Tk':
--                if not exists(join(F, fw + '.framework')):
--                    break
--            else:
--                # ok, F is now directory with both frameworks. Continure
--                # building
--                tk_framework_found = 1
--                break
--        if tk_framework_found:
--            # For 8.4a2, we must add -I options that point inside the Tcl and Tk
--            # frameworks. In later release we should hopefully be able to pass
--            # the -F option to gcc, which specifies a framework lookup path.
--            #
--            tk_include_dirs = [
--                join(F, fw + '.framework', H)
--                for fw in ('Tcl', 'Tk')
--                for H in ('Headers', 'Versions/Current/PrivateHeaders')
--            ]
--
--            # For 8.4a2, the X11 headers are not included. Rather than include a
--            # complicated search, this is a hard-coded path. It could bail out
--            # if X11 libs are not found...
--            # tk_include_dirs.append('/usr/X11R6/include')
--            frameworks = ['-framework', 'Tcl', '-framework', 'Tk']
--            module.include_dirs.extend(tk_include_dirs)
--            module.extra_link_args.extend(frameworks)
--            module.extra_compile_args.extend(frameworks)
--
-     # you're still here? ok we'll try it this way...
-     else:
-         success = False
+     def check(self):
++        if self.get_config() is False:
++            raise CheckFailed("skipping due to configuration")
++
+         try:
+             import cairo
+         except ImportError:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130807/cecfd73f/attachment-0001.html>


More information about the macports-changes mailing list