1diff --git a/README.md b/README.md
2index b7b8d7d08baf8d3a186b266c3fa4a820323920d1..f45a3709c2228a149eb043e9de9633cbaf64e310 100644
3--- a/README.md
4+++ b/README.md
5@@ -45,7 +45,7 @@ - **releases**: https://pypi.org/project/nextcloud-api-wrapper/#history
6
7 ## jsonpickle
8 - **link**: https://jsonpickle.github.io/
9-- **version**: 2.2.0
10+- **version**: 3.0.1
11 - **reason**: Avoid edge repository and reddit-nextcloud-importer dependency
12 - **releases**: https://github.com/jsonpickle/jsonpickle/tags
13 - **source**: https://git.alpinelinux.org/aports/tree/testing/py3-jsonpickle?h=master
14diff --git a/apks/py3-jsonpickle/APKBUILD b/apks/py3-jsonpickle/APKBUILD
15index a23c4805385d4d48c6298aaa0b2bd4c18ae37238..bb33ec8598069666d4cd399bae57301b1082d6a6 100644
16--- a/apks/py3-jsonpickle/APKBUILD
17+++ b/apks/py3-jsonpickle/APKBUILD
18@@ -1,44 +1,41 @@
19-# Maintainer:
20+# Maintainer: psykose <alice@ayaya.dev>
21 pkgname=py3-jsonpickle
22-pkgver=2.2.0
23+pkgver=3.0.1
24 pkgrel=1
25 pkgdesc="Serializing any arbitrary object graph into JSON"
26-url="https://pypi.python.org/pypi/jsonpickle/"
27+url="https://pypi.org/project/jsonpickle/"
28 arch="noarch"
29 license="BSD-3-Clause"
30-depends="python3 py3-numpy py3-pandas"
31-makedepends="py3-setuptools py3-setuptools_scm"
32-checkdepends="py3-pytest"
33+depends="python3"
34+makedepends="py3-gpep517 py3-setuptools py3-setuptools_scm py3-wheel"
35+checkdepends="py3-pytest py3-numpy py3-pandas"
36 source="https://files.pythonhosted.org/packages/source/j/jsonpickle/jsonpickle-$pkgver.tar.gz
37- tests.patch
38+ noaddopts.patch
39 "
40 builddir="$srcdir/jsonpickle-$pkgver"
41-options="!check" # needs update for 3.11
42
43 replaces="py-jsonpickle" # Backwards compatibility
44 provides="py-jsonpickle=$pkgver-r$pkgrel" # Backwards compatibility
45
46-prepare() {
47- default_prepare
48-
49- sed -e '/setuptools_scm/d' \
50- -e "/^\[metadata\]/a verison = $pkgver" \
51- -i setup.cfg
52-}
53-
54 build() {
55- python3 setup.py build
56+ gpep517 build-wheel \
57+ --wheel-dir dist \
58+ --output-fd 3 3>&1 >&2
59 }
60
61 check() {
62- PYTHONPATH=$PWD/build/lib pytest-3 -c /dev/null
63+ python3 -m venv --clear --without-pip --system-site-packages testenv
64+ testenv/bin/python3 -m installer dist/*.whl
65+ # no gmpy
66+ testenv/bin/python3 -m pytest --deselect tests/ecdsa_test.py
67 }
68
69 package() {
70- python3 setup.py install --prefix=/usr --root="$pkgdir"
71+ python3 -m installer -d "$pkgdir" \
72+ dist/*.whl
73 }
74
75 sha512sums="
76-b6cb35316e32f38875cbfa3784a3930f669d4ea730ead6117242070590647987383e9f933c193b8c246c40dba87ad56600a65db89c45c18a790b3c1f9232b245 jsonpickle-2.2.0.tar.gz
77-8df533695556bc7b329211dfbb5ad667fbd8f9b569721a054f9dead9402ac365666f50ff4343feda536e679a58f1244708ab10fa2f6f8b33b2469dfdc57c576c tests.patch
78+88634acb751a0bac2c9d2ca9872dd92aeab3245ec7c1b0dced0272dc9104923b2143898fd3f7f2666bd2b220ab2396e0b2f065853256b5995695ca56534a5ea5 jsonpickle-3.0.1.tar.gz
79+4e95e2abd347cf221c33e919dba9cbe0886ae18c76e1ef221e0764d05e6f0e8d80731c9d84a0e0ddee94a9638784415a61bab2986d46ea54f7c9d5dc8e1226e1 noaddopts.patch
80 "
81diff --git a/apks/py3-jsonpickle/noaddopts.patch b/apks/py3-jsonpickle/noaddopts.patch
82new file mode 100644
83index 0000000000000000000000000000000000000000..3c57fff9a09931a10cf82859aa46cbc2c6997b55
84--- /dev/null
85+++ b/apks/py3-jsonpickle/noaddopts.patch
86@@ -0,0 +1,12 @@
87+skip nontests
88+diff --git a/pytest.ini b/pytest.ini
89+index 3cfaa92..b87cccd 100644
90+--- a/pytest.ini
91++++ b/pytest.ini
92+@@ -1,6 +1,5 @@
93+ [pytest]
94+ norecursedirs=dist build .tox .eggs
95+-addopts=--doctest-modules --cov
96+ doctest_optionflags=ALLOW_UNICODE ELLIPSIS
97+ filterwarnings=
98+ # https://github.com/pytest-dev/pytest/issues/6928
99diff --git a/apks/py3-jsonpickle/tests.patch b/apks/py3-jsonpickle/tests.patch
100deleted file mode 100644
101index 99d78af9620a5b9ebb8169a4d9f7823e1b400b52..0000000000000000000000000000000000000000
102--- a/apks/py3-jsonpickle/tests.patch
103+++ /dev/null
104@@ -1,15 +0,0 @@
105-diff --git a/jsonpickle/pickler.py b/jsonpickle/pickler.py
106-index ce64592..62ba575 100644
107---- a/jsonpickle/pickler.py
108-+++ b/jsonpickle/pickler.py
109-@@ -462,6 +462,9 @@ class Pickler(object):
110- if has_getinitargs:
111- data[tags.INITARGS] = self._flatten(obj.__getinitargs__())
112-
113-+ if type(obj).__name__ == 'TextIOWrapper':
114-+ return None
115-+
116- if has_getstate:
117- try:
118- state = obj.__getstate__()
119-