summaryrefslogtreecommitdiff
path: root/dev-python/wxpython
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/wxpython')
-rw-r--r--dev-python/wxpython/Manifest5
-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-x86-time.patch34
-rw-r--r--dev-python/wxpython/wxpython-4.2.1-r2.ebuild (renamed from dev-python/wxpython/wxpython-4.2.1.ebuild)14
5 files changed, 122 insertions, 3 deletions
diff --git a/dev-python/wxpython/Manifest b/dev-python/wxpython/Manifest
index 449dd4b3c6ae..0af411deb382 100644
--- a/dev-python/wxpython/Manifest
+++ b/dev-python/wxpython/Manifest
@@ -2,8 +2,11 @@ AUX wxpython-4.2.0-cython-3.patch 621 BLAKE2B 047940edf05ba1556c8e3b7ee5f55dd1c3
AUX wxpython-4.2.0-flags.patch 711 BLAKE2B d05ee176b010199f32ba4325452d7eddb60b78e80e2d80421223c061f33f3edf2d84528eac4d50acbf85af532f6fdfd6fb3cda2c8d97525cce5f66a0dd5c6891 SHA512 ac9c04b086af69d1bd7ce7ff6d9b87b8f6cf5c5273ada18089247f1f951f32009d181ff24758c01f1954183dcbf20fb0bce7501346cc615a18b4f43f2831c7bb
AUX wxpython-4.2.0-no-attrdict.patch 363 BLAKE2B 2ab3735103574959e069ecd647dc003ad6362760214a67632c91a7d216a372b4bf13450a7420bb8415bd744cac23a514726bf6feb09302b775a2a4c580094599 SHA512 b410023d186db3b07b3780fad2e1037d5a854f10771a5e1c8cd98da91a36e727931bf75944ff1a56e0730ff78a4ec8c9a3d81dec02efa3fe91191ad0a1639859
AUX wxpython-4.2.0-no-webkit.patch 1285 BLAKE2B 19fdee2293da214b8ae318b2670298b34b745cfefd3938be1f22c810cb1bc4273d628aa34cf427c1023d90739784d8e5c8d381e6084689876bdc336a86a3d0db SHA512 fbe6825f266443b9dec68786e26d6e3842d4dec3b9927420ecaca45a834798c8ef83a95398ea498db386e7d1c659a6a3779a5b62867296cc7244401b06db9586
+AUX wxpython-4.2.1-doxygen-1.9.7.patch 1870 BLAKE2B 383266a9dcd1dd87c6772b082964b2819b07eafe23cac785b78284fb5052e00f3a259616aecd4f8697edae59540ff1b1df3a4353749d0895b02dfb89f50e2974 SHA512 11dea33fcba746c8709984021b1d3eb283754fd8b11ae9ab27f40ac2841967e05ca156e4da7adf205cef890379d6257fdf577488d3bb568b423ec42cb20cbf60
+AUX wxpython-4.2.1-integer-division-for-randint.patch 939 BLAKE2B 4386cab3372bd8fe56979f2bdfc25bfb0d6ebc4aa80568f0bcda8c0a36a31deff454fba9e4452c62401f5c2f5a7bc94370d16aad557b00ff176fc5d4139a5ce1 SHA512 0686f0f50cd2222709cdbd336186b3bec7d5d5293bcb9dcc24c6682863ff31f94c89fd38da154373dea6eccee376cc2437ada6eaf015c1be7467f96e95b717c3
+AUX wxpython-4.2.1-x86-time.patch 1920 BLAKE2B 82d82530740b3618edac30d8d13bb1418444312ca6d82f98fd4102468b246f1f9f0510144fe07fd6597f1f5394213849ce3d195d6a94b0c0b66e308d98f54b58 SHA512 596f784a5b1b49c8f7aa2dad044f9abf03a7bdda4feb77a4e50e2573edb1b5c57996711583c92e09dbc7b29eb07a2aa152a27b379af9fb4123414f75d14737e8
DIST wxPython-4.2.0.tar.gz 70958238 BLAKE2B 2e8e34c4f5d1992983bfe4e09bb56ee5619b139b9b3b5f05dee48ecdf6971cf9fe1b0fb22aec685904eb44db6f50a4ba132a08aa91930d809040da828efa097e SHA512 9ec937a024efb2916403c84382a66004f0c2bb07471246b7de517778309ce459e929eeb59e261f538d3fa077c950628de62e49a3760fbd03ab9ff2114c6f354f
DIST wxPython-4.2.1.tar.gz 73724359 BLAKE2B d9569ea172c7279e0b2cfcb3cdcd5d1faab5324e2648c9b0f8c8b838fb2355dc6af28c4593e5dd0cfa02573133bf15a58a6ffa9711d854925a9cada0985dc7f8 SHA512 ee9ab8effb3c71de004c3d61ec583b9980c6b75fe9bb04cf2c76025ea70afc206bc3073c44d1c83c7ba604afed9fd38c01b9ef506617ba279a4ac58e3cf34438
EBUILD wxpython-4.2.0.ebuild 3924 BLAKE2B 5f72d886f806375ee130a7170f239bf406961760cfd30e00e5fb3ca9d1eca9c1971e058046612636b3a574ff48f8fbc48e5a8c6044cf518ccdf3aa57871ad530 SHA512 936f595d4adeabd48c040dafd371b98a30927c73f955ff4fb29de9ea210fc67a3efd51686389e791f2ed6a384f59b8c45eab57f2e01c42d52f716e97110bd07d
-EBUILD wxpython-4.2.1.ebuild 3531 BLAKE2B 77f9a8c0a60818dcf2c055ac2a2db7f8213d1031be40a48d660324b87e5ea2f6572cf6da2f85e71fca9848e311378f073982dddcca048d0cb18676349666b87f SHA512 3513965eb8ffd03061f93827869100ae2fb8e2aae0401416bf5140bb4d8b39cdd59e398756974e8857c645d03ecf0b0f914d825d11fc3408d4d995c5c3358c21
+EBUILD wxpython-4.2.1-r2.ebuild 3977 BLAKE2B 35a7ee91a9ce2304762ee88020d09eac88fe69e4e679a92e9cf18da974b70c6610ce870700c5212c20cf504fb7698c30cc69f82b1e9285c65ece296d86276816 SHA512 64ba39ed8a51d0b05c7e7d2a38cc89932396ff7769b97bfe544ce90d8300c2507a4c9e2237b881a64ecb46ed938729a905d8f973d43ca6fd9b7284be34ace881
MISC metadata.xml 491 BLAKE2B ffa0cccf66f484c856fb30249bd0ccc3b0da2f3ee8e3c3a0df1782bc58e4867ff99d9711f1784b44b439f2a8bcf297c1082b49a941823f046c7f2c7977a77629 SHA512 a2f5908a276a8f9c512cb59c8d17873398c91b21977371ab724e669f3b6c032d53510fbcd183a5dc340279fc522289e617b8c313c0d825ca70d0d2a5d74f8cfa
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
new file mode 100644
index 000000000000..7baf5708b8ff
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch
@@ -0,0 +1,46 @@
+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
new file mode 100644
index 000000000000..b98624d7df8f
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch
@@ -0,0 +1,26 @@
+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-x86-time.patch b/dev-python/wxpython/files/wxpython-4.2.1-x86-time.patch
new file mode 100644
index 000000000000..ea144419833e
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.1-x86-time.patch
@@ -0,0 +1,34 @@
+https://bugs.gentoo.org/922328
+https://github.com/wxWidgets/Phoenix/issues/1910
+https://github.com/wxWidgets/Phoenix/issues/2197 (specifically https://github.com/wxWidgets/Phoenix/issues/2197#issuecomment-1169378156)
+https://github.com/StefanBruens/Phoenix/commit/8b743981d557d0465ba53e938784be94f4679145 but w/ s/SIP_SSIZE_T/long
+i.e. a revert of https://github.com/wxWidgets/Phoenix/commit/c78823549bac1b28d99a1ad6dc1008485a2afb33.
+
+From 8b743981d557d0465ba53e938784be94f4679145 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
+Date: Tue, 28 Jun 2022 18:32:32 +0200
+Subject: [PATCH] Fix time_t ETG typedef, extend DateTime.FromTimeT tests
+
+Before c78823549bac ("Ensure time_t is treated as a 64-bit value by SIP")
+the typedef used "long" instead of wxInt64, which caused issues on Win64,
+as long is 32bit there (LLP64). On the other hand, wxInt64 is wrong on
+32 bit Linux (e.g. armv7, i586), and thus the code crashes.
+
+As SIP_SSIZE_T is 64 bit for both LLP64 (Windows) and LP64 (Linux), but
+32 bit on 32bit archs, it matches time_t better (though, according to the
+C standard, it could even be a double).
+
+Fixes #2197.
+ etg/defs.py | 2 +-
+
+--- a/etg/defs.py
++++ b/etg/defs.py
+@@ -73,7 +73,7 @@ def run():
+ td = module.find('wxUIntPtr')
+ module.insertItemAfter(td, etgtools.TypedefDef(type='wchar_t', name='wxUChar'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='wchar_t', name='wxChar'))
+- module.insertItemAfter(td, etgtools.TypedefDef(type='wxInt64', name='time_t'))
++ module.insertItemAfter(td, etgtools.TypedefDef(type='long', name='time_t'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='long long', name='wxFileOffset'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='SIP_SSIZE_T', name='ssize_t'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='unsigned char', name='byte', pyInt=True))
diff --git a/dev-python/wxpython/wxpython-4.2.1.ebuild b/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
index 494ce3d38f4c..ec62390a1579 100644
--- a/dev-python/wxpython/wxpython-4.2.1.ebuild
+++ b/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_IN_SOURCE_BUILD="1"
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYPI_NO_NORMALIZE=1
PYPI_PN="wxPython"
WX_GTK_VER="3.2-gtk3"
@@ -21,7 +21,7 @@ HOMEPAGE="
LICENSE="wxWinLL-3"
SLOT="4.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
IUSE="test webkit"
RESTRICT="!test? ( test )"
@@ -57,6 +57,9 @@ BDEPEND="
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"
)
python_prepare_all() {
@@ -64,6 +67,13 @@ python_prepare_all() {
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
}