dev-python/matplotlib: Clean old up

This commit is contained in:
Michał Górny
2018-01-05 00:34:25 +01:00
parent c59ef5f7a8
commit b35eee5221
8 changed files with 0 additions and 1107 deletions

View File

@@ -1,5 +1,2 @@
DIST matplotlib-1.4.3.tar.gz 49933525 BLAKE2B 40ea29ef7197d364f9caea63904b11231a4f74ca93184de8b1f8c7f78713cf887ea8a6fbee1b3f545c895eb353e0eeb5d65308657a3138986fb080ac44164427 SHA512 51b0f58b2618b47b653e17e4f6b6a1215d3a3b0f1331ce3555cc7435e365d9c75693f289ce12fe3bf8f69fd57b663e545f0f1c2c94e81eaa661cac0689e125f5
DIST matplotlib-1.5.3.tar.gz 51606089 BLAKE2B 6ec475298dc74082f66fa8aa8711b402503a1ce1d689e8617f9442f8857ef516bc5c9814c47d10d959e8aea365deee3f38962ce04c7318f3aa79d3d53bbb804e SHA512 553be9f661a1923d8ec7504a11dd3317e5ffb429c19339c58047715f4c28358d6d2ac38d46bd27ecd1dcf7159f157aab80d90713fbc4071e2e395bbf11ee6385
DIST matplotlib-2.0.2.tar.gz 53879938 BLAKE2B bf20503715a5b97f3666d6ea601850483250e72f2910ee94f7c4bbe59740827b5eb96a96b8992a5ecca7a523237d1f018b2d339d3d39fff9c6d0c9675ab27e48 SHA512 39d68aee87fac2c246cdee7941ffaae1b8d586fa75c351bc94f963def66df32c3aba13fa0be94e1f8d21f06e068565b1a79c6d4f65589d8dd23cd48b32ab474f
DIST matplotlib-2.1.0.tar.bz2 33051088 BLAKE2B 6a97909a44ca37c3ec09a9e723909bb0169828e56daeec5711220a6caac632d19e77ef2fc042a61cb82760c9750d04753654761a707b6265a038af9c55b91bd7 SHA512 872ff86e989b4e9352663f4abde1768aa05b1adea3e1b234efdb301429d421718314b27950e508d92df8fc9136764b07e8a6861b66512e9695a496993076bb5f
DIST matplotlib-2.1.0.tar.gz 35727251 BLAKE2B cac5cfd740066a0d9fc1fd0ad791c134e86b26359e483f0216d9efd36178a8776513e853d41ff231823cd5c54a3251727e21cd03c89149d85cb4a096f4179f32 SHA512 8f512400f1f15d5400e23dd8e402783c54f62567d412863530a982c6513206d49fb91fadb3ef477648a4a38d6dd032eb90741ff4495d2be71911f83677d768b4

View File

@@ -1,26 +0,0 @@
Increase the tolerance margin in order to pass tests caused by
freetype producing unreproducible images across different versions.
See also: https://github.com/matplotlib/matplotlib/issues/2667
--- a/lib/matplotlib/tests/test_mathtext.py
+++ b/lib/matplotlib/tests/test_mathtext.py
@@ -158,7 +158,7 @@
def make_set(basename, fontset, tests, extensions=None):
def make_test(filename, test):
@image_comparison(baseline_images=[filename], extensions=extensions,
- tol=32)
+ tol=40)
def single_test():
matplotlib.rcParams['mathtext.fontset'] = fontset
fig = plt.figure(figsize=(5.25, 0.75))
--- a/lib/matplotlib/tests/test_text.py
+++ b/lib/matplotlib/tests/test_text.py
@@ -18,7 +18,7 @@
from matplotlib.backends.backend_agg import RendererAgg
-@image_comparison(baseline_images=['font_styles'])
+@image_comparison(baseline_images=['font_styles'], tol=20)
def test_font_styles():
from matplotlib import _get_data_path
data_path = _get_data_path()

View File

@@ -1,27 +0,0 @@
diff --git a/lib/matplotlib/testing/decorators.py b/lib/matplotlib/testing/decorators.py
index 5e738ad9b..78b3f8169 100644
--- a/lib/matplotlib/testing/decorators.py
+++ b/lib/matplotlib/testing/decorators.py
@@ -266,7 +266,7 @@ class ImageComparisonTest(CleanupTest):
yield do_test, fignum, actual_fname, expected_fname
-def image_comparison(baseline_images=None, extensions=None, tol=0,
+def image_comparison(baseline_images=None, extensions=None, tol=20,
freetype_version=None, remove_text=False,
savefig_kwarg=None, style='_classic_test'):
"""
diff --git a/lib/matplotlib/tests/test_mathtext.py b/lib/matplotlib/tests/test_mathtext.py
index 39f5d7ef1..7681e5cb9 100644
--- a/lib/matplotlib/tests/test_mathtext.py
+++ b/lib/matplotlib/tests/test_mathtext.py
@@ -159,7 +159,8 @@ for fonts, chars in font_test_specs:
def make_set(basename, fontset, tests, extensions=None):
def make_test(filename, test):
- @image_comparison(baseline_images=[filename], extensions=extensions)
+ @image_comparison(baseline_images=[filename], extensions=extensions,
+ tol=40)
def single_test():
matplotlib.rcParams['mathtext.fontset'] = fontset
fig = plt.figure(figsize=(5.25, 0.75))

View File

@@ -1,13 +0,0 @@
diff --git a/lib/matplotlib/__init__.py b/lib/matplotlib/__init__.py
index 530c889a9..8231c2bb8 100644
--- a/lib/matplotlib/__init__.py
+++ b/lib/matplotlib/__init__.py
@@ -1609,7 +1609,7 @@ def test(verbosity=1):
# store the old values before overriding
plugins = _get_extra_test_plugins()
- plugins.extend([plugin() for plugin in nose.plugins.builtin.plugins])
+ plugins.extend(nose.plugins.builtin.plugins)
manager = PluginManager(plugins=[x() for x in plugins])
config = nose.config.Config(verbosity=verbosity, plugins=manager)

View File

@@ -1,263 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
PYTHON_REQ_USE='tk?,threads(+)'
inherit distutils-r1 eutils flag-o-matic multiprocessing virtualx toolchain-funcs
DESCRIPTION="Pure python plotting library with matlab like syntax"
HOMEPAGE="http://matplotlib.org/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
# Main license: matplotlib
# Some modules: BSD
# matplotlib/backends/qt4_editor: MIT
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="cairo doc excel examples fltk gtk2 gtk3 latex pyside qt4 qt5 test tk wxwidgets"
PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
REQUIRED_USE="
doc? ( ${PY2_FLAGS} )
excel? ( ${PY2_FLAGS} )
fltk? ( ${PY2_FLAGS} )
gtk2? ( ${PY2_FLAGS} )
wxwidgets? ( ${PY2_FLAGS} )
test? (
cairo fltk latex pyside qt5 qt4 tk wxwidgets
|| ( gtk2 gtk3 )
)"
# #456704 -- a lot of py2-only deps
PY2_USEDEP=$(python_gen_usedep python2_7)
COMMON_DEPEND="
dev-python/cycler[${PYTHON_USEDEP}]
>=dev-python/numpy-1.6[${PYTHON_USEDEP}]
dev-python/python-dateutil:0[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
>=dev-python/six-1.4[${PYTHON_USEDEP}]
media-fonts/stix-fonts
media-libs/freetype:2
media-libs/libpng:0
media-libs/qhull
cairo? ( dev-python/cairocffi[${PYTHON_USEDEP}] )
gtk2? (
dev-libs/glib:2=
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
dev-python/pygtk[${PY2_USEDEP}] )
wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
# internal copy of pycxx highly patched
# dev-python/pycxx
DEPEND="${COMMON_DEPEND}
dev-python/versioneer[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
virtual/pkgconfig
doc? (
app-text/dvipng
dev-python/pillow[${PYTHON_USEDEP}]
dev-python/ipython[${PYTHON_USEDEP}]
dev-python/mock[${PY2_USEDEP}]
dev-python/numpydoc[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/xlwt[${PYTHON_USEDEP}]
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexrecommended
media-gfx/graphviz[cairo]
)
test? (
dev-python/mock[${PYTHON_USEDEP}]
>=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
fltk? ( dev-python/pyfltk[${PYTHON_USEDEP}] )
gtk3? (
dev-python/pygobject:3[${PYTHON_USEDEP}]
x11-libs/gtk+:3[introspection] )
latex? (
virtual/latex-base
app-text/ghostscript-gpl
app-text/dvipng
app-text/poppler[utils]
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-xetex
)
pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
"
# A few C++ source files are written to srcdir.
# Other than that, the ebuild shall be fit for out-of-source build.
DISTUTILS_IN_SOURCE_BUILD=1
PATCHES=( "${FILESDIR}/${PN}-1.5.3-freetype-spurious-failure.patch" )
pkg_setup() {
unset DISPLAY # bug #278524
use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
}
use_setup() {
local uword="${2:-${1}}"
if use ${1}; then
echo "${uword} = True"
echo "${uword}agg = True"
else
echo "${uword} = False"
echo "${uword}agg = False"
fi
}
python_prepare_all() {
# Generates test failures, but fedora does it
# local PATCHES=(
# "${FILESDIR}"/${P}-unbundle-pycxx.patch
# "${FILESDIR}"/${P}-unbundle-agg.patch
# )
# rm -r agg24 CXX || die
# rm -r agg24 || die
# cat > lib/${PN}/externals/six.py <<-EOF
# from __future__ import absolute_import
# from six import *
# EOF
sed \
-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
|| die "sed pyparsing failed"
# suggested by upstream
# sed \
# -e '/tol/s:32:35:g' \
# -i lib/matplotlib/tests/test_mathtext.py || die
sed \
-e "s:/usr/:${EPREFIX}/usr/:g" \
-i setupext.py || die
export XDG_RUNTIME_DIR="${T}/runtime-dir"
mkdir "${XDG_RUNTIME_DIR}" || die
chmod 0700 "${XDG_RUNTIME_DIR}" || die
distutils-r1_python_prepare_all
}
python_configure_all() {
append-flags -fno-strict-aliasing
append-cppflags -DNDEBUG # or get old trying to do triangulation
tc-export PKG_CONFIG
}
python_configure() {
mkdir -p "${BUILD_DIR}" || die
# create setup.cfg (see setup.cfg.template for any changes).
# common switches.
cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
[directories]
basedirlist = "${EPREFIX}/usr"
[provide_packages]
pytz = False
dateutil = False
[gui_support]
agg = True
$(use_setup cairo)
$(use_setup pyside)
$(use_setup qt4)
$(use_setup qt5)
$(use_setup tk)
EOF
if use gtk3 && use cairo; then
echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
else
echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
fi
if $(python_is_python3); then
cat >> "${BUILD_DIR}"/setup.cfg <<- EOF || die
six = True
fltk = False
fltkagg = False
gtk = False
gtkagg = False
wx = False
wxagg = False
EOF
else
cat >> "${BUILD_DIR}"/setup.cfg <<-EOF || die
six = False
$(use_setup fltk)
$(use_setup gtk2 gtk)
$(use_setup gtk3)
$(use_setup wxwidgets wx)
EOF
fi
}
wrap_setup() {
local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
export MPLSETUPCFG
unset DISPLAY
# Note: remove build... if switching to out-of-source build
"${@}" build --build-lib="${BUILD_DIR}"/build/lib
}
python_compile() {
wrap_setup distutils-r1_python_compile
}
python_compile_all() {
if use doc; then
cd doc || die
# necessary for in-source build
local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
VARTEXFONTS="${T}"/fonts \
"${EPYTHON}" ./make.py --small html || die
fi
}
python_test() {
wrap_setup distutils_install_for_testing
# virtx ${EPYTHON} tests.py \
# --no-pep8 \
# --no-network \
# --verbose \
# --processes=$(makeopts_jobs)
virtx "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)"
}
python_install() {
wrap_setup distutils-r1_python_install
}
python_install_all() {
use doc && local HTML_DOCS=( doc/build/html/. )
distutils-r1_python_install_all
if use examples; then
dodoc -r examples
docompress -x /usr/share/doc/${PF}/examples
fi
}

View File

@@ -1,269 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
PYTHON_REQ_USE='tk?,threads(+)'
inherit distutils-r1 eutils flag-o-matic multiprocessing virtualx toolchain-funcs
DESCRIPTION="Pure python plotting library with matlab like syntax"
HOMEPAGE="http://matplotlib.org/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
# Main license: matplotlib
# Some modules: BSD
# matplotlib/backends/qt4_editor: MIT
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
KEYWORDS="~amd64 ~arm ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="cairo doc excel examples fltk gtk2 gtk3 latex pyside qt4 qt5 test tk wxwidgets"
PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
REQUIRED_USE="
doc? ( ${PY2_FLAGS} )
excel? ( ${PY2_FLAGS} )
fltk? ( ${PY2_FLAGS} )
gtk2? ( ${PY2_FLAGS} )
wxwidgets? ( ${PY2_FLAGS} )
test? (
cairo fltk latex pyside qt5 qt4 tk wxwidgets
|| ( gtk2 gtk3 )
)"
# #456704 -- a lot of py2-only deps
PY2_USEDEP=$(python_gen_usedep python2_7)
COMMON_DEPEND="
dev-python/cycler[${PYTHON_USEDEP}]
>=dev-python/numpy-1.6[${PYTHON_USEDEP}]
dev-python/python-dateutil:0[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
>=dev-python/six-1.4[${PYTHON_USEDEP}]
media-fonts/stix-fonts
media-libs/freetype:2
media-libs/libpng:0
media-libs/qhull
cairo? ( dev-python/cairocffi[${PYTHON_USEDEP}] )
gtk2? (
dev-libs/glib:2=
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
dev-python/pygtk[${PY2_USEDEP}] )
wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
# internal copy of pycxx highly patched
# dev-python/pycxx
DEPEND="${COMMON_DEPEND}
dev-python/versioneer[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
virtual/pkgconfig
doc? (
app-text/dvipng
dev-python/pillow[${PYTHON_USEDEP}]
dev-python/ipython[${PYTHON_USEDEP}]
dev-python/mock[${PY2_USEDEP}]
dev-python/numpydoc[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/xlwt[${PYTHON_USEDEP}]
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexrecommended
media-gfx/graphviz[cairo]
)
test? (
dev-python/mock[${PYTHON_USEDEP}]
>=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
fltk? ( dev-python/pyfltk[${PYTHON_USEDEP}] )
gtk3? (
dev-python/pygobject:3[${PYTHON_USEDEP}]
x11-libs/gtk+:3[introspection] )
latex? (
virtual/latex-base
app-text/ghostscript-gpl
app-text/dvipng
app-text/poppler[utils]
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-xetex
)
pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
"
# A few C++ source files are written to srcdir.
# Other than that, the ebuild shall be fit for out-of-source build.
DISTUTILS_IN_SOURCE_BUILD=1
PATCHES=( "${FILESDIR}/${PN}-1.5.3-freetype-spurious-failure.patch" )
pkg_setup() {
unset DISPLAY # bug #278524
use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
}
use_setup() {
local uword="${2:-${1}}"
if use ${1}; then
echo "${uword} = True"
echo "${uword}agg = True"
else
echo "${uword} = False"
echo "${uword}agg = False"
fi
}
python_prepare_all() {
# Generates test failures, but fedora does it
# local PATCHES=(
# "${FILESDIR}"/${P}-unbundle-pycxx.patch
# "${FILESDIR}"/${P}-unbundle-agg.patch
# )
# rm -r agg24 CXX || die
# rm -r agg24 || die
# cat > lib/${PN}/externals/six.py <<-EOF
# from __future__ import absolute_import
# from six import *
# EOF
sed \
-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
|| die "sed pyparsing failed"
# suggested by upstream
# sed \
# -e '/tol/s:32:35:g' \
# -i lib/matplotlib/tests/test_mathtext.py || die
sed \
-e "s:/usr/:${EPREFIX}/usr/:g" \
-i setupext.py || die
export XDG_RUNTIME_DIR="${T}/runtime-dir"
mkdir "${XDG_RUNTIME_DIR}" || die
chmod 0700 "${XDG_RUNTIME_DIR}" || die
distutils-r1_python_prepare_all
}
python_configure_all() {
append-flags -fno-strict-aliasing
append-cppflags -DNDEBUG # or get old trying to do triangulation
tc-export PKG_CONFIG
}
python_configure() {
mkdir -p "${BUILD_DIR}" || die
# create setup.cfg (see setup.cfg.template for any changes).
# common switches.
cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
[directories]
basedirlist = "${EPREFIX}/usr"
[provide_packages]
pytz = False
dateutil = False
[gui_support]
agg = True
$(use_setup cairo)
$(use_setup pyside)
$(use_setup qt4)
$(use_setup qt5)
$(use_setup tk)
EOF
if use gtk3 && use cairo; then
echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
else
echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
fi
if $(python_is_python3); then
cat >> "${BUILD_DIR}"/setup.cfg <<- EOF || die
six = True
fltk = False
fltkagg = False
gtk = False
gtkagg = False
wx = False
wxagg = False
EOF
else
cat >> "${BUILD_DIR}"/setup.cfg <<-EOF || die
six = False
$(use_setup fltk)
$(use_setup gtk2 gtk)
$(use_setup gtk3)
$(use_setup wxwidgets wx)
EOF
fi
}
wrap_setup() {
local MPLSETUPCFG=${BUILD_DIR}/setup.cfg
export MPLSETUPCFG
unset DISPLAY
# Note: remove build... if switching to out-of-source build
"${@}" build --build-lib="${BUILD_DIR}"/build/lib
}
python_compile() {
wrap_setup distutils-r1_python_compile
}
python_compile_all() {
if use doc; then
cd doc || die
# necessary for in-source build
local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
VARTEXFONTS="${T}"/fonts \
"${EPYTHON}" ./make.py --small html || die
fi
}
python_test() {
wrap_setup distutils_install_for_testing
# virtx ${EPYTHON} tests.py \
# --no-pep8 \
# --no-network \
# --verbose \
# --processes=$(makeopts_jobs)
virtx "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)"
}
python_install() {
wrap_setup distutils-r1_python_install
# mpl_toolkits namespace
python_moduleinto mpl_toolkits
python_domodule lib/mpl_toolkits/__init__.py
}
python_install_all() {
use doc && local HTML_DOCS=( doc/build/html/. )
distutils-r1_python_install_all
if use examples; then
dodoc -r examples
docompress -x /usr/share/doc/${PF}/examples
fi
find "${D}" -name '*.pth' -delete || die
}

View File

@@ -1,256 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
PYTHON_REQ_USE='tk?,threads(+)'
inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
DESCRIPTION="Pure python plotting library with matlab like syntax"
HOMEPAGE="http://matplotlib.org/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
# Main license: matplotlib
# Some modules: BSD
# matplotlib/backends/qt4_editor: MIT
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="cairo doc excel examples gtk2 gtk3 latex pyside qt4 qt5 test tk wxwidgets"
PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
REQUIRED_USE="
doc? ( ${PY2_FLAGS} )
excel? ( ${PY2_FLAGS} )
gtk2? ( ${PY2_FLAGS} )
wxwidgets? ( ${PY2_FLAGS} )
test? (
cairo latex qt5 tk wxwidgets
|| ( gtk2 gtk3 )
)"
# #456704 -- a lot of py2-only deps
PY2_USEDEP=$(python_gen_usedep python2_7)
COMMON_DEPEND="
dev-python/cycler[${PYTHON_USEDEP}]
dev-python/functools32[${PY2_USEDEP}]
>=dev-python/numpy-1.7.1[${PYTHON_USEDEP}]
dev-python/python-dateutil:0[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
>=dev-python/six-1.10[${PYTHON_USEDEP}]
dev-python/subprocess32[${PY2_USEDEP}]
media-fonts/stix-fonts
media-libs/freetype:2
media-libs/libpng:0
>=media-libs/qhull-2013
cairo? ( dev-python/cairocffi[${PYTHON_USEDEP}] )
gtk2? (
dev-libs/glib:2=
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
dev-python/pygtk[${PY2_USEDEP}] )
wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
# internal copy of pycxx highly patched
# dev-python/pycxx
DEPEND="${COMMON_DEPEND}
dev-python/versioneer[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
virtual/pkgconfig
doc? (
app-text/dvipng
dev-python/colorspacious[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
dev-python/ipython[${PYTHON_USEDEP}]
dev-python/mock[${PY2_USEDEP}]
dev-python/numpydoc[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/xlwt[${PYTHON_USEDEP}]
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexrecommended
media-gfx/graphviz[cairo]
)
test? (
dev-python/mock[${PYTHON_USEDEP}]
>=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
gtk3? (
dev-python/pygobject:3[${PYTHON_USEDEP}]
x11-libs/gtk+:3[introspection] )
latex? (
virtual/latex-base
app-text/ghostscript-gpl
app-text/dvipng
app-text/poppler[utils]
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-xetex
)
pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
qt4? ( dev-python/PyQt4[X,${PYTHON_USEDEP}] )
qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
"
# A few C++ source files are written to srcdir.
# Other than that, the ebuild shall be fit for out-of-source build.
DISTUTILS_IN_SOURCE_BUILD=1
PATCHES=(
"${FILESDIR}"/${P}-nose-fixes.patch
"${FILESDIR}"/${P}-freetype-spurious-failure.patch
)
pkg_setup() {
unset DISPLAY # bug #278524
use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
}
use_setup() {
local uword="${2:-${1}}"
if use ${1}; then
echo "${uword} = True"
echo "${uword}agg = True"
else
echo "${uword} = False"
echo "${uword}agg = False"
fi
}
python_prepare_all() {
# Generates test failures, but fedora does it
# local PATCHES=(
# "${FILESDIR}"/${P}-unbundle-pycxx.patch
# "${FILESDIR}"/${P}-unbundle-agg.patch
# )
# rm -r agg24 CXX || die
# rm -r agg24 || die
# cat > lib/${PN}/externals/six.py <<-EOF
# from __future__ import absolute_import
# from six import *
# EOF
sed \
-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
|| die "sed pyparsing failed"
hprefixify setupext.py
export XDG_RUNTIME_DIR="${T}/runtime-dir"
mkdir "${XDG_RUNTIME_DIR}" || die
chmod 0700 "${XDG_RUNTIME_DIR}" || die
rm -r extern/qhull || die
distutils-r1_python_prepare_all
}
python_configure_all() {
append-flags -fno-strict-aliasing
append-cppflags -DNDEBUG # or get old trying to do triangulation
tc-export PKG_CONFIG
}
python_configure() {
mkdir -p "${BUILD_DIR}" || die
# create setup.cfg (see setup.cfg.template for any changes).
# common switches.
cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
[directories]
basedirlist = ${EPREFIX}/usr
[provide_packages]
pytz = False
dateutil = False
[packages]
tests = $(usex test True False)
[gui_support]
agg = True
$(use_setup cairo)
$(use_setup gtk3)
$(use_setup pyside)
$(use_setup qt4)
$(use_setup qt5)
$(use_setup tk)
EOF
if use gtk3 && use cairo; then
echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
else
echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
fi
if python_is_python3; then
cat >> "${BUILD_DIR}"/setup.cfg <<- EOF || die
gtk = False
gtkagg = False
wx = False
wxagg = False
EOF
else
cat >> "${BUILD_DIR}"/setup.cfg <<-EOF || die
$(use_setup gtk2 gtk)
$(use_setup wxwidgets wx)
EOF
fi
}
wrap_setup() {
local -x MPLSETUPCFG=${BUILD_DIR}/setup.cfg
unset DISPLAY
"$@"
}
python_compile() {
wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
}
python_compile_all() {
if use doc; then
cd doc || die
# necessary for in-source build
local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
VARTEXFONTS="${T}"/fonts \
"${EPYTHON}" ./make.py --small html || die
fi
}
python_test() {
wrap_setup distutils_install_for_testing
virtx "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)"
}
python_install() {
wrap_setup distutils-r1_python_install
# mpl_toolkits namespace
python_moduleinto mpl_toolkits
python_domodule lib/mpl_toolkits/__init__.py
}
python_install_all() {
use doc && local HTML_DOCS=( doc/build/html/. )
distutils-r1_python_install_all
if use examples; then
dodoc -r examples
docompress -x /usr/share/doc/${PF}/examples
fi
find "${D}" -name '*.pth' -delete || die
}

View File

@@ -1,250 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
PYTHON_REQ_USE='tk?,threads(+)'
inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
DESCRIPTION="Pure python plotting library with matlab like syntax"
HOMEPAGE="http://matplotlib.org/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
# Main license: matplotlib
# Some modules: BSD
# matplotlib/backends/qt4_editor: MIT
# Fonts: BitstreamVera, OFL-1.1
LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="cairo doc excel examples gtk2 gtk3 latex pyside qt5 test tk wxwidgets"
PY2_FLAGS="|| ( $(python_gen_useflags python2_7) )"
REQUIRED_USE="
doc? ( ${PY2_FLAGS} )
excel? ( ${PY2_FLAGS} )
gtk2? ( ${PY2_FLAGS} )
wxwidgets? ( ${PY2_FLAGS} )
test? (
cairo latex qt5 tk wxwidgets
|| ( gtk2 gtk3 )
)"
# #456704 -- a lot of py2-only deps
PY2_USEDEP=$(python_gen_usedep python2_7)
COMMON_DEPEND="
dev-python/cycler[${PYTHON_USEDEP}]
dev-python/functools32[${PY2_USEDEP}]
>=dev-python/numpy-1.7.1[${PYTHON_USEDEP}]
dev-python/python-dateutil:0[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
>=dev-python/six-1.10[${PYTHON_USEDEP}]
dev-python/subprocess32[${PY2_USEDEP}]
media-fonts/stix-fonts
media-libs/freetype:2
media-libs/libpng:0
>=media-libs/qhull-2013
cairo? ( dev-python/cairocffi[${PYTHON_USEDEP}] )
gtk2? (
dev-libs/glib:2=
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
dev-python/pygtk[${PY2_USEDEP}] )
wxwidgets? ( >=dev-python/wxpython-2.8:*[${PY2_USEDEP}] )"
# internal copy of pycxx highly patched
# dev-python/pycxx
DEPEND="${COMMON_DEPEND}
dev-python/versioneer[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
virtual/pkgconfig
doc? (
app-text/dvipng
dev-python/colorspacious[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
dev-python/ipython[${PYTHON_USEDEP}]
dev-python/mock[${PY2_USEDEP}]
dev-python/numpydoc[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/xlwt[${PYTHON_USEDEP}]
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexrecommended
media-gfx/graphviz[cairo]
)
test? (
dev-python/backports-functools-lru-cache[${PY2_USEDEP}]
dev-python/mock[${PYTHON_USEDEP}]
>=dev-python/nose-0.11.1[${PYTHON_USEDEP}]
)"
RDEPEND="${COMMON_DEPEND}
>=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
excel? ( dev-python/xlwt[${PYTHON_USEDEP}] )
gtk3? (
dev-python/pygobject:3[${PYTHON_USEDEP}]
x11-libs/gtk+:3[introspection] )
latex? (
virtual/latex-base
app-text/ghostscript-gpl
app-text/dvipng
app-text/poppler[utils]
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-xetex
)
pyside? ( dev-python/pyside[X,${PYTHON_USEDEP}] )
qt5? ( dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] )
"
# A few C++ source files are written to srcdir.
# Other than that, the ebuild shall be fit for out-of-source build.
DISTUTILS_IN_SOURCE_BUILD=1
pkg_setup() {
unset DISPLAY # bug #278524
use doc && DISTUTILS_ALL_SUBPHASE_IMPLS=( python2.7 )
}
use_setup() {
local uword="${2:-${1}}"
if use ${1}; then
echo "${uword} = True"
echo "${uword}agg = True"
else
echo "${uword} = False"
echo "${uword}agg = False"
fi
}
python_prepare_all() {
# Generates test failures, but fedora does it
# local PATCHES=(
# "${FILESDIR}"/${P}-unbundle-pycxx.patch
# "${FILESDIR}"/${P}-unbundle-agg.patch
# )
# rm -r agg24 CXX || die
# rm -r agg24 || die
# cat > lib/${PN}/externals/six.py <<-EOF
# from __future__ import absolute_import
# from six import *
# EOF
sed \
-e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
-i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
|| die "sed pyparsing failed"
hprefixify setupext.py
export XDG_RUNTIME_DIR="${T}/runtime-dir"
mkdir "${XDG_RUNTIME_DIR}" || die
chmod 0700 "${XDG_RUNTIME_DIR}" || die
distutils-r1_python_prepare_all
}
python_configure_all() {
append-flags -fno-strict-aliasing
append-cppflags -DNDEBUG # or get old trying to do triangulation
tc-export PKG_CONFIG
}
python_configure() {
mkdir -p "${BUILD_DIR}" || die
# create setup.cfg (see setup.cfg.template for any changes).
# common switches.
cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
[directories]
basedirlist = ${EPREFIX}/usr
[provide_packages]
pytz = False
dateutil = False
[packages]
tests = $(usex test True False)
[gui_support]
agg = True
qt4 = False
qt4agg = False
$(use_setup cairo)
$(use_setup gtk3)
$(use_setup pyside)
$(use_setup qt5)
$(use_setup tk)
EOF
if use gtk3 && use cairo; then
echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
else
echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
fi
if python_is_python3; then
cat >> "${BUILD_DIR}"/setup.cfg <<- EOF || die
gtk = False
gtkagg = False
wx = False
wxagg = False
EOF
else
cat >> "${BUILD_DIR}"/setup.cfg <<-EOF || die
$(use_setup gtk2 gtk)
$(use_setup wxwidgets wx)
EOF
fi
}
wrap_setup() {
local -x MPLSETUPCFG=${BUILD_DIR}/setup.cfg
unset DISPLAY
"$@"
}
python_compile() {
wrap_setup distutils-r1_python_compile --build-lib="${BUILD_DIR}"/lib
}
python_compile_all() {
if use doc; then
cd doc || die
# necessary for in-source build
local -x PYTHONPATH="${BUILD_DIR}"/build/lib:${PYTHONPATH}
VARTEXFONTS="${T}"/fonts \
"${EPYTHON}" ./make.py --small html || die
fi
}
python_test() {
wrap_setup distutils_install_for_testing
virtx "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(0 if m.test(verbosity=2) else 1)"
}
python_install() {
wrap_setup distutils-r1_python_install
# mpl_toolkits namespace
python_moduleinto mpl_toolkits
python_domodule lib/mpl_toolkits/__init__.py
}
python_install_all() {
use doc && local HTML_DOCS=( doc/build/html/. )
distutils-r1_python_install_all
if use examples; then
dodoc -r examples
docompress -x /usr/share/doc/${PF}/examples
fi
find "${D}" -name '*.pth' -delete || die
}