You've already forked macports-ports
mirror of
https://github.com/macports/macports-ports.git
synced 2026-03-31 14:42:53 -07:00
210 lines
7.1 KiB
Tcl
210 lines
7.1 KiB
Tcl
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
|
|
|
|
PortSystem 1.0
|
|
PortGroup python 1.0
|
|
PortGroup compiler_wrapper 1.0
|
|
|
|
name py27-matplotlib
|
|
python.rootname matplotlib
|
|
version 2.2.5
|
|
revision 4
|
|
|
|
categories-append graphics math
|
|
license {PSF BSD}
|
|
maintainers {reneeotten @reneeotten} openmaintainer
|
|
|
|
description Matplotlib is a python plotting library
|
|
long_description Matplotlib strives to produce publication quality 2D \
|
|
graphics for interactive graphing, scientific publishing, \
|
|
user interface development and web application servers \
|
|
targeting multiple user interfaces and hardcopy output \
|
|
formats. There is a 'pylab' mode which emulates matlab \
|
|
graphics. The library uses numpy for handling large data \
|
|
sets and supports a variety of output backends. This port \
|
|
provides variants for the different GUIs (gtk2, gtk3, \
|
|
tkinter, qt4, qt5, cairo, latex).
|
|
|
|
homepage https://matplotlib.org/
|
|
|
|
checksums rmd160 4532a205e8f40d6f40346b2e461d3dca144b38b9 \
|
|
sha256 a3037a840cd9dfdc2df9fee8af8f76ca82bfab173c0f9468193ca7a89a2b60ea \
|
|
size 36678633
|
|
|
|
use_parallel_build no
|
|
|
|
python.versions 27
|
|
python.pep517 no
|
|
|
|
compiler.cxx_standard 2011
|
|
|
|
depends_build-append \
|
|
path:bin/pkg-config:pkgconfig \
|
|
port:py${python.version}-setuptools
|
|
|
|
depends_lib-append \
|
|
port:freetype \
|
|
port:qhull \
|
|
port:py${python.version}-cycler \
|
|
port:py${python.version}-dateutil \
|
|
port:py${python.version}-kiwisolver \
|
|
port:py${python.version}-numpy \
|
|
port:py${python.version}-parsing \
|
|
port:libpng \
|
|
port:py${python.version}-backports-functools_lru_cache \
|
|
port:py${python.version}-six \
|
|
port:py${python.version}-subprocess32 \
|
|
port:py${python.version}-tz
|
|
|
|
if {${python.version} < 310} {
|
|
depends_lib-append \
|
|
port:py${python.version}-importlib-resources
|
|
}
|
|
|
|
set configfile setup.cfg
|
|
|
|
patchfiles patch-setup.cfg.diff \
|
|
patch-qhull.diff \
|
|
patch-setupext.py.diff \
|
|
patch-jquery-ui.diff \
|
|
patch-src_ft2font.cpp.diff
|
|
|
|
variant gtk2 description "Enable GTKAgg backend" {
|
|
depends_lib-append port:py${python.version}-pygtk
|
|
post-patch {
|
|
reinplace "s|^gtk=False|gtk=True|" ${worksrcpath}/${configfile}
|
|
reinplace "s|^gtkagg=False|gtkagg=True|" ${worksrcpath}/${configfile}
|
|
}
|
|
}
|
|
|
|
post-patch {
|
|
reinplace "s|@@PREFIX@@|${prefix}|" ${worksrcpath}/${configfile}
|
|
}
|
|
|
|
variant qt4 description "Enable Qt4Agg backend" {
|
|
depends_lib-append port:py${python.version}-pyqt4
|
|
post-patch {
|
|
reinplace "s|^qt4agg=False|qt4agg=True|" ${worksrcpath}/${configfile}
|
|
}
|
|
}
|
|
|
|
# jquery-ui is included in the PyPI files, patch added for setup.py that avoids trying
|
|
# to install if from the cache or download from URL. Just copy the directory in the post-
|
|
# build phase.
|
|
post-build {
|
|
set libdir [glob -nocomplain ${worksrcpath}/build/lib*]
|
|
if {![file exists ${libdir}/matplotlib/backends/web_backend/jquery-ui-1.12.1]} {
|
|
file copy ${worksrcpath}/lib/matplotlib/backends/web_backend/jquery-ui-1.12.1 \
|
|
${libdir}/matplotlib/backends/web_backend/ \
|
|
}
|
|
}
|
|
|
|
build.env-append \
|
|
PKG_CONFIG_PATH=${python.prefix}/lib/pkgconfig \
|
|
CFLAGS=${configure.cxxflags} \
|
|
CXXFLAGS=${configure.cxxflags} \
|
|
|
|
destroot.env-append \
|
|
PKG_CONFIG_PATH=${python.prefix}/lib/pkgconfig \
|
|
CFLAGS=${configure.cxxflags} \
|
|
CXXFLAGS=${configure.cxxflags} \
|
|
|
|
# build fails with gcc-4.0 on Leopard, use gcc-4.2 (#37069)
|
|
compiler.blacklist gcc-4.0
|
|
|
|
# additionally on Leopard the macosx backend cannot be compiled anymore, see Trac ticket:
|
|
# https://trac.macports.org/ticket/61757
|
|
# this is a compiler issue, not OS version issue; this backend should be disabled for gcc.
|
|
# cc1obj: error: '-Werror=unguarded-availability': no option '-Wunguarded-availability'
|
|
# src/_macosx.m: error: incompatible type for argument 1 of 'updateDevicePixelRatio'
|
|
# src/_macosx.m: error: incompatible types when initializing type 'CGFloat' {aka 'float'} using type 'id'
|
|
if {[string match *gcc* ${configure.compiler}]} {
|
|
post-patch {
|
|
reinplace "s|^macosx=True|macosx=False|" ${worksrcpath}/${configfile}
|
|
}
|
|
}
|
|
|
|
post-destroot {
|
|
xinstall -d ${destroot}${prefix}/share/doc/${subport} \
|
|
${destroot}${prefix}/share/${subport}
|
|
xinstall -m 0644 {*}[glob ${worksrcpath}/README.*] \
|
|
${destroot}${prefix}/share/doc/${subport}
|
|
xinstall -m 0644 -W ${worksrcpath} matplotlibrc.template \
|
|
${destroot}${prefix}/share/doc/${subport}
|
|
file copy ${worksrcpath}/examples \
|
|
${destroot}${prefix}/share/${subport}
|
|
}
|
|
|
|
variant webagg description "Enable WebAgg backend" {
|
|
depends_lib-append port:py${python.version}-tornado
|
|
}
|
|
|
|
variant tkinter description "Enable TkAgg backend" {
|
|
depends_lib-append port:py${python.version}-tkinter
|
|
|
|
post-patch {
|
|
reinplace "s|^tkagg=False|tkagg=True|" ${worksrcpath}/${configfile}
|
|
}
|
|
}
|
|
|
|
variant gtk3 description "Enable GTK3Agg backend" {
|
|
depends_lib-append port:py${python.version}-gobject3 \
|
|
path:lib/pkgconfig/gtk+-3.0.pc:gtk3
|
|
|
|
post-patch {
|
|
reinplace "s|^gtk3agg=False|gtk3agg=True|" ${worksrcpath}/${configfile}
|
|
}
|
|
}
|
|
|
|
variant qt5 description "Enable Qt5Agg backend" {
|
|
depends_lib-append port:py${python.version}-pyqt5
|
|
|
|
post-patch {
|
|
reinplace "s|^qt5agg=False|qt5agg=True|" ${worksrcpath}/${configfile}
|
|
}
|
|
}
|
|
|
|
variant cairo description "Enable Cairo backends" {
|
|
depends_lib-append port:py${python.version}-cairo
|
|
|
|
post-patch {
|
|
reinplace "s|^cairo=False|cairo=True|" ${worksrcpath}/${configfile}
|
|
}
|
|
}
|
|
|
|
variant dvipng description "Enable dvipng support" {
|
|
depends_run-append port:dvipng
|
|
}
|
|
|
|
variant ghostscript description "Enable GhostScript support" {
|
|
depends_run-append port:ghostscript
|
|
}
|
|
|
|
variant latex description "Enable LaTeX support" {
|
|
depends_run-append bin:latex:texlive
|
|
}
|
|
|
|
variant pdftops description "Enable pdftops support" {
|
|
depends_run-append bin:pdftops:poppler
|
|
}
|
|
|
|
default_variants +webagg
|
|
|
|
if {![variant_isset gtk2] && ![variant_isset tkinter] && ![variant_isset qt5] &&
|
|
![variant_isset qt4]} {
|
|
default_variants-append +cairo
|
|
}
|
|
|
|
if {[variant_isset gtk3] && [variant_isset cairo]} {
|
|
post-patch {
|
|
reinplace "s|^gtk3cairo=False|gtk3cairo=True|" ${worksrcpath}/${configfile}
|
|
}
|
|
}
|
|
|
|
notes "The default backend is the interactive Mac OS X backend. Different\
|
|
backends can be specified using the ~/.matplotlib/matplotlibrc file.\
|
|
More details regarding backends can be found in the matplotlib FAQ:
|
|
|
|
https://matplotlib.org/stable/users/explain/backends.html"
|
|
|
|
livecheck.type none
|