summaryrefslogtreecommitdiff
path: root/dev-python/matplotlib
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-29 18:03:51 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-29 18:03:51 +0000
commitd7ed2b01311f15ba54fe8ea872aab7d59ab2b193 (patch)
tree1814dd2b5bbf2e7639fdafbeef48d228cfaf5e9b /dev-python/matplotlib
parentabaa75b10f899ada8dd05b23cc03205064394bc6 (diff)
gentoo resync : 29.01.2021
Diffstat (limited to 'dev-python/matplotlib')
-rw-r--r--dev-python/matplotlib/Manifest3
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch12
-rw-r--r--dev-python/matplotlib/matplotlib-3.3.4.ebuild282
3 files changed, 297 insertions, 0 deletions
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index a459321cd111..d95ad986b0b6 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -3,13 +3,16 @@ AUX matplotlib-3.2.2-test.patch 16508 BLAKE2B 42ed1e5b59f3248dd0c8786769a9694e2e
AUX matplotlib-3.3.0-test.patch 9618 BLAKE2B f239d5c16be50b601c91e47e9c43c928beeaddb22be236a17244f289c9032564d3bb1e2e5bd63f6017e51d71008efbd8c86ccc96eed0d30abc50537563720271 SHA512 445076feec916e508a3673babacbf8a8372a6f05c3d067eb77584c4352387d1bc3b1dc6c76beb18549df4601b50943d271c8db510f30748dbcdfc56727030b41
AUX matplotlib-3.3.2-test-extra.patch 851 BLAKE2B 8fca758413834cf78707a42edbf878919e5d5183eac017928f12da0f9636d62ca42b1a7206e8f2131613bfa5249a835083c461c14c5be95091c37ce94902ea17 SHA512 45aaca6349269b5ab7476cbb82ba1dda6f8fa89100f7a8c7c1c5c037db1213b252daccfc5e905cb09d259f4e28d726c583d5a71f2da2421a787bb3b31fca6e5a
AUX matplotlib-3.3.3-disable-lto.patch 828 BLAKE2B 2044ef633091f27080d20e3e1b2c74605e13e99c9d044e97accde3b0a7946ef656f10c9bf5c036745f8ec85380e48cfd5e3d6fe8a023fa60e408d270f45a1da5 SHA512 81562749756b0415c6ce333d3cbbc197306dc9c2c425ec761767271c974badd13fe9a497c74231cd1bf9347f03ef0593bceff9b597289a8328e7c0211c7047ed
+AUX matplotlib-3.3.4-test-extra.patch 481 BLAKE2B 1926876a15bd2d8b14c62404dddb0b119abde78baea3cee7dd751d0b0a21249ad1461fbba4d20823d7e754f074cbf48aaf2da317685dded99c792be9e17edb9d SHA512 7a7e0bdbd96a4f1f335eb3ee1840747045b09ba974d2614f234fa4fbc5c3e1e7c5fd154ec68a74640a916fed9e0b3d5ca01d1b22ba4f7bf3ba5f47039e67d00a
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
DIST matplotlib-3.2.2.tar.gz 40295831 BLAKE2B 32fb34b95d1df928f949fd7b04909da2494b56efbe543f75bffedf1d9d85a0089a50cd27b82a28ac75361b56fe3f2a6c95b7d9e777778ce46f1d2805e5dae9df SHA512 4b8080fddc717f311a87b6ef1a279304da2931ef2d6de85688c153f14da5009351f42d9533c44695ca43ce1496bb642927aca822a7946a2d50d40a7d25224b31
DIST matplotlib-3.3.0.tar.gz 38782487 BLAKE2B 97330d93b8d8a64a1296ccb173e44ebcc54c61e22aacdd73cc38a46fb2d22fbfe7334fb3c6993be001c475724c47f530243affddd71ec647232ac093db6e3135 SHA512 2ffd9e79e300a37092ab4b5a7156c2f57e408975818abd413c74477ad622030c7636695467aab821c9996564cddec57e26ba6a8004f6639070964fcb7a510a75
DIST matplotlib-3.3.2.tar.gz 37939974 BLAKE2B f28e184a0fccd4192ba8135b70569bf463d08cae0f4eb8e7f997f417cb947500a9fe46eb5f979473b4d7d22c0ad03ab55aba4067082c86f63eacbf837b8606ad SHA512 cae68e63d879bcfb41b25df4de48472461f7987403d42d34c7205a65ed3ef567660309c04d2a55e155fbe1ef708fd9de0b0d66e71578f34c3ee93379c4ea1e1a
DIST matplotlib-3.3.3.tar.gz 37944403 BLAKE2B 30358d7b7df87b0b15724c4eeb132acdacf31ac900d5c06b22c7ebc7217d6cabcc76b7e29cea6af0b4711b5b1724ce34dd065f63cabcfd40c0fcf9788f94c1fe SHA512 36b482a6c36ee08c47f3c02c160289bbdec8746d4d246084723bd3e1fd632c6383f6db58c950a9773a6993d10f24dacd870a91faafc34864616288cd05b6232c
+DIST matplotlib-3.3.4.tar.gz 37941665 BLAKE2B 77b86dc3ceec3695a0d749197bcec684893d237da1aaf8778d9dc2038da1ba56b757bbce94efcf215ac30f35420b77e0a0e75ebb75b6d2cde5146d8a35ee25e7 SHA512 aadfe3db4edde9940b9e15daf1b6c5f237d3a6f38610956ceee994f919d711fce818ea12be4db18aa2a8638c4e8f434d79541fecaa7233e233bf4c73792bc4c4
EBUILD matplotlib-3.2.2-r2.ebuild 6538 BLAKE2B ca667cd13da94cf3c9d72edcdcfed8dbbe0fbd77bbe79904e6dcef1e9d1f31b344c089e02cf7e789cbdaeead12146762ee7b0d58be5725b8ad8888ade7f05fbe SHA512 f3ee6edeca3f58aa930ba68bc91f2b3ddd741ee432b10dba16281d56274fdaa83d1fff9e2627c32b162dd033e93f1ceb0f7172034c431c4614094476d20e9d92
EBUILD matplotlib-3.3.0-r1.ebuild 6660 BLAKE2B ef599ab23ef9cd664d3f7e7be431c9a5a05416a101d7417bb348ba2b2fc6fc6310c669e6b43a59f46231163810d6c16b18afd8d66882f74c434ed5c3f2474a33 SHA512 3029efbbdb4cea586b986b705ae9a6c8a7e7e358f569e4015b73f84fe4cfd7e9a5b179550822b22dcd6db359178ed253cc9a6fe9ec56b0ba0b271846b7edf140
EBUILD matplotlib-3.3.2.ebuild 6776 BLAKE2B 932894c72b8419149af15414564f349238968472809f959a5698bed81bdd334bda4afa0b2960e05351680ade6d9f14f394625ba452eb6950ff44bd9578124615 SHA512 82385d62b6d47b4672ee25f1941e2532d17f33a26ebf899d86f24e251e06c4d95121314d7d84616c3d05333894b2575fbe0682ffa3c545216bd6c71707b1a1bc
EBUILD matplotlib-3.3.3-r1.ebuild 6915 BLAKE2B 7e735d8bd23031d0fd64924185cabafbf65be078ef2440d85799421bf9d25b2e1a02574eb10e86ad5d112f6ae3fa5cf312a76044190419f2be60e7ce729b4fef SHA512 c99a4da5b72e831bcc2066553bac1d95a9ad19dd1cb562f5e29326973c9c2bf49070b7466c6ce91bab395788f435cf5a5438e5a326e3d4b10ac3f3da3c358ce8
+EBUILD matplotlib-3.3.4.ebuild 6933 BLAKE2B 70baaf360eca8406ef11348ff9396d92474b25e3287d6cdd7af6e3208bfbc697eee201acbb6bee9abe200c8458b93cf414e17fba5f754acaca7e0d6403d25f0f SHA512 fd72ce1ae956da5f3ebebcec5e8af5d23ce247b357da45d9877e30b9b4f0b52146f82c619ee423836a6b32239e36d6902b00b8f178eb22045d7aa7f5a4ba98b2
MISC metadata.xml 1013 BLAKE2B 7a02989dfd3230db1225c97927adcf0b6b3fd0dc6d81cca69db3472f4f9fbb185daede39e35ad3477b1592a5deba76fb970be8559bc8b30791484bbe0624d417 SHA512 e1b11cfb0dc4f534f0a0b25bce759554906d5656b7c3607f56ae3b3cc53f8d30a3f5be1e6c96c3942dcb1b7ee0936ddd02c9560507d2d1d2fb46c2f4dbeba608
diff --git a/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch b/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch
new file mode 100644
index 000000000000..0c62334086a6
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch
@@ -0,0 +1,12 @@
+diff -dupr a/lib/mpl_toolkits/tests/test_mplot3d.py b/lib/mpl_toolkits/tests/test_mplot3d.py
+--- a/lib/mpl_toolkits/tests/test_mplot3d.py 2021-01-29 10:43:01.196582153 +0100
++++ b/lib/mpl_toolkits/tests/test_mplot3d.py 2021-01-29 10:44:36.084875177 +0100
+@@ -150,7 +150,7 @@ def test_contourf3d_fill():
+ ax.set_zlim(-1, 1)
+
+
+-@mpl3d_image_comparison(['tricontour.png'])
++@mpl3d_image_comparison(['tricontour.png'], tol=0.02)
+ def test_tricontour():
+ fig = plt.figure()
+
diff --git a/dev-python/matplotlib/matplotlib-3.3.4.ebuild b/dev-python/matplotlib/matplotlib-3.3.4.ebuild
new file mode 100644
index 000000000000..a103db251a04
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.3.4.ebuild
@@ -0,0 +1,282 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic virtualx toolchain-funcs prefix
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="https://matplotlib.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
+
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-1.5.6[${PYTHON_USEDEP}]
+ dev-python/python-dateutil:0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ >=media-libs/qhull-2013:=
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ )
+ webagg? (
+ >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{6,7,8})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ >=app-text/dvipng-1.15-r1
+ >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ >=media-gfx/graphviz-2.42.3[cairo]
+ )
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo?,${PYTHON_USEDEP}]
+ >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+"
+
+# 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
+
+distutils_enable_tests pytest
+
+pkg_setup() {
+ unset DISPLAY # bug #278524
+}
+
+use_supported() {
+ case ${1} in
+ wxwidgets)
+ [[ ${EPYTHON} == python3.[678] ]]
+ ;;
+ esac
+
+ return 0
+}
+
+use_setup() {
+ local uword="${2:-${1}}"
+ if use_supported "${1}" && 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
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.3.0-test.patch
+ "${FILESDIR}"/matplotlib-3.3.2-test-extra.patch
+ "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+ "${FILESDIR}"/matplotlib-3.3.4-test-extra.patch
+ )
+
+ # requires jupyter-nbconvert
+ rm lib/matplotlib/tests/test_backend_nbagg.py || die
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+
+ sed -e 's:\(@pytest.mark.flaky\)(reruns=3):\1:' \
+ -i lib/matplotlib/tests/test_*.py || die
+
+ hprefixify setupext.py
+
+ rm -rf libqhull || 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
+ [libs]
+ system_freetype = True
+ system_qhull = True
+ [packages]
+ tests = $(usex test True False)
+ [gui_support]
+ agg = True
+ gtk = False
+ gtkagg = False
+ macosx = False
+ pyside = False
+ pysideagg = False
+ qt4 = False
+ qt4agg = False
+ $(use_setup cairo)
+ $(use_setup gtk3)
+ $(use_setup qt5)
+ $(use_setup tk)
+ $(use_setup wxwidgets wx)
+ 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
+}
+
+wrap_setup() {
+ local MAKEOPTS=-j1
+ local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
+ "$@"
+}
+
+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 \
+ emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+ fi
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
+ > "${BUILD_DIR}"/test-setup.cfg || die
+ local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
+ ln -s "${WORKDIR}/freetype-${FT_PV}" "${BUILD_DIR}" || die
+ distutils-r1_python_compile -j1 --build-lib="${BUILD_DIR}"/test-lib
+ local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+ "${EPYTHON}" -c "import sys, matplotlib as m; sys.exit(m.test(argv=['-m', 'not network'], verbosity=2))" || die
+}
+
+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
+}