summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-09-24 12:44:27 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2022-09-24 12:44:27 +0000
commitaf43599f65c7bde330af1332239043adb14b51fe (patch)
treeb77378f1f54e92a3dd5ba58f28965b5050627818 /dev-python
parent0452c5423d913e58f3f95486662267679271628c (diff)
downloadbaldeagleos-repo-af43599f65c7bde330af1332239043adb14b51fe.tar.gz
baldeagleos-repo-af43599f65c7bde330af1332239043adb14b51fe.tar.xz
baldeagleos-repo-af43599f65c7bde330af1332239043adb14b51fe.zip
Adding metadata
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/contourpy/Manifest1
-rw-r--r--dev-python/contourpy/contourpy-1.0.5.ebuild47
-rw-r--r--dev-python/contourpy/metadata.xml10
-rw-r--r--dev-python/matplotlib/Manifest1
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.6.0-test.patch260
-rw-r--r--dev-python/matplotlib/matplotlib-3.6.0.ebuild284
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.2-numpy-1.23.patch28
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch104
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch47
-rw-r--r--dev-python/shiboken2/files/shiboken2-5.15.2-python311.patch125
-rw-r--r--dev-python/spyder-notebook/Manifest1
-rw-r--r--dev-python/spyder-notebook/metadata.xml11
-rw-r--r--dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild45
-rw-r--r--dev-python/spyder/spyder-5.3.3.ebuild3
14 files changed, 661 insertions, 306 deletions
diff --git a/dev-python/contourpy/Manifest b/dev-python/contourpy/Manifest
new file mode 100644
index 000000000000..c5ba47fdafc3
--- /dev/null
+++ b/dev-python/contourpy/Manifest
@@ -0,0 +1 @@
+DIST contourpy-1.0.5.gh.tar.gz 12153420 BLAKE2B 1b3899831938c114480606f0c2ef2962248721884cd2be727f2bd11d12d322e7652c7b63860f4c5d8bd039a7e838f3f360dd1af017219caa97dfc63d69ef7e19 SHA512 47dc08f02920cb0ffc081f313dd041fa36e2fd0a81530374ae77adc288af13cf2c526fc1f45d06ef1c256c4c8fe243e0b36b54d3fff7d4f8bd6f9f4938d3c805
diff --git a/dev-python/contourpy/contourpy-1.0.5.ebuild b/dev-python/contourpy/contourpy-1.0.5.ebuild
new file mode 100644
index 000000000000..ad6637d8fef3
--- /dev/null
+++ b/dev-python/contourpy/contourpy-1.0.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for calculating contours in 2D quadrilateral grids"
+HOMEPAGE="
+ https://pypi.org/project/contourpy/
+ https://github.com/contourpy/contourpy/
+"
+SRC_URI="
+ https://github.com/contourpy/contourpy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # linters
+ tests/test_codebase.py
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # threaded algorithms are known to be broken
+ # https://github.com/contourpy/contourpy/issues/163
+ epytest -k "not threaded and not threads"
+}
diff --git a/dev-python/contourpy/metadata.xml b/dev-python/contourpy/metadata.xml
new file mode 100644
index 000000000000..853174b8f2ab
--- /dev/null
+++ b/dev-python/contourpy/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index 52f0abe31c87..84825b901aed 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -2,3 +2,4 @@ DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2
DIST matplotlib-3.5.1.tar.gz 35320470 BLAKE2B ebf69b62ac587c61ecf8442abaab302019f63a3c9d8db6f7f7fb32f4d14da554fd8305ea6dfed2ff86a5af4e7e4d2b81f14802692fe50c986f7da8545bd26c00 SHA512 a317dbd748e5fc1fafcf80020cb6d38a8888431487beded97acd59d759e67e54f59506b642e4a03d4351c1ac050d15e3f2e2b5443433debc78ddad52881c8d82
DIST matplotlib-3.5.2.tar.gz 35210006 BLAKE2B e3f90a0cf1d28f041a8cdd6920a8a4efe16169bb4acf85f7b2562196db306eeb692218728ea33c7b62214e7894e83a104954cbef38c45ccbb4f630bd35c0c36b SHA512 32844dfa85dbc43360c1773d748a58d2ab089111c51c825da62956c778a0eeaf10ca33a5c6c094295388a80d5873a2e1b17484e02b653e9e8e5ba98659329974
DIST matplotlib-3.5.3.tar.gz 35236343 BLAKE2B 0d3f4e15295afe2c737e441325206e77c520a514bc87ab1eebef624f89896a2cf609e8d57b8fa8ef28ecf8c836e20cb296adaa95f81dbfcf3f2a45631e3dd02c SHA512 f431d3046e9c5fbe5d44a16a762e9a178ba34380974964660eaf3681671178866a63b3bad9aad8d3ad423926f7db2965d514e9b1489e3a824a4532a01f0e0670
+DIST matplotlib-3.6.0.tar.gz 35749946 BLAKE2B 1e2e80e124ef1a0a1843ba077c3c933b55a77062fd5cc49d304dd2d12f6323ff60f32113dc0c57388796682841367734283ea5c82e149d6fa3f379516800d131 SHA512 ea8cb274b9aacb4cc9c3b52cf5eaf881074dc73840cba160289e85173d763e96d3ea3628c5cb53f765092f53b9e3d05977281cc0c9d6756529601ca336ec0e27
diff --git a/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch
new file mode 100644
index 000000000000..4f0fe2207507
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.6.0-test.patch
@@ -0,0 +1,260 @@
+From 72702bcc76e3daf34d43aa76942f1008946712d6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 24 Sep 2022 09:21:56 +0200
+Subject: [PATCH] Increase image comparison limits
+
+Most of the tests require exact match which apparently doesn't always
+happen in non-pristine environments. Some of them have very big
+differences due to texlive font rendering changes.
+---
+ lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
+ lib/matplotlib/tests/test_axes.py | 6 +++---
+ lib/matplotlib/tests/test_backend_pgf.py | 2 +-
+ lib/matplotlib/tests/test_colorbar.py | 2 +-
+ lib/matplotlib/tests/test_contour.py | 2 +-
+ lib/matplotlib/tests/test_figure.py | 2 +-
+ lib/matplotlib/tests/test_image.py | 2 +-
+ lib/matplotlib/tests/test_legend.py | 6 +++---
+ lib/matplotlib/tests/test_lines.py | 3 ++-
+ lib/matplotlib/tests/test_streamplot.py | 3 ++-
+ lib/matplotlib/tests/test_units.py | 4 ++--
+ lib/matplotlib/tests/test_usetex.py | 1 +
+ lib/mpl_toolkits/tests/test_axes_grid1.py | 2 +-
+ 13 files changed, 22 insertions(+), 19 deletions(-)
+
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 8d573b4adb..dfc42efcb9 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+ """
+@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+ """
+@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
+
+
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.005)
++ tol=0.005)
+ def test_arrow_styles():
+ styles = mpatches.ArrowStyle.get_styles()
+
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index a230af2ac1..c993d85856 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -1025,7 +1025,7 @@ def test_imshow():
+ ax.imshow("r", data=data)
+
+
+-@image_comparison(['imshow_clip'], style='mpl20')
++@image_comparison(['imshow_clip'], style='mpl20', tol=1.24)
+ def test_imshow_clip():
+ # As originally reported by Gellule Xg <gellule.xg@free.fr>
+ # use former defaults to match existing baseline image
+@@ -2334,7 +2334,7 @@ def test_contour_hatching():
+ extend='both', alpha=0.5)
+
+
+-@image_comparison(['contour_colorbar'], style='mpl20')
++@image_comparison(['contour_colorbar'], style='mpl20', tol=0.015)
+ def test_contour_colorbar():
+ x, y, z = contour_dat()
+
+@@ -4616,7 +4616,7 @@ def test_vertex_markers():
+
+
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
+ def test_eb_line_zorder():
+ x = list(range(10))
+
+diff --git a/lib/matplotlib/tests/test_backend_pgf.py b/lib/matplotlib/tests/test_backend_pgf.py
+index 482bc073a7..faa8cfa5ce 100644
+--- a/lib/matplotlib/tests/test_backend_pgf.py
++++ b/lib/matplotlib/tests/test_backend_pgf.py
+@@ -79,7 +79,7 @@ def create_figure():
+ # test compiling a figure to pdf with xelatex
+ @needs_pgf_xelatex
+ @pytest.mark.backend('pgf')
+-@image_comparison(['pgf_xelatex.pdf'], style='default')
++@image_comparison(['pgf_xelatex.pdf'], style='default', tol=0.8)
+ def test_xelatex():
+ rc_xelatex = {'font.family': 'serif',
+ 'pgf.rcfonts': False}
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 149ed4c3d2..bf10709297 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -231,7 +231,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
+ assert ax.get_anchor() == 'E'
+
+
+-@image_comparison(['contour_colorbar.png'], remove_text=True)
++@image_comparison(['contour_colorbar.png'], remove_text=True, tol=0.01)
+ def test_contour_colorbar():
+ fig, ax = plt.subplots(figsize=(4, 2))
+ data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index 2c76f34cb1..a6a0619443 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -318,7 +318,7 @@ def test_contourf_log_extension():
+
+
+ @image_comparison(['contour_addlines.png'],
+- remove_text=True, style='mpl20', tol=0.03)
++ remove_text=True, style='mpl20', tol=0.2)
+ # tolerance is because image changed minutely when tick finding on
+ # colorbars was cleaned up...
+ def test_contour_addlines():
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 48b4a880e0..2b31fe6273 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
+
+
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_align_labels():
+ fig = plt.figure(layout='tight')
+ gs = gridspec.GridSpec(3, 3)
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index 46dbe4cfe8..cb171e83f8 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -1323,7 +1323,7 @@ def test_nonuniform_and_pcolor():
+
+
+ @image_comparison(["rgba_antialias.png"], style="mpl20",
+- remove_text=True)
++ remove_text=True, tol=0.005)
+ def test_rgba_antialias():
+ fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
+ sharey=False, constrained_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index 16847e0be6..80159952c1 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -118,7 +118,7 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_alpha_rgba():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -127,7 +127,7 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_alpha_rcparam():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -153,7 +153,7 @@ def test_fancy():
+
+
+ @image_comparison(['framealpha'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.02)
+ def test_framealpha():
+ x = np.linspace(1, 100, 100)
+ y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index e7002df8a5..e83a90ccb1 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -165,7 +165,8 @@ def test_set_drawstyle():
+ assert len(line.get_path().vertices) == len(x)
+
+
+-@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20')
++@image_comparison(['line_collection_dashes'], remove_text=True, style='mpl20',
++ tol=0.62)
+ def test_set_line_coll_dash_image():
+ fig, ax = plt.subplots()
+ np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_streamplot.py b/lib/matplotlib/tests/test_streamplot.py
+index 5ee6df09e4..ab059bb4a3 100644
+--- a/lib/matplotlib/tests/test_streamplot.py
++++ b/lib/matplotlib/tests/test_streamplot.py
+@@ -34,7 +34,8 @@ def test_startpoints():
+ plt.plot(start_x, start_y, 'ok')
+
+
+-@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20')
++@image_comparison(['streamplot_colormap'], remove_text=True, style='mpl20',
++ tol=0.002)
+ def test_colormap():
+ X, Y, U, V = velocity_field()
+ plt.streamplot(X, Y, U, V, color=U, density=0.6, linewidth=2,
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index d3b8c5a716..56a1d0a0a4 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -79,7 +79,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 22309afdaf..0b7cea8ac4 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -14,6 +14,7 @@ import matplotlib.pyplot as plt
+ pytestmark = needs_usetex
+
+
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+ baseline_images=['test_usetex'],
+ extensions=['pdf', 'png'],
+diff --git a/lib/mpl_toolkits/tests/test_axes_grid1.py b/lib/mpl_toolkits/tests/test_axes_grid1.py
+index 374b8c721f..77b1d5f4a1 100644
+--- a/lib/mpl_toolkits/tests/test_axes_grid1.py
++++ b/lib/mpl_toolkits/tests/test_axes_grid1.py
+@@ -335,7 +335,7 @@ def test_zooming_with_inverted_axes():
+
+
+ @image_comparison(['anchored_direction_arrows.png'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_anchored_direction_arrows():
+ fig, ax = plt.subplots()
+ ax.imshow(np.zeros((10, 10)), interpolation='nearest')
+--
+2.37.3
+
diff --git a/dev-python/matplotlib/matplotlib-3.6.0.ebuild b/dev-python/matplotlib/matplotlib-3.6.0.ebuild
new file mode 100644
index 000000000000..2aeafd9a2081
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.6.0.ebuild
@@ -0,0 +1,284 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 flag-o-matic multiprocessing prefix toolchain-funcs \
+ virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+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"
+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/contourpy-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-7.1.1[jpeg,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.14.0[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ >=media-libs/qhull-2013:=
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1: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-luatex
+ 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_{8..10})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ >=dev-python/setuptools_scm-7[${PYTHON_USEDEP}]
+ dev-python/setuptools_scm_git_archive[${PYTHON_USEDEP}]
+ 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}]
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexrecommended
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ >=media-gfx/graphviz-2.42.3[cairo]
+ )
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ >=www-servers/tornado-6.0.4[${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+"
+
+distutils_enable_tests pytest
+
+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
+
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
+ "${FILESDIR}"/matplotlib-3.6.0-test.patch
+ )
+
+ sed \
+ -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
+ -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
+ || die "sed pyparsing failed"
+ sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
+
+ hprefixify setupext.py
+
+ rm -rf libqhull || 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
+
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+}
+
+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 = True
+ [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
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_compile_all() {
+ if use doc; then
+ cd doc || die
+
+ VARTEXFONTS="${T}"/fonts \
+ emake SPHINXOPTS= O=-Dplot_formats=png:100 html
+ fi
+}
+
+src_test() {
+ mkdir build || die
+ ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+ tests/test_testing.py::test_warn_to_fail
+ )
+ [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+ # https://github.com/matplotlib/matplotlib/issues/23384
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+ )
+
+ # 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
+
+ esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
+ local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
+
+ # speed tests up
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -p xdist.plugin -n "$(makeopts_jobs)" || die
+}
+
+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
+}
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.2-numpy-1.23.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-numpy-1.23.patch
deleted file mode 100644
index 6cd9feab800b..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.2-numpy-1.23.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Backport of https://code.qt.io/cgit/pyside/pyside-setup.git/commit/?id=1422cf4a7f277fb13fd209f24a90d6c02641497d.
-
-From 1422cf4a7f277fb13fd209f24a90d6c02641497d Mon Sep 17 00:00:00 2001
-From: Friedemann Kleint <Friedemann.Kleint@qt.io>
-Date: Thu, 23 Jun 2022 10:44:01 +0200
-Subject: libshiboken: Fix build with numpy 1.23.0
-
-Pick-to: 6.3 6.2 5.15
-Change-Id: I885c332d6c948820140946c73ae1926e88834143
-Reviewed-by: Christian Tismer <tismer@stackless.com>
---- a/libshiboken/sbknumpyarrayconverter.cpp
-+++ b/libshiboken/sbknumpyarrayconverter.cpp
-@@ -116,8 +116,13 @@ std::ostream &operator<<(std::ostream &str, PyArrayObject *o)
- str << " NPY_ARRAY_NOTSWAPPED";
- if ((flags & NPY_ARRAY_WRITEABLE) != 0)
- str << " NPY_ARRAY_WRITEABLE";
-- if ((flags & NPY_ARRAY_UPDATEIFCOPY) != 0)
-- str << " NPY_ARRAY_UPDATEIFCOPY";
-+#if NPY_VERSION >= 0x00000010 // NPY_1_23_API_VERSION
-+ if ((flags & NPY_ARRAY_WRITEBACKIFCOPY) != 0)
-+ str << " NPY_ARRAY_WRITEBACKIFCOPY";
-+#else
-+ if ((flags & NPY_ARRAY_UPDATEIFCOPY) != 0)
-+ str << " NPY_ARRAY_UPDATEIFCOPY";
-+#endif
- } else {
- str << '0';
- }
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch
deleted file mode 100644
index c4f582ff71de..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.2-python310.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-diff -upr libshiboken/pep384impl.cpp libshiboken/pep384impl.cpp
---- a/libshiboken/pep384impl.cpp 2020-11-11 14:51:30.000000000 +0200
-+++ b/libshiboken/pep384impl.cpp 2021-12-01 15:17:21.444888977 +0200
-@@ -751,14 +751,14 @@ _Pep_PrivateMangle(PyObject *self, PyObj
- #endif // IS_PY2
- Shiboken::AutoDecRef privateobj(PyObject_GetAttr(
- reinterpret_cast<PyObject *>(Py_TYPE(self)), Shiboken::PyMagicName::name()));
--#ifndef Py_LIMITED_API
-- return _Py_Mangle(privateobj, name);
--#else
-- // For some reason, _Py_Mangle is not in the Limited API. Why?
-- size_t plen = PyUnicode_GET_LENGTH(privateobj);
-+
-+ // PYSIDE-1436: _Py_Mangle is no longer exposed; implement it always.
-+ // The rest of this function is our own implementation of _Py_Mangle.
-+ // Please compare the original function in compile.c .
-+ size_t plen = PyUnicode_GET_LENGTH(privateobj.object());
- /* Strip leading underscores from class name */
- size_t ipriv = 0;
-- while (PyUnicode_READ_CHAR(privateobj, ipriv) == '_')
-+ while (PyUnicode_READ_CHAR(privateobj.object(), ipriv) == '_')
- ipriv++;
- if (ipriv == plen) {
- Py_INCREF(name);
-@@ -787,7 +787,6 @@ _Pep_PrivateMangle(PyObject *self, PyObj
- if (amount > big_stack)
- free(resbuf);
- return result;
--#endif // else Py_LIMITED_API
- }
-
- /*****************************************************************************
-diff -upr libshiboken/pep384impl.h libshiboken/pep384impl.h
---- a/libshiboken/pep384impl.h 2020-11-11 14:51:30.000000000 +0200
-+++ b/libshiboken/pep384impl.h 2021-12-01 15:13:58.899521842 +0200
-@@ -40,6 +40,11 @@
- #ifndef PEP384IMPL_H
- #define PEP384IMPL_H
-
-+// PYSIDE-1436: Adapt to Python 3.10
-+#if PY_VERSION_HEX < 0x030900A4
-+# define Py_SET_REFCNT(obj, refcnt) ((Py_REFCNT(obj) = (refcnt)), (void)0)
-+#endif
-+
- extern "C"
- {
-
-@@ -327,7 +332,7 @@ LIBSHIBOKEN_API PyObject *PyRun_String(c
- // But this is no problem as we check it's validity for every version.
-
- #define PYTHON_BUFFER_VERSION_COMPATIBLE (PY_VERSION_HEX >= 0x03030000 && \
-- PY_VERSION_HEX < 0x0309FFFF)
-+ PY_VERSION_HEX < 0x030AFFFF)
- #if !PYTHON_BUFFER_VERSION_COMPATIBLE
- # error Please check the buffer compatibility for this python version!
- #endif
-diff -upr libshiboken/sbkstring.cpp libshiboken/sbkstring.cpp
---- a/libshiboken/sbkstring.cpp 2020-11-11 14:51:30.000000000 +0200
-+++ b/libshiboken/sbkstring.cpp 2021-12-01 15:14:47.703201473 +0200
-@@ -247,7 +247,7 @@ static void finalizeStaticStrings()
- {
- auto &set = staticStrings();
- for (PyObject *ob : set) {
-- Py_REFCNT(ob) = 1;
-+ Py_SET_REFCNT(ob, 1);
- Py_DECREF(ob);
- }
- set.clear();
-diff -upr shibokenmodule/files.dir/shibokensupport/signature/mapping.py shibokenmodule/files.dir/shibokensupport/signature/mapping.py
---- a/shibokenmodule/files.dir/shibokensupport/signature/mapping.py 2020-11-11 14:51:30.000000000 +0200
-+++ b/shibokenmodule/files.dir/shibokensupport/signature/mapping.py 2021-12-01 15:15:14.560100869 +0200
-@@ -300,6 +300,7 @@ type_map.update({
- "zero(object)": None,
- "zero(str)": "",
- "zero(typing.Any)": None,
-+ "zero(Any)": None,
- })
-
- type_map.update({
-diff -upr shibokenmodule/files.dir/shibokensupport/signature/parser.py shibokenmodule/files.dir/shibokensupport/signature/parser.py
---- a/shibokenmodule/files.dir/shibokensupport/signature/parser.py 2020-11-11 14:51:30.000000000 +0200
-+++ b/shibokenmodule/files.dir/shibokensupport/signature/parser.py 2021-12-01 15:25:43.267843740 +0200
-@@ -43,10 +43,11 @@ import sys
- import re
- import warnings
- import types
-+import typing
- import keyword
- import functools
- from shibokensupport.signature.mapping import (type_map, update_mapping,
-- namespace, typing, _NotCalled, ResultVariable, ArrayLikeVariable)
-+ namespace, _NotCalled, ResultVariable, ArrayLikeVariable)
- from shibokensupport.signature.lib.tool import (SimpleNamespace,
- build_brace_pattern)
-
-@@ -222,7 +223,7 @@ def _resolve_arraytype(thing, line):
- def to_string(thing):
- if isinstance(thing, str):
- return thing
-- if hasattr(thing, "__name__"):
-+ if hasattr(thing, "__name__") and thing.__module__ != "typing":
- dot = "." in str(thing)
- name = get_name(thing)
- return thing.__module__ + "." + name if dot else name
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch
deleted file mode 100644
index 4ab435555591..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.2-python311-fixups.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-The Fedora / upstream fixes (shiboken2-5.15.2-python311.patch) end up breaking
-Python 3.8 compatibility (maybe 3.9 too, but didn't get that far).
-
-Wrap them with PY_VERSION_HEX for Python 3.11.
---- a/libshiboken/basewrapper.cpp
-+++ b/libshiboken/basewrapper.cpp
-@@ -366,7 +366,11 @@ SbkObjectType *SbkObject_TypeF(void)
- static PyTypeObject *type = nullptr;
- if (!type) {
- type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&SbkObject_Type_spec));
-- Py_SET_TYPE(type, SbkObjectType_TypeF());
-+ #if PY_VERSION_HEX < 0x030B00A1
-+ Py_TYPE(type) = SbkObjectType_TypeF();
-+ #else
-+ Py_SET_TYPE(type, SbkObjectType_TypeF());
-+ #endif
- Py_INCREF(Py_TYPE(type));
- type->tp_weaklistoffset = offsetof(SbkObject, weakreflist);
- type->tp_dictoffset = offsetof(SbkObject, ob_dict);
-@@ -1110,7 +1114,11 @@ introduceWrapperType(PyObject *enclosingObject,
- typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType ? baseType : SbkObject_TypeF());
-
- PyObject *heaptype = SbkType_FromSpecWithBases(typeSpec, baseTypes);
-- Py_SET_TYPE(heaptype, SbkObjectType_TypeF());
-+ #if PY_VERSION_HEX < 0x030B00A1
-+ Py_TYPE(heaptype) = SbkObjectType_TypeF();
-+ #else
-+ Py_SET_TYPE(heaptype, SbkObjectType_TypeF());
-+ #endif
- Py_INCREF(Py_TYPE(heaptype));
- auto *type = reinterpret_cast<SbkObjectType *>(heaptype);
- #if PY_VERSION_HEX < 0x03000000
---- a/libshiboken/sbkenum.cpp
-+++ b/libshiboken/sbkenum.cpp
-@@ -741,7 +741,11 @@ newTypeWithName(const char *name,
- copyNumberMethods(numbers_fromFlag, newslots, &idx);
- newspec.slots = newslots;
- auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&newspec));
-- Py_SET_TYPE(type, SbkEnumType_TypeF());
-+ #if PY_VERSION_HEX < 0x030B00A1
-+ Py_TYPE(type) = SbkEnumType_TypeF();
-+ #else
-+ Py_SET_TYPE(type, SbkEnumType_TypeF());
-+ #endif
-
- auto *enumType = reinterpret_cast<SbkEnumType *>(type);
- PepType_SETP(enumType)->cppName = cppName;
diff --git a/dev-python/shiboken2/files/shiboken2-5.15.2-python311.patch b/dev-python/shiboken2/files/shiboken2-5.15.2-python311.patch
deleted file mode 100644
index 063861a1cb1a..000000000000
--- a/dev-python/shiboken2/files/shiboken2-5.15.2-python311.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-https://src.fedoraproject.org/fork/pviktori/rpms/python-pyside2/raw/5da9902bd8732b49eb722d71f306d4ab197c84b8/f/python3.11.patch
-https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=52df3b8f64
-https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=73adefe22f
-https://code.qt.io/cgit/pyside/pyside-setup.git/patch/?id=a09a1db839
-
-From b64ad27d8dfeeecaaa8a98051252a32c9d998df4 Mon Sep 17 00:00:00 2001
-From: Friedemann Kleint <Friedemann.Kleint@qt.io>
-Date: Thu, 9 Jun 2022 16:50:41 +0200
-Subject: [PATCH] libshiboken: Fix a crash in Shiboken::Object::isValid() for
- Python 3.11
-
-The function is passed type objects for class methods, which caused
-it to crash.
-
-The first clause did not catch this, and so it was cast to SbkObject
-below.
-
-Add a type check to prevent this.
-
-Pick-to: 6.3 6.2 5.15
-Task-number: PYSIDE-1960
-Change-Id: Icfdd6fefb7156ac5961444bd5395109849a1d66e
-Reviewed-by: Christian Tismer <tismer@stackless.com>
-Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
---- a/libshiboken/basewrapper.cpp
-+++ b/libshiboken/basewrapper.cpp
-@@ -1468,6 +1468,7 @@ bool setCppPointer(SbkObject *sbkObj, PyTypeObject *desiredType, void *cptr)
- bool isValid(PyObject *pyObj)
- {
- if (!pyObj || pyObj == Py_None
-+ || PyType_Check(pyObj) != 0
- || Py_TYPE(Py_TYPE(pyObj)) != SbkObjectType_TypeF()) {
- return true;
- }
---- a/libshiboken/basewrapper.cpp
-+++ b/libshiboken/basewrapper.cpp
-@@ -366,7 +366,7 @@ SbkObjectType *SbkObject_TypeF(void)
- static PyTypeObject *type = nullptr;
- if (!type) {
- type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&SbkObject_Type_spec));
-- Py_TYPE(type) = SbkObjectType_TypeF();
-+ Py_SET_TYPE(type, SbkObjectType_TypeF());
- Py_INCREF(Py_TYPE(type));
- type->tp_weaklistoffset = offsetof(SbkObject, weakreflist);
- type->tp_dictoffset = offsetof(SbkObject, ob_dict);
-@@ -1110,7 +1110,7 @@ introduceWrapperType(PyObject *enclosingObject,
- typeSpec->slots[0].pfunc = reinterpret_cast<void *>(baseType ? baseType : SbkObject_TypeF());
-
- PyObject *heaptype = SbkType_FromSpecWithBases(typeSpec, baseTypes);
-- Py_TYPE(heaptype) = SbkObjectType_TypeF();
-+ Py_SET_TYPE(heaptype, SbkObjectType_TypeF());
- Py_INCREF(Py_TYPE(heaptype));
- auto *type = reinterpret_cast<SbkObjectType *>(heaptype);
- #if PY_VERSION_HEX < 0x03000000
---- a/libshiboken/sbkenum.cpp
-+++ b/libshiboken/sbkenum.cpp
-@@ -741,7 +741,7 @@ newTypeWithName(const char *name,
- copyNumberMethods(numbers_fromFlag, newslots, &idx);
- newspec.slots = newslots;
- auto *type = reinterpret_cast<PyTypeObject *>(SbkType_FromSpec(&newspec));
-- Py_TYPE(type) = SbkEnumType_TypeF();
-+ Py_SET_TYPE(type, SbkEnumType_TypeF());
-
- auto *enumType = reinterpret_cast<SbkEnumType *>(type);
- PepType_SETP(enumType)->cppName = cppName;
-From a09a1db8391243e6bb290ee66bb6e3afbb114c61 Mon Sep 17 00:00:00 2001
-From: Friedemann Kleint <Friedemann.Kleint@qt.io>
-Date: Fri, 24 Jun 2022 09:22:01 +0200
-Subject: libshiboken: Fix crashes with static strings in Python 3.11
-
-In Python 3.11, some strings come with a refcount above decimal
-1000000000, apparently indicating that they are interned. Replace the
-mechanism by PyUnicode_InternFromString().
-
-Task-number: PYSIDE-1960
-Pick-to: 6.3 6.2 5.15
-Change-Id: I6436afee351f89da5814b5d6bc76970b1b508168
-Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-Reviewed-by: Christian Tismer <tismer@stackless.com>
-Upstream: https://code.qt.io/cgit/pyside/pyside-setup.git/commit/?id=a09a1db8391243e6bb290ee66bb6e3afbb114c61
-
---- a/libshiboken/sbkstring.cpp
-+++ b/libshiboken/sbkstring.cpp
-@@ -5,8 +5,14 @@
- #include "sbkstaticstrings_p.h"
- #include "autodecref.h"
-
--#include <vector>
--#include <unordered_set>
-+#if PY_VERSION_HEX >= 0x030B0000 || defined(Py_LIMITED_API)
-+# define USE_INTERN_STRINGS
-+#endif
-+
-+#ifndef USE_INTERN_STRINGS
-+# include <vector>
-+# include <unordered_set>
-+#endif
-
- namespace Shiboken
- {
-@@ -179,6 +185,13 @@ Py_ssize_t len(PyObject *str)
- // PyObject *attr = PyObject_GetAttr(obj, name());
- //
-
-+#ifdef USE_INTERN_STRINGS
-+PyObject *createStaticString(const char *str)
-+{
-+ return PyUnicode_InternFromString(str);
-+}
-+#else
-+
- using StaticStrings = std::unordered_set<PyObject *>;
-
- static void finalizeStaticStrings(); // forward
-@@ -225,6 +238,8 @@ PyObject *createStaticString(const char *str)
- return result;
- }
-
-+#endif // !USE_INTERN_STRINGS
-+
- ///////////////////////////////////////////////////////////////////////
- //
- // PYSIDE-1019: Helper function for snake_case vs. camelCase names
-cgit v1.2.1
-
diff --git a/dev-python/spyder-notebook/Manifest b/dev-python/spyder-notebook/Manifest
new file mode 100644
index 000000000000..1a8a3fe5afd3
--- /dev/null
+++ b/dev-python/spyder-notebook/Manifest
@@ -0,0 +1 @@
+DIST spyder-notebook-0.4.0.gh.tar.gz 3869758 BLAKE2B db809e9a2b93206ba0236e825b7d8f612efe552be5b9bbcdd60021ee143f16674e05847834bbd63a801c32e2264e5335685887aad0519033a315b3c2c0fcd3d6 SHA512 ab97429d276af815411b9a63bc04e291e5ed596bb9c551be8161e71761fc21a61b896b73ec1d93c9a2b4561ba228b93ac86f3b542a515cbfc651e9e218f6f778
diff --git a/dev-python/spyder-notebook/metadata.xml b/dev-python/spyder-notebook/metadata.xml
new file mode 100644
index 000000000000..f4c4fc90a218
--- /dev/null
+++ b/dev-python/spyder-notebook/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+
+ <origin>gentoo-staging</origin>
+ <stabilize-allarches/>
+</pkgmetadata> \ No newline at end of file
diff --git a/dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild b/dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild
new file mode 100644
index 000000000000..940b44f66123
--- /dev/null
+++ b/dev-python/spyder-notebook/spyder-notebook-0.4.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+# ERROR: Server components are missing!! Please run 'python setup.py sdist' first.
+# DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Jupyter notebook integration with Spyder"
+HOMEPAGE="https://github.com/spyder-ide/spyder-notebook"
+SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/jupyter_core[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/notebook-4.3[${PYTHON_USEDEP}]
+ dev-python/qdarkstyle[${PYTHON_USEDEP}]
+ dev-python/QtPy[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/spyder-5.3.3[${PYTHON_USEDEP}]
+ <dev-python/spyder-6[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+"
+
+BDEPEND="test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+)"
+
+DOCS=( "README.md" "RELEASE.md" "CHANGELOG.md" "doc/example.gif" )
+
+distutils_enable_tests pytest
+
+python_test() {
+ virtx epytest
+}
diff --git a/dev-python/spyder/spyder-5.3.3.ebuild b/dev-python/spyder/spyder-5.3.3.ebuild
index 6f2c3f9171f3..f6b02e1c47b0 100644
--- a/dev-python/spyder/spyder-5.3.3.ebuild
+++ b/dev-python/spyder/spyder-5.3.3.ebuild
@@ -183,10 +183,9 @@ pkg_postinst() {
optfeature "Vim key bindings" dev-python/spyder-vim
optfeature "Unittest support" dev-python/spyder-unittest
optfeature "System terminal inside spyder" dev-python/spyder-terminal
+ optfeature "Jupyter notebook support" dev-python/spyder-notebook
# spyder-memory-profiler is not compatible with spyder-5.2+ yet
# optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
- # spyder-notebook is not compatible with spyder-5.2+ yet
- # optfeature "Jupyter notebook support" dev-python/spyder-notebook
# spyder-reports not yet updated to >=spyder-4.0.0
# optfeature "Markdown reports using Pweave" dev-python/spyder-reports
# Plugins with no release yet: