diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-01-29 18:03:51 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-01-29 18:03:51 +0000 |
commit | d7ed2b01311f15ba54fe8ea872aab7d59ab2b193 (patch) | |
tree | 1814dd2b5bbf2e7639fdafbeef48d228cfaf5e9b /dev-python/matplotlib | |
parent | abaa75b10f899ada8dd05b23cc03205064394bc6 (diff) |
gentoo resync : 29.01.2021
Diffstat (limited to 'dev-python/matplotlib')
-rw-r--r-- | dev-python/matplotlib/Manifest | 3 | ||||
-rw-r--r-- | dev-python/matplotlib/files/matplotlib-3.3.4-test-extra.patch | 12 | ||||
-rw-r--r-- | dev-python/matplotlib/matplotlib-3.3.4.ebuild | 282 |
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 +} |