diff --git a/README.md b/README.md
index b7b8d7d08baf8d3a186b266c3fa4a820323920d1..f45a3709c2228a149eb043e9de9633cbaf64e310 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ - **releases**: https://pypi.org/project/nextcloud-api-wrapper/#history
## jsonpickle
- **link**: https://jsonpickle.github.io/
-- **version**: 2.2.0
+- **version**: 3.0.1
- **reason**: Avoid edge repository and reddit-nextcloud-importer dependency
- **releases**: https://github.com/jsonpickle/jsonpickle/tags
- **source**: https://git.alpinelinux.org/aports/tree/testing/py3-jsonpickle?h=master
diff --git a/apks/py3-jsonpickle/APKBUILD b/apks/py3-jsonpickle/APKBUILD
index a23c4805385d4d48c6298aaa0b2bd4c18ae37238..bb33ec8598069666d4cd399bae57301b1082d6a6 100644
--- a/apks/py3-jsonpickle/APKBUILD
+++ b/apks/py3-jsonpickle/APKBUILD
@@ -1,44 +1,41 @@
-# Maintainer:
+# Maintainer: psykose <alice@ayaya.dev>
pkgname=py3-jsonpickle
-pkgver=2.2.0
+pkgver=3.0.1
pkgrel=1
pkgdesc="Serializing any arbitrary object graph into JSON"
-url="https://pypi.python.org/pypi/jsonpickle/"
+url="https://pypi.org/project/jsonpickle/"
arch="noarch"
license="BSD-3-Clause"
-depends="python3 py3-numpy py3-pandas"
-makedepends="py3-setuptools py3-setuptools_scm"
-checkdepends="py3-pytest"
+depends="python3"
+makedepends="py3-gpep517 py3-setuptools py3-setuptools_scm py3-wheel"
+checkdepends="py3-pytest py3-numpy py3-pandas"
source="https://files.pythonhosted.org/packages/source/j/jsonpickle/jsonpickle-$pkgver.tar.gz
- tests.patch
+ noaddopts.patch
"
builddir="$srcdir/jsonpickle-$pkgver"
-options="!check" # needs update for 3.11
replaces="py-jsonpickle" # Backwards compatibility
provides="py-jsonpickle=$pkgver-r$pkgrel" # Backwards compatibility
-prepare() {
- default_prepare
-
- sed -e '/setuptools_scm/d' \
- -e "/^\[metadata\]/a verison = $pkgver" \
- -i setup.cfg
-}
-
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH=$PWD/build/lib pytest-3 -c /dev/null
+ python3 -m venv --clear --without-pip --system-site-packages testenv
+ testenv/bin/python3 -m installer dist/*.whl
+ # no gmpy
+ testenv/bin/python3 -m pytest --deselect tests/ecdsa_test.py
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ dist/*.whl
}
sha512sums="
-b6cb35316e32f38875cbfa3784a3930f669d4ea730ead6117242070590647987383e9f933c193b8c246c40dba87ad56600a65db89c45c18a790b3c1f9232b245 jsonpickle-2.2.0.tar.gz
-8df533695556bc7b329211dfbb5ad667fbd8f9b569721a054f9dead9402ac365666f50ff4343feda536e679a58f1244708ab10fa2f6f8b33b2469dfdc57c576c tests.patch
+88634acb751a0bac2c9d2ca9872dd92aeab3245ec7c1b0dced0272dc9104923b2143898fd3f7f2666bd2b220ab2396e0b2f065853256b5995695ca56534a5ea5 jsonpickle-3.0.1.tar.gz
+4e95e2abd347cf221c33e919dba9cbe0886ae18c76e1ef221e0764d05e6f0e8d80731c9d84a0e0ddee94a9638784415a61bab2986d46ea54f7c9d5dc8e1226e1 noaddopts.patch
"
diff --git a/apks/py3-jsonpickle/noaddopts.patch b/apks/py3-jsonpickle/noaddopts.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3c57fff9a09931a10cf82859aa46cbc2c6997b55
--- /dev/null
+++ b/apks/py3-jsonpickle/noaddopts.patch
@@ -0,0 +1,12 @@
+skip nontests
+diff --git a/pytest.ini b/pytest.ini
+index 3cfaa92..b87cccd 100644
+--- a/pytest.ini
++++ b/pytest.ini
+@@ -1,6 +1,5 @@
+ [pytest]
+ norecursedirs=dist build .tox .eggs
+-addopts=--doctest-modules --cov
+ doctest_optionflags=ALLOW_UNICODE ELLIPSIS
+ filterwarnings=
+ # https://github.com/pytest-dev/pytest/issues/6928
diff --git a/apks/py3-jsonpickle/tests.patch b/apks/py3-jsonpickle/tests.patch
deleted file mode 100644
index 99d78af9620a5b9ebb8169a4d9f7823e1b400b52..0000000000000000000000000000000000000000
--- a/apks/py3-jsonpickle/tests.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/jsonpickle/pickler.py b/jsonpickle/pickler.py
-index ce64592..62ba575 100644
---- a/jsonpickle/pickler.py
-+++ b/jsonpickle/pickler.py
-@@ -462,6 +462,9 @@ class Pickler(object):
- if has_getinitargs:
- data[tags.INITARGS] = self._flatten(obj.__getinitargs__())
-
-+ if type(obj).__name__ == 'TextIOWrapper':
-+ return None
-+
- if has_getstate:
- try:
- state = obj.__getstate__()
-