summaryrefslogtreecommitdiff
path: root/dev-python/wxpython
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2025-06-03 21:55:27 +0200
committerMichał Górny <mgorny@gentoo.org>2025-06-03 21:59:34 +0200
commite54ec892d3a4c6620519a68f2f462176bb60ad61 (patch)
tree63a04c15da20efe8751847246d4d74d29aaa25e7 /dev-python/wxpython
parentd85e3e4861cc8e47f5e364dd86ee43b47a554aef (diff)
downloadgentoo-e54ec892d3a4c6620519a68f2f462176bb60ad61.tar.gz
gentoo-e54ec892d3a4c6620519a68f2f462176bb60ad61.tar.bz2
gentoo-e54ec892d3a4c6620519a68f2f462176bb60ad61.zip
dev-python/wxpython: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/wxpython')
-rw-r--r--dev-python/wxpython/Manifest3
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch19
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch13
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch46
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch26
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-sip-6.10.0.patch23
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.2-sip-6.10.0.patch14
-rw-r--r--dev-python/wxpython/wxpython-4.2.0.ebuild123
-rw-r--r--dev-python/wxpython/wxpython-4.2.1-r2.ebuild137
-rw-r--r--dev-python/wxpython/wxpython-4.2.2.ebuild136
10 files changed, 0 insertions, 540 deletions
diff --git a/dev-python/wxpython/Manifest b/dev-python/wxpython/Manifest
index b7506b2ccfc7..bef61471da19 100644
--- a/dev-python/wxpython/Manifest
+++ b/dev-python/wxpython/Manifest
@@ -1,4 +1 @@
-DIST wxPython-4.2.0.tar.gz 70958238 BLAKE2B 2e8e34c4f5d1992983bfe4e09bb56ee5619b139b9b3b5f05dee48ecdf6971cf9fe1b0fb22aec685904eb44db6f50a4ba132a08aa91930d809040da828efa097e SHA512 9ec937a024efb2916403c84382a66004f0c2bb07471246b7de517778309ce459e929eeb59e261f538d3fa077c950628de62e49a3760fbd03ab9ff2114c6f354f
-DIST wxPython-4.2.1.tar.gz 73724359 BLAKE2B d9569ea172c7279e0b2cfcb3cdcd5d1faab5324e2648c9b0f8c8b838fb2355dc6af28c4593e5dd0cfa02573133bf15a58a6ffa9711d854925a9cada0985dc7f8 SHA512 ee9ab8effb3c71de004c3d61ec583b9980c6b75fe9bb04cf2c76025ea70afc206bc3073c44d1c83c7ba604afed9fd38c01b9ef506617ba279a4ac58e3cf34438
-DIST wxPython-4.2.2.tar.gz 57358880 BLAKE2B 325256e0d57f868453ed48ea4580a1ea6763acffacb7cd937cf440c55f43fc540dab867a947fb2c9eb353855888aaa370d85103b888bd1339cf5abe7302aba19 SHA512 08b74285b94f21ebf30fef8c9ebf8cfd074dd3976209372bb5b704b0b792038f9af484dd1378894052eedb0ce603af6935b7d00d695da4e4a15e1ea3bdb3520f
DIST wxPython-4.2.3.tar.gz 58861286 BLAKE2B 2c674227ff109564be1431f2a86a212250ffac809fed4ca8934f7473c93616603e252098511e443ffdf460ab546b5eb17b3f29ab275fb8b5433041a4d47e48cb SHA512 c7b9f0758b9d77dbeab436e8069c024796b6f252af5043615e14083b3f62fb44386c5f325a118f9e2d99c15eeb7687bb1cc1a13a00263114689b32e2126364a7
diff --git a/dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch b/dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch
deleted file mode 100644
index aff380108b8e..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.0-cython-3.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-https://bugs.gentoo.org/911703
-https://github.com/wxWidgets/Phoenix/pull/2441
-
-From aeb557d01e7cd37176ebbf0f1ae6d0b53c115378 Mon Sep 17 00:00:00 2001
-From: Scott Talbert <swt@techie.net>
-Date: Tue, 25 Jul 2023 12:42:32 -0400
-Subject: [PATCH] Fix compatibility with Cython 3.0.0
-
-Remove unused import which seems to be removed in Cython 3.
---- a/wx/svg/_nanosvg.pyx
-+++ b/wx/svg/_nanosvg.pyx
-@@ -42,7 +42,6 @@ for manipulating the SVG shape info in memory.
-
- import sys
-
--cimport cython.object
- from cpython.buffer cimport (
- Py_buffer, PyObject_CheckBuffer, PyObject_GetBuffer, PyBUF_SIMPLE,
- PyBuffer_Release)
diff --git a/dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch b/dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch
deleted file mode 100644
index b3e4beff2cfe..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.0-no-attrdict.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-As in https://src.fedoraproject.org/rpms/python-wxpython4/raw/rawhide/f/no-attrdict.patch.
---- a/buildtools/config.py
-+++ b/buildtools/config.py
-@@ -27,8 +27,6 @@ from distutils.dep_util import newer
-
- import distutils.sysconfig
-
--from attrdict import AttrDict
--
- runSilently = False
-
- #----------------------------------------------------------------------
-
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch b/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch
deleted file mode 100644
index 7baf5708b8ff..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://bugs.gentoo.org/934482
-https://github.com/wxWidgets/Phoenix/commit/6a049ccc0ad96f25c3f7d8540b218ffe8921d8c5
-
-From 6a049ccc0ad96f25c3f7d8540b218ffe8921d8c5 Mon Sep 17 00:00:00 2001
-From: Scott Talbert <swt@techie.net>
-Date: Tue, 5 Dec 2023 23:42:21 -0500
-Subject: [PATCH] Support building with Doxygen 1.9.7
-
-Doxygen 1.9.7 made some changes whereby some method definitions are now
-defined in separate XML files, with a "refid" that links to them. In
-order to support this, we need to follow these "refids" to pick up the
-method definition from the separate group XML files.
---- a/etgtools/extractors.py
-+++ b/etgtools/extractors.py
-@@ -62,6 +62,8 @@ def extract(self, element):
- # class. Should be overridden in derived classes to get what each one
- # needs in addition to the base.
- self.name = element.find(self.nameTag).text
-+ if self.name is None:
-+ self.name = ''
- if '::' in self.name:
- loc = self.name.rfind('::')
- self.name = self.name[loc+2:]
-@@ -1574,12 +1576,21 @@ def addElement(self, element):
- extractingMsg(kind, element)
- for node in element.findall('sectiondef/memberdef'):
- self.addElement(node)
-+ for node in element.findall('sectiondef/member'):
-+ node = self.resolveRefid(node)
-+ self.addElement(node)
-
- else:
- raise ExtractorError('Unknown module item kind: %s' % kind)
-
- return item
-
-+ def resolveRefid(self, node):
-+ from etgtools import XMLSRC
-+ refid = node.get('refid')
-+ fname = os.path.join(XMLSRC, refid.rsplit('_', 1)[0]) + '.xml'
-+ root = et.parse(fname).getroot()
-+ return root.find(".//memberdef[@id='{}']".format(refid))
-
-
- def addCppFunction(self, type, name, argsString, body, doc=None, **kw):
-
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch b/dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch
deleted file mode 100644
index b98624d7df8f..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From https://github.com/wxWidgets/Phoenix/pull/2508
-From 3b042c863f4092f802a877a972fd6eb284451a78 Mon Sep 17 00:00:00 2001
-From: Ben Greiner <code@bnavigator.de>
-Date: Sat, 6 Jan 2024 21:58:29 +0100
-Subject: [PATCH] integer division for randint
-
-Python 3.12 does not accept floats for random.randint() anymore
----
- unittests/test_dcDrawLists.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/unittests/test_dcDrawLists.py b/unittests/test_dcDrawLists.py
-index 9e35e5eaf..6696a79a0 100644
---- a/unittests/test_dcDrawLists.py
-+++ b/unittests/test_dcDrawLists.py
-@@ -63,8 +63,8 @@ def makeRandomRectangles():
- rects = []
-
- for i in range(num):
-- W = random.randint(10, w/2)
-- H = random.randint(10, h/2)
-+ W = random.randint(10, w//2)
-+ H = random.randint(10, h//2)
- x = random.randint(0, w - W)
- y = random.randint(0, h - H)
- rects.append( (x, y, W, H) )
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-sip-6.10.0.patch b/dev-python/wxpython/files/wxpython-4.2.1-sip-6.10.0.patch
deleted file mode 100644
index 5d6751d7a8d4..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.1-sip-6.10.0.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-https://bugs.gentoo.org/949510#c4
-https://github.com/wxWidgets/Phoenix/commit/de9aa4be5bb49adf82991c7582ea3c42ed505bf7.patch
-
-From de9aa4be5bb49adf82991c7582ea3c42ed505bf7 Mon Sep 17 00:00:00 2001
-From: Scott Talbert <swt@techie.net>
-Date: Sun, 9 Feb 2025 17:50:08 -0500
-Subject: [PATCH] Update SIP ABI version to 12.14
-
-We haven't supported 12.8 since before we upgraded to SIP 6.6+.
-However, SIP has not been correctly generating the correct module
-version until very recently, so generating 12.8 doesn't actually compile
-with current wxPython.
---- a/buildtools/config.py
-+++ b/buildtools/config.py
-@@ -88,7 +88,7 @@ class Configuration(object):
- PKGDIR = 'wx'
- # The name of the top-level package
-
-- SIP_ABI = '12.8'
-+ SIP_ABI = '12.14'
- SIP_TRACE = False
-
- # ---------------------------------------------------------------
diff --git a/dev-python/wxpython/files/wxpython-4.2.2-sip-6.10.0.patch b/dev-python/wxpython/files/wxpython-4.2.2-sip-6.10.0.patch
deleted file mode 100644
index 7f15661b601f..000000000000
--- a/dev-python/wxpython/files/wxpython-4.2.2-sip-6.10.0.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://bugs.gentoo.org/949510#c4
-https://github.com/wxWidgets/Phoenix/commit/de9aa4be5bb49adf82991c7582ea3c42ed505bf7.patch
-
---- a/buildtools/config.py
-+++ b/buildtools/config.py
-@@ -85,7 +85,7 @@
- PKGDIR = 'wx'
- # The name of the top-level package
-
-- SIP_ABI = '12.9'
-+ SIP_ABI = '12.14'
- SIP_TRACE = False
-
- # ---------------------------------------------------------------
diff --git a/dev-python/wxpython/wxpython-4.2.0.ebuild b/dev-python/wxpython/wxpython-4.2.0.ebuild
deleted file mode 100644
index b320d237f144..000000000000
--- a/dev-python/wxpython/wxpython-4.2.0.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_IN_SOURCE_BUILD="1"
-PYTHON_COMPAT=( python3_11 )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="wxPython"
-WX_GTK_VER="3.2-gtk3"
-
-inherit distutils-r1 multiprocessing virtualx wxwidgets pypi
-
-DESCRIPTION="A blending of the wxWindows C++ class library with Python"
-HOMEPAGE="https://www.wxpython.org/"
-
-LICENSE="wxWinLL-3"
-SLOT="4.0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="test webkit"
-# Tests broken: #726812, #722716
-# Nearly there as of 4.2.0 but still quite flaky (inconsistent set of failures)
-RESTRICT="!test? ( test ) test"
-
-# wxPython doesn't seem to be able to optionally disable features. webkit is
-# optionally patched out because it's so huge, but other elements are not,
-# which makes us have to require all features from wxGTK
-RDEPEND="
- >=x11-libs/wxGTK-3.0.4-r301:${WX_GTK_VER}=[gstreamer,libnotify,opengl,sdl,tiff,webkit?,X]
- media-libs/libpng:=
- media-libs/tiff:=
- media-libs/libjpeg-turbo:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-text/doxygen
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/sip-6.6.2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- #"${FILESDIR}/${PN}-4.0.6-skip-broken-tests.patch"
- "${FILESDIR}/${PN}-4.2.0-no-attrdict.patch"
- "${FILESDIR}/${PN}-4.2.0-flags.patch"
- "${FILESDIR}/${PN}-4.2.0-cython-3.patch"
-)
-
-python_prepare_all() {
- if ! use webkit; then
- eapply "${FILESDIR}/${PN}-4.2.0-no-webkit.patch"
- rm unittests/test_webview.py || die
- fi
-
- # Most of these tests disabled below fail because of the virtx/portage
- # environment, but some fail for unknown reasons.
- rm unittests/test_uiaction.py \
- unittests/test_notifmsg.py \
- unittests/test_mousemanager.py \
- unittests/test_display.py \
- unittests/test_pi_import.py \
- unittests/test_lib_agw_thumbnailctrl.py \
- unittests/test_sound.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- setup-wxwidgets
-}
-
-python_compile() {
- DOXYGEN="$(type -P doxygen)" ${PYTHON} build.py dox etg --nodoc || die
-
- # Refresh the bundled/pregenerated sip files
- ${PYTHON} build.py sip || die
-
- # Build the bindings
- ${PYTHON} build.py build_py \
- --use_syswx \
- --no_magic \
- --jobs="$(makeopts_jobs)" \
- --verbose \
- --release || die
-}
-
-python_test() {
- EPYTEST_DESELECT=(
- # Aborts, needs investigation
- unittests/test_utils.py::utils_Tests::test_utilsSomeOtherStuff
-
- # Failures, need investigation
- unittests/test_frame.py::frame_Tests::test_frameRestore
- unittests/test_fswatcher.py::fswatcher_Tests::test_fswatcher1
- unittests/test_intl.py::intl_Tests::test_intlGetString
- unittests/test_lib_busy.py::lib_busy_Tests::test_lib_busy5
- unittests/test_lib_mixins_inspection.py::wit_TestCase::test_App_OnInit
- unittests/test_lib_pubsub_provider.py::lib_pubsub_Except::test1
- unittests/test_lib_pubsub_topicmgr.py::lib_pubsub_TopicMgr2_GetOrCreate_DefnProv::test20_UseProvider
- unittests/test_windowid.py::IdManagerTest::test_newIdRef03
- unittests/test_auibook.py::auibook_Tests::test_auibook02
- unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerPersistValue
- unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerRestore
- unittests/test_aboutdlg.py::aboutdlg_Tests::test_aboutdlgGeneric
- unittests/test_auiframemanager.py::auiframemanager_Tests::test_auiframemanager02
- )
-
- # We use pytest-forked as opensuse does to avoid tests corrupting each
- # other.
- virtx epytest --forked -n "$(makeopts_jobs)" unittests
-}
-
-python_install() {
- distutils-r1_python_install --skip-build
-}
diff --git a/dev-python/wxpython/wxpython-4.2.1-r2.ebuild b/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
deleted file mode 100644
index 9636fc271872..000000000000
--- a/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_IN_SOURCE_BUILD="1"
-PYTHON_COMPAT=( python3_{11..12} )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="wxPython"
-WX_GTK_VER="3.2-gtk3"
-
-inherit distutils-r1 multiprocessing virtualx wxwidgets pypi
-
-DESCRIPTION="A blending of the wxWindows C++ class library with Python"
-HOMEPAGE="
- https://www.wxpython.org/
- https://github.com/wxWidgets/Phoenix/
- https://pypi.org/project/wxPython/
-"
-
-LICENSE="wxWinLL-3"
-SLOT="4.0"
-KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="test webkit"
-RESTRICT="!test? ( test )"
-
-# wxPython doesn't seem to be able to optionally disable features. webkit is
-# optionally patched out because it's so huge, but other elements are not,
-# which makes us have to require all features from wxGTK
-DEPEND="
- >=x11-libs/wxGTK-3.0.4-r301:${WX_GTK_VER}=[gstreamer,libnotify,opengl,sdl,tiff,webkit?,X]
- media-libs/libpng:=
- media-libs/tiff:=
- media-libs/libjpeg-turbo:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- app-text/doxygen
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/sip-6.6.2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.2.0-flags.patch"
- "${FILESDIR}/${PN}-4.2.0-cython-3.patch"
- "${FILESDIR}/${PN}-4.2.1-integer-division-for-randint.patch"
- "${FILESDIR}/${PN}-4.2.1-x86-time.patch"
- "${FILESDIR}/${PN}-4.2.1-doxygen-1.9.7.patch"
- "${FILESDIR}/${PN}-4.2.1-sip-6.10.0.patch"
-)
-
-python_prepare_all() {
- if ! use webkit; then
- eapply "${FILESDIR}/${PN}-4.2.0-no-webkit.patch"
- fi
-
- # sip assumes unconditional C99 support since 6.8.4
- # which breaks when trying to use "sip/siplib/bool.cpp"
- # https://github.com/Python-SIP/sip/commit/29fb3df49ff37df7aab9d5666fd72de95ac9e7f8
- if has_version ">=dev-python/sip-6.8.4"; then
- sed -i '\|sip/siplib/bool\.cpp|d' wscript || die
- fi
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- setup-wxwidgets
-}
-
-python_compile() {
- DOXYGEN="$(type -P doxygen)" ${PYTHON} build.py dox etg --nodoc || die
-
- # Refresh the bundled/pregenerated sip files
- "${EPYTHON}" build.py sip || die
-
- # Build the bindings
- "${EPYTHON}" build.py build_py \
- --use_syswx \
- --no_magic \
- --jobs="$(makeopts_jobs)" \
- --verbose \
- --release || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # virtx probably
- unittests/test_display.py::display_Tests::test_display
- unittests/test_frame.py::frame_Tests::test_frameRestore
- unittests/test_mousemanager.py::mousemanager_Tests::test_mousemanager1
- unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardChar
- unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardKeyDownUp
- unittests/test_uiaction.py::uiaction_MouseTests
-
- # assertion (TODO)
- unittests/test_aboutdlg.py::aboutdlg_Tests::test_aboutdlgGeneric
- unittests/test_lib_agw_piectrl.py::lib_agw_piectrl_Tests::test_lib_agw_piectrlCtor
-
- # seems to rely on state from a previous test (sigh)
- unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerRestore
-
- # requires Spanish localization
- unittests/test_intl.py::intl_Tests::test_intlGetString
-
- # TODO
- unittests/test_tipwin.py::tipwin_Tests::test_tipwinCtor
- unittests/test_lib_pubsub_provider.py::lib_pubsub_Except::test1
- unittests/test_windowid.py::IdManagerTest::test_newIdRef03
- )
- local EPYTEST_IGNORE=()
- if ! use webkit; then
- EPYTEST_IGNORE+=( unittests/test_webview.py )
- fi
-
- # We use pytest-forked as opensuse does to avoid tests corrupting each
- # other.
- virtx epytest --forked -n "$(makeopts_jobs)" unittests
-}
-
-python_install() {
- distutils-r1_python_install --skip-build
-}
diff --git a/dev-python/wxpython/wxpython-4.2.2.ebuild b/dev-python/wxpython/wxpython-4.2.2.ebuild
deleted file mode 100644
index 51d28a550bdd..000000000000
--- a/dev-python/wxpython/wxpython-4.2.2.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..13} )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="wxPython"
-WX_GTK_VER="3.2-gtk3"
-
-inherit distutils-r1 multiprocessing virtualx wxwidgets pypi
-
-DESCRIPTION="A blending of the wxWindows C++ class library with Python"
-HOMEPAGE="
- https://www.wxpython.org/
- https://github.com/wxWidgets/Phoenix/
- https://pypi.org/project/wxPython/
-"
-
-LICENSE="wxWinLL-3"
-SLOT="4.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="test webkit"
-RESTRICT="!test? ( test )"
-
-# wxPython doesn't seem to be able to optionally disable features. webkit is
-# optionally patched out because it's so huge, but other elements are not,
-# which makes us have to require all features from wxGTK
-DEPEND="
- >=x11-libs/wxGTK-3.2.6:${WX_GTK_VER}=[gstreamer,libnotify,opengl,sdl,tiff,webkit?,X]
- media-libs/libpng:=
- media-libs/tiff:=
- media-libs/libjpeg-turbo:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- app-text/doxygen
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/sip-6.8.5[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.2.0-flags.patch"
- "${FILESDIR}/${PN}-4.2.1-x86-time.patch"
- "${FILESDIR}/${P}-sip-6.10.0.patch"
- "${FILESDIR}/${P}-setuppy.patch"
-)
-
-python_prepare_all() {
- if ! use webkit; then
- eapply "${FILESDIR}/${PN}-4.2.0-no-webkit.patch"
- fi
-
- # sip assumes unconditional C99 support since 6.8.4
- # which breaks when trying to use "sip/siplib/bool.cpp"
- # https://github.com/Python-SIP/sip/commit/29fb3df49ff37df7aab9d5666fd72de95ac9e7f8
- if has_version ">=dev-python/sip-6.8.4"; then
- sed -i '\|sip/siplib/bool\.cpp|d' wscript || die
- fi
-
- local build_options="build_py --use_syswx --no_magic --jobs="$(makeopts_jobs)" --verbose --release"
-
- DISTUTILS_ARGS=(
- --verbose
- build
- --buildpy-options="${build_options}"
- )
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- setup-wxwidgets
-}
-
-python_compile() {
- #Patch will fail if copy of refreshed sip file is not restored if using multiple
- #python implementations
- DOXYGEN="$(type -P doxygen)" ${PYTHON} build.py dox etg sip --nodoc || die
- cp "${S}/sip/cpp/sip_corewxAppTraits.cpp" "${S}" || die
-
- eapply "${FILESDIR}/${P}-no-stacktrace.patch" || die
-
- distutils-r1_python_compile
-
- cp "${S}/sip_corewxAppTraits.cpp" "${S}/sip/cpp/" || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # virtx probably
- unittests/test_display.py::display_Tests::test_display
- unittests/test_frame.py::frame_Tests::test_frameRestore
- unittests/test_mousemanager.py::mousemanager_Tests::test_mousemanager1
- unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardChar
- unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardKeyDownUp
- unittests/test_uiaction.py::uiaction_MouseTests
-
- # assertion (TODO)
- unittests/test_aboutdlg.py::aboutdlg_Tests::test_aboutdlgGeneric
- unittests/test_lib_agw_piectrl.py::lib_agw_piectrl_Tests::test_lib_agw_piectrlCtor
-
- # seems to rely on state from a previous test (sigh)
- unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerRestore
-
- # requires Spanish localization
- unittests/test_intl.py::intl_Tests::test_intlGetString
-
- # TODO
- unittests/test_tipwin.py::tipwin_Tests::test_tipwinCtor
- unittests/test_lib_pubsub_provider.py::lib_pubsub_Except::test1
- unittests/test_windowid.py::IdManagerTest::test_newIdRef03
- )
- local EPYTEST_IGNORE=()
- if ! use webkit; then
- EPYTEST_IGNORE+=( unittests/test_webview.py )
- fi
-
- # We use pytest-forked as opensuse does to avoid tests corrupting each
- # other.
- virtx epytest --forked -n "$(makeopts_jobs)" unittests
-}