Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
@ 2023-05-30  2:01 tornaria
  2023-05-30  2:15 ` tornaria
                   ` (37 more replies)
  0 siblings, 38 replies; 39+ messages in thread
From: tornaria @ 2023-05-30  2:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1277 bytes --]

There is a new pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 86632 bytes --]

From 8fba96614ca93a14db88af8e15175c0cbc829996 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 10:28:43 -0300
Subject: [PATCH 01/50] python3-fastjsonschema: update to 2.17.1.

---
 srcpkgs/python3-fastjsonschema/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-fastjsonschema/template b/srcpkgs/python3-fastjsonschema/template
index 7e4495b9456b..dc536f8b835d 100644
--- a/srcpkgs/python3-fastjsonschema/template
+++ b/srcpkgs/python3-fastjsonschema/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-fastjsonschema'
 pkgname=python3-fastjsonschema
-version=2.16.3
+version=2.17.1
 revision=1
 build_style=python3-module
 make_check_args="--deselect tests/benchmarks/test_benchmark.py"
@@ -13,7 +13,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/horejsek/python-fastjsonschema"
 changelog="https://raw.githubusercontent.com/horejsek/python-fastjsonschema/master/CHANGELOG.txt"
 distfiles="https://github.com/horejsek/python-fastjsonschema/archive/refs/tags/v${version}.tar.gz"
-checksum=f9834e4994830942d58949043820024261dc22e2640bcf787391deb607cc91c6
+checksum=9295090b468152cea7a53c651a46d6a1afb83f0124f86c9a64da43fd3453a9f4
 
 post_install() {
 	vlicense LICENSE

From 1d44f68afd348db9c6ce04c09d40531bb0ca5f3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 20:40:38 -0300
Subject: [PATCH 02/50] python3-pytest-mock: update to 3.10.0.

---
 srcpkgs/python3-pytest-mock/template | 24 +++++++-----------------
 1 file changed, 7 insertions(+), 17 deletions(-)

diff --git a/srcpkgs/python3-pytest-mock/template b/srcpkgs/python3-pytest-mock/template
index 602337199a41..3ae4ec6cb3c0 100644
--- a/srcpkgs/python3-pytest-mock/template
+++ b/srcpkgs/python3-pytest-mock/template
@@ -1,28 +1,18 @@
 # Template file for 'python3-pytest-mock'
 pkgname=python3-pytest-mock
-version=3.9.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.10.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel python3-setuptools_scm"
 depends="python3-pytest"
-checkdepends="$depends"
-short_desc="Thin-wrapper around mock for easier use with py.test (Python3)"
+checkdepends="python3-pytest-asyncio python3-mock"
+short_desc="Thin-wrapper around mock for easier use with pytest"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://github.com/pytest-dev/pytest-mock/"
 changelog="https://raw.githubusercontent.com/pytest-dev/pytest-mock/main/CHANGELOG.rst"
 distfiles="${PYPI_SITE}/p/pytest-mock/pytest-mock-${version}.tar.gz"
-checksum=c899a0dcc8a5f22930acd020b500abd5f956911f326864a3b979e4866e14da82
-
-# pytest-mock requires pytest-mock to be installed so it'll always fail during
-# packaging
-make_check=no
-
-pre_build() {
-	vsed -i setup.py \
-		-e '/setup_requires=/d' \
-		-e "s|use_scm_version=.*|version='${version}',|"
-}
+checksum=fbbdb085ef7c252a326fd8cdcac0aa3b1333d8811f131bdcc701002e1be7ed4f
 
 post_install() {
 	vlicense LICENSE

From 605805c4bddd3d11ca9480c2ec51695a3d0149de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:01:14 -0300
Subject: [PATCH 03/50] python3-argcomplete: update to 3.0.8.

---
 srcpkgs/python3-argcomplete/template | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-argcomplete/template b/srcpkgs/python3-argcomplete/template
index abe32205b908..8e078f543700 100644
--- a/srcpkgs/python3-argcomplete/template
+++ b/srcpkgs/python3-argcomplete/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-argcomplete'
 pkgname=python3-argcomplete
-version=3.0.5
+version=3.0.8
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-wheel"
@@ -9,5 +9,6 @@ short_desc="Bash tab completion for argparse"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="Apache-2.0"
 homepage="https://github.com/kislyuk/argcomplete"
+changelog="https://github.com/kislyuk/argcomplete/raw/develop/Changes.rst"
 distfiles="${PYPI_SITE}/a/argcomplete/argcomplete-${version}.tar.gz"
-checksum=fe3ce77125f434a0dd1bffe5f4643e64126d5731ce8d173d36f62fa43d6eb6f7
+checksum=b9ca96448e14fa459d7450a4ab5a22bbf9cee4ba7adddf03e65c398b5daeea28

From f58a8e88418b767e55f49e009f68b208efb52753 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 00:25:45 -0300
Subject: [PATCH 04/50] python3-comm: update to 0.1.3.

---
 srcpkgs/python3-comm/template | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 0bbba8dc0eda..36dc27d8f99b 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.1
+version=0.1.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -10,8 +10,9 @@ short_desc="Python comm implementation for the Jupyter kernel protocol"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
-distfiles="https://github.com/ipython/comm/archive/refs/tags/$version.tar.gz"
-checksum=2868dfd1e482b821a929d662bf3d89adeb8a091239bf1497187797fe9e4c12fa
+changelog="https://github.com/ipython/comm/raw/main/CHANGELOG.md"
+distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
+checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
 
 post_install() {
 	vlicense LICENSE

From b7ebe11c9e7237e31c6901c04a004da65b733b4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 00:30:38 -0300
Subject: [PATCH 05/50] python3-nest_asyncio: update to 1.5.6.

---
 srcpkgs/python3-nest_asyncio/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-nest_asyncio/template b/srcpkgs/python3-nest_asyncio/template
index 41981f82fc19..46d8c0b642b3 100644
--- a/srcpkgs/python3-nest_asyncio/template
+++ b/srcpkgs/python3-nest_asyncio/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-nest_asyncio'
 pkgname=python3-nest_asyncio
-version=1.5.4
-revision=2
+version=1.5.6
+revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools_scm"
 depends="python3"
@@ -11,7 +11,7 @@ maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-2-Clause"
 homepage="https://github.com/erdewit/nest_asyncio"
 distfiles="${PYPI_SITE}/n/nest_asyncio/nest_asyncio-${version}.tar.gz"
-checksum=f969f6013a16fadb4adcf09d11a68a4f617c6049d7af7ac2c676110169a63abd
+checksum=d267cc1ff794403f7df692964d1d2a3fa9418ffea2a3f6859a439ff482fef290
 
 post_install() {
 	vlicense LICENSE

From 446df735d3d25488590110bd9ab358a216833ae0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 00:32:26 -0300
Subject: [PATCH 06/50] python3-tornado: update to 6.3.2.

---
 srcpkgs/python3-tornado/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/python3-tornado/template b/srcpkgs/python3-tornado/template
index 48c9e57b0bdb..efcdab945118 100644
--- a/srcpkgs/python3-tornado/template
+++ b/srcpkgs/python3-tornado/template
@@ -1,20 +1,20 @@
 # Template file for 'python3-tornado'
 pkgname=python3-tornado
-version=6.2
+version=6.3.2
 revision=1
 build_style=python3-module
 hostmakedepends="python3-setuptools"
 makedepends="python3-devel"
 depends="python3 ca-certificates"
+checkdepends="python3-curl python3-pycares python3-Twisted"
 short_desc="Python3 web framework and asynchronous networking library"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
 homepage="http://www.tornadoweb.org/"
+changelog="https://www.tornadoweb.org/en/stable/releases.html"
 distfiles="${PYPI_SITE}/t/tornado/tornado-${version}.tar.gz"
-checksum=9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13
-make_check=no # tests failing, already with 6.1
+checksum=4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba
 
-pre_build() {
-	# use system ca-certificates
-	sed -i "/install_requires.append('certifi')/d" setup.py
+do_check() {
+	./runtests.sh
 }

From be238246799d165cbde335b652e5247fea4e2412 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:25:30 -0300
Subject: [PATCH 07/50] python3-bleach: update to 6.0.0.

---
 srcpkgs/python3-bleach/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/python3-bleach/template b/srcpkgs/python3-bleach/template
index aea09c368c1f..446448708d51 100644
--- a/srcpkgs/python3-bleach/template
+++ b/srcpkgs/python3-bleach/template
@@ -1,10 +1,10 @@
 # Template file for 'python3-bleach'
 pkgname=python3-bleach
-version=4.1.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-six python3-webencodings python3-packaging"
+version=6.0.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-six python3-webencodings"
 checkdepends="python3-pytest $depends"
 short_desc="Easy safelist-based HTML-sanitizing tool (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -12,4 +12,4 @@ license="Apache-2.0"
 homepage="https://github.com/mozilla/bleach"
 changelog="https://raw.githubusercontent.com/mozilla/bleach/master/CHANGES"
 distfiles="${PYPI_SITE}/b/bleach/bleach-${version}.tar.gz"
-checksum=0900d8b37eba61a802ee40ac0061f8c2b5dee29c1927dd1d233e075ebf5a71da
+checksum=1a1a85c1595e07d8db14c5f09f09e6433502c51c595970edc090551f0db99414

From 98317f037b456a288d8749826f9076109254cb87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:59:09 -0300
Subject: [PATCH 08/50] python3-BeautifulSoup4: update to 4.12.2.

---
 srcpkgs/python3-BeautifulSoup4/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-BeautifulSoup4/template b/srcpkgs/python3-BeautifulSoup4/template
index 882ea8a33214..cdc4e6d367ff 100644
--- a/srcpkgs/python3-BeautifulSoup4/template
+++ b/srcpkgs/python3-BeautifulSoup4/template
@@ -1,18 +1,19 @@
 # Template file for 'python3-BeautifulSoup4'
 pkgname=python3-BeautifulSoup4
-version=4.11.1
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3 python3-soupsieve"
-checkdepends="python3-pytest $depends"
+version=4.12.2
+revision=1
+build_style=python3-pep517
+make_check_target="bs4"  # workaround for #43946
+hostmakedepends="hatchling"
+depends="python3-soupsieve"
+checkdepends="$depends python3-pytest python3-html5lib python3-lxml"
 short_desc="Python3 HTML/XML parser"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://www.crummy.com/software/BeautifulSoup"
-changelog="https://bazaar.launchpad.net/~leonardr/beautifulsoup/bs4/view/head:/CHANGELOG"
+changelog="https://git.launchpad.net/beautifulsoup/plain/CHANGELOG"
 distfiles="${PYPI_SITE}/b/beautifulsoup4/beautifulsoup4-${version}.tar.gz"
-checksum=ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693
+checksum=492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da
 
 post_install() {
 	vlicense LICENSE

From cea171fb2308d501275017cade4cf59cc998d1e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:16:19 -0300
Subject: [PATCH 09/50] python3-testpath: update to 0.6.0.

---
 srcpkgs/python3-testpath/template | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-testpath/template b/srcpkgs/python3-testpath/template
index a439b95a62b0..3a3cf2f2647d 100644
--- a/srcpkgs/python3-testpath/template
+++ b/srcpkgs/python3-testpath/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-testpath'
 pkgname=python3-testpath
-version=0.4.4
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.6.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Test utilities for code working with files and commands (Python3)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/testpath"
+changelog="https://github.com/jupyter/testpath/raw/master/doc/history.rst"
 distfiles="${PYPI_SITE}/t/testpath/testpath-${version}.tar.gz"
-checksum=60e0a3261c149755f4399a1fff7d37523179a70fdc3abdf78de9fc2604aeec7e
+checksum=2f1b97e6442c02681ebe01bd84f531028a7caea1af3825000f52345c30285e0f
 
 pre_build() {
 	rm -f testpath/cli-*.exe

From e78d92f6192c6d792051fdddfcec81884078d91b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 26 May 2023 20:03:16 -0300
Subject: [PATCH 10/50] New package: python3-strict-rfc3339-0.7

---
 srcpkgs/python3-strict-rfc3339/template | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 srcpkgs/python3-strict-rfc3339/template

diff --git a/srcpkgs/python3-strict-rfc3339/template b/srcpkgs/python3-strict-rfc3339/template
new file mode 100644
index 000000000000..027be8b71735
--- /dev/null
+++ b/srcpkgs/python3-strict-rfc3339/template
@@ -0,0 +1,14 @@
+# Template file for 'python3-strict-rfc3339'
+pkgname=python3-strict-rfc3339
+version=0.7
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3"
+short_desc="Strict, simple, lightweight RFC3339 functions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://pypi.org/project/strict-rfc3339/"
+distfiles="${PYPI_SITE}/s/strict-rfc3339/strict-rfc3339-${version}.tar.gz"
+checksum=5cad17bedfc3af57b399db0fed32771f18fc54bbd917e85546088607ac5e1277
+make_check=no  # no tests available

From 3b759d4d259a8bff6fdeff656ecec5d8183f98fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:09:32 -0300
Subject: [PATCH 11/50] New package: python3-rfc3339-validator-0.1.4

---
 srcpkgs/python3-rfc3339-validator/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-rfc3339-validator/template

diff --git a/srcpkgs/python3-rfc3339-validator/template b/srcpkgs/python3-rfc3339-validator/template
new file mode 100644
index 000000000000..68eb8c0acfe1
--- /dev/null
+++ b/srcpkgs/python3-rfc3339-validator/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-rfc3339-validator'
+pkgname=python3-rfc3339-validator
+version=0.1.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-six"
+checkdepends="$depends python3-hypothesis python3-pytest
+ python3-strict-rfc3339"
+short_desc="Pure python RFC3339 validator"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/naimetti/rfc3339-validator"
+distfiles="${PYPI_SITE}/r/rfc3339-validator/rfc3339_validator-${version}.tar.gz"
+checksum=138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b
+
+post_install() {
+	vlicense LICENSE
+}

From 936758bfe8a6df5de8cb503da792d6cb6a0c4905 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:22:20 -0300
Subject: [PATCH 12/50] New package: python3-rfc3986-validator-0.1.1

---
 srcpkgs/python3-rfc3986-validator/template | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 srcpkgs/python3-rfc3986-validator/template

diff --git a/srcpkgs/python3-rfc3986-validator/template b/srcpkgs/python3-rfc3986-validator/template
new file mode 100644
index 000000000000..6f126f1ac659
--- /dev/null
+++ b/srcpkgs/python3-rfc3986-validator/template
@@ -0,0 +1,22 @@
+# Template file for 'python3-rfc3986-validator'
+pkgname=python3-rfc3986-validator
+version=0.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3"
+short_desc="Pure python RFC3986 validator"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/naimetti/rfc3986-validator"
+distfiles="${PYPI_SITE}/r/rfc3986-validator/rfc3986_validator-${version}.tar.gz"
+checksum=3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055
+make_check=no # needs rfc3987 (n/a)
+
+post_patch() {
+	vsed -e "s/'pytest-runner',//" -i setup.py
+}
+
+post_install() {
+	vlicense LICENSE
+}

From 00504fa0a07f71154a372a3eb219c4fe369fbd86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:34:09 -0300
Subject: [PATCH 13/50] python3-jsonschema: add rfc3339 and rfc3986 validators.

---
 srcpkgs/python3-jsonschema/template | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jsonschema/template b/srcpkgs/python3-jsonschema/template
index 8ec7cef8d755..83088a96b2ce 100644
--- a/srcpkgs/python3-jsonschema/template
+++ b/srcpkgs/python3-jsonschema/template
@@ -1,11 +1,11 @@
 # Template file for 'python3-jsonschema'
 pkgname=python3-jsonschema
 version=4.17.3
-revision=1
+revision=2
 build_style=python3-pep517
-make_check_args="--deselect jsonschema/tests/test_jsonschema_test_suite.py::test_suite_bug"
 hostmakedepends="hatchling hatch-vcs"
-depends="python3-attrs python3-pyrsistent"
+depends="python3-attrs python3-pyrsistent python3-rfc3339-validator
+ python3-rfc3986-validator python3-idna python3-jsonpointer"
 checkdepends="${depends} python3-pytest python3-pip"
 short_desc="Implementation of JSON Schema for Python3"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
@@ -15,10 +15,6 @@ changelog="https://raw.githubusercontent.com/Julian/jsonschema/master/CHANGELOG.
 distfiles="${PYPI_SITE}/j/jsonschema/jsonschema-${version}.tar.gz"
 checksum=0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d
 
-pre_build() {
-	export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
-}
-
 post_install() {
 	vlicense COPYING LICENSE
 }

From 23a593a34539a1b3b464deb7481b25f5c8a0f037 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 18:18:06 -0300
Subject: [PATCH 14/50] New package: hatch-nodejs-version-0.3.1

---
 srcpkgs/hatch-nodejs-version/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/hatch-nodejs-version/template

diff --git a/srcpkgs/hatch-nodejs-version/template b/srcpkgs/hatch-nodejs-version/template
new file mode 100644
index 000000000000..389c85500bf2
--- /dev/null
+++ b/srcpkgs/hatch-nodejs-version/template
@@ -0,0 +1,19 @@
+# Template file for 'hatch-nodejs-version'
+pkgname=hatch-nodejs-version
+version=0.3.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="hatchling"
+checkdepends="python3-pytest"
+short_desc="Hatch plugin to read pyproject.toml metadata from package.json"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/agoose77/hatch-nodejs-version"
+changelog="https://github.com/agoose77/hatch-nodejs-version/releases"
+distfiles="https://github.com/agoose77/hatch-nodejs-version/archive/refs/tags/v${version}.tar.gz"
+checksum=9959efbee3021dba4da7f8c152cacf104c746341ed176cd0488cbf3b45deba4d
+
+post_install() {
+	vlicense LICENSE.txt
+}

From a7d376457ae99417df5151f250701cfb5991773d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 20:58:14 -0300
Subject: [PATCH 15/50] New package: python3-pytest-console-scripts-1.4.0

---
 .../python3-pytest-console-scripts/template   | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-console-scripts/template

diff --git a/srcpkgs/python3-pytest-console-scripts/template b/srcpkgs/python3-pytest-console-scripts/template
new file mode 100644
index 000000000000..e22464b3b7f9
--- /dev/null
+++ b/srcpkgs/python3-pytest-console-scripts/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-pytest-console-scripts'
+pkgname=python3-pytest-console-scripts
+version=1.4.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools_scm python3-wheel"
+depends="python3-pytest"
+checkdepends="$depends"
+short_desc="Pytest plugin for testing console scripts"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/kvas-it/pytest-console-scripts"
+changelog="https://github.com/kvas-it/pytest-console-scripts/releases"
+distfiles="${PYPI_SITE}/p/pytest-console-scripts/pytest-console-scripts-${version}.tar.gz"
+checksum=6335679ef013fa20402dfd5b07219877d874bd3f0a198b84b23f17897ccbe50a
+
+post_install() {
+	vlicense LICENSE
+}

From 4b7181b8cff5544b22851be02e2fbf73144ab94c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 21:11:54 -0300
Subject: [PATCH 16/50] New package: python3-pep440-0.1.2

---
 srcpkgs/python3-pep440/template | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 srcpkgs/python3-pep440/template

diff --git a/srcpkgs/python3-pep440/template b/srcpkgs/python3-pep440/template
new file mode 100644
index 000000000000..3048d03ae671
--- /dev/null
+++ b/srcpkgs/python3-pep440/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-pep440'
+pkgname=python3-pep440
+version=0.1.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-flit_core"
+checkdepends="python3-pytest-console-scripts"
+short_desc="Utils to check whether version numbers match PEP 440"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/Carreau/pep440"
+distfiles="https://github.com/Carreau/pep440/archive/refs/tags/${version}.tar.gz"
+checksum=4f38145d7b71aad9743b3f4aec6338a2dad4010a14a223493bf0b3b7b99027ef
+
+post_install() {
+	vlicense LICENSE
+}

From f82686a22ca7505bcdab4002dd48d4b684fec95e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 10:56:29 -0300
Subject: [PATCH 17/50] New package: python3-json-logger-2.0.7

---
 srcpkgs/python3-json-logger/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-json-logger/template

diff --git a/srcpkgs/python3-json-logger/template b/srcpkgs/python3-json-logger/template
new file mode 100644
index 000000000000..9e9d09767c51
--- /dev/null
+++ b/srcpkgs/python3-json-logger/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-json-logger'
+pkgname=python3-json-logger
+version=2.0.7
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3"
+checkdepends="python3-pytest"
+short_desc="Json Formatter for the standard python logger"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-2-Clause"
+homepage="https://github.com/madzak/python-json-logger"
+changelog="https://github.com/madzak/python-json-logger/raw/master/CHANGELOG.md"
+distfiles="https://github.com/madzak/python-json-logger/archive/refs/tags/v${version}.tar.gz"
+checksum=1d743e5573642bed1a5698dbfa5fc1c2a8e076fea95212e67518bec940e43ec1
+
+post_install() {
+	vlicense LICENSE
+}

From f6582eee9da1d8d0f5d947ea1b822102f7009391 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:19:18 -0300
Subject: [PATCH 18/50] New package: python3-overrides-7.3.1

---
 srcpkgs/python3-overrides/template | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 srcpkgs/python3-overrides/template

diff --git a/srcpkgs/python3-overrides/template b/srcpkgs/python3-overrides/template
new file mode 100644
index 000000000000..99a2de77d792
--- /dev/null
+++ b/srcpkgs/python3-overrides/template
@@ -0,0 +1,15 @@
+# Template file for 'python3-overrides'
+pkgname=python3-overrides
+version=7.3.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3"
+checkdepends="python3-pytest"
+short_desc="Decorator to automatically detect mismatch when overriding a method"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="Apache-2.0"
+homepage="https://github.com/mkorpela/overrides"
+changelog="https://github.com/mkorpela/overrides/releases"
+distfiles="https://github.com/mkorpela/overrides/archive/refs/tags/${version}.tar.gz"
+checksum=ff904c45a8a664aaeeac0a849f5097567d52a88c2324b12ad002c8b58e83625c

From 7bc96f1f662f498a710ce96eeec5bf432d258252 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 00:07:40 -0300
Subject: [PATCH 19/50] New package: python3-async-lru-2.0.2

---
 srcpkgs/python3-async-lru/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-async-lru/template

diff --git a/srcpkgs/python3-async-lru/template b/srcpkgs/python3-async-lru/template
new file mode 100644
index 000000000000..0aacd0f0b07e
--- /dev/null
+++ b/srcpkgs/python3-async-lru/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-async-lru'
+pkgname=python3-async-lru
+version=2.0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-typing_extensions"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-cov
+ python3-pytest-timeout"
+short_desc="Simple LRU cache for asyncio"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/aio-libs/async-lru"
+#changelog=""
+distfiles="${PYPI_SITE}/a/async-lru/async-lru-${version}.tar.gz"
+checksum=3b87ec4f2460c52cc7916a0138cc606b584c75d1ef7d661853c95d1d3acb869a
+
+post_install() {
+	vlicense LICENSE
+}

From 4366b1ccf70c3dd531416aec2f75f95f5ad5827c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 18:48:26 -0300
Subject: [PATCH 20/50] python3-coverage: update to 7.2.7.

---
 srcpkgs/python3-coverage/template | 39 +++++++++++++++++++++++--------
 1 file changed, 29 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-coverage/template b/srcpkgs/python3-coverage/template
index 223f93ac4447..ba54d97d2573 100644
--- a/srcpkgs/python3-coverage/template
+++ b/srcpkgs/python3-coverage/template
@@ -1,17 +1,36 @@
 # Template file for 'python3-coverage'
 pkgname=python3-coverage
-version=5.0.3
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=7.2.7
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 makedepends="python3-devel"
-depends="python3-setuptools"
-checkdepends="python3-pytest-xdist python3-flaky python3-unittest-mixins"
+checkdepends="$depends python3-pytest-xdist python3-flaky
+ python3-hypothesis"
 short_desc="Code coverage testing for Python3"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="Apache-2.0"
-homepage="https://bitbucket.org/ned/coveragepy"
+homepage="https://github.com/nedbat/coveragepy"
+changelog="https://github.com/nedbat/coveragepy/raw/master/CHANGES.rst"
 distfiles="${PYPI_SITE}/c/coverage/coverage-${version}.tar.gz"
-checksum=77afca04240c40450c331fa796b3eab6f1e15c5ecf8bf2b8bee9706cd5452fef
-# coverage executable needs to run for many tests
-make_check=no
+checksum=924d94291ca674905fe9481f12294eb11f2d3d3fd1adb20314ba89e94f44ed59
+
+pre_check() {
+	# required setup, see tox.ini
+	python igor.py zip_mods
+}
+
+do_check() {
+	# Running via PYTHONPATH breaks... venv works
+	# This could be moved to build-style/python3-pep517.sh
+	local testdir="${wrksrc}/tmp/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip $testdir
+	$testdir/bin/python3 -m installer dist/*.whl
+	PATH=$testdir/bin:$PATH python3 -m pytest -n $XBPS_MAKEJOBS
+}
+
+post_install() {
+	# remove versioned scripts (keep only /usr/bin/coverage)
+	rm ${DESTDIR}/usr/bin/coverage3
+	rm ${DESTDIR}/usr/bin/coverage-${py3_ver}
+}

From fc03d6cbadc2aaa47732854be693697257965875 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 19:06:45 -0300
Subject: [PATCH 21/50] New package: python3-process-tests-2.1.2

---
 srcpkgs/python3-process-tests/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-process-tests/template

diff --git a/srcpkgs/python3-process-tests/template b/srcpkgs/python3-process-tests/template
new file mode 100644
index 000000000000..75a7398f5d1b
--- /dev/null
+++ b/srcpkgs/python3-process-tests/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-process-tests'
+pkgname=python3-process-tests
+version=2.1.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3"
+short_desc="Tools for testing processes"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-2-Clause"
+homepage="https://github.com/ionelmc/python-process-tests"
+changelog="https://github.com/ionelmc/python-process-tests/blob/master/CHANGELOG.rst"
+distfiles="${PYPI_SITE}/p/process-tests/process-tests-${version}.tar.gz"
+checksum=a3747ad947bdfc93e5c986bdb17a6d718f3f26e8577a0807a00962f29e26deba
+make_check=no  # no tests available
+
+post_install() {
+	vlicense LICENSE
+}

From 4088b0441124088ab12c396ba6808955d64652be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 21:01:36 -0300
Subject: [PATCH 22/50] python3-pytest-xdist: update to 3.3.1.

---
 srcpkgs/python3-pytest-xdist/template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-pytest-xdist/template b/srcpkgs/python3-pytest-xdist/template
index 3128717d293a..d64c3b6df8c7 100644
--- a/srcpkgs/python3-pytest-xdist/template
+++ b/srcpkgs/python3-pytest-xdist/template
@@ -1,19 +1,18 @@
 # Template file for 'python3-pytest-xdist'
 pkgname=python3-pytest-xdist
-version=3.2.1
+version=3.3.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-setuptools_scm python3-wheel"
 depends="python3-pytest python3-execnet"
+checkdepends="$depends python3-filelock python3-pexpect python3-psutil"
 short_desc="Pytest plugin for distributed testing & loop-on-failures testing modes"
 maintainer="classabbyamp <void@placeviolette.net>"
 license="MIT"
 homepage="https://github.com/pytest-dev/pytest-xdist"
 changelog="https://raw.githubusercontent.com/pytest-dev/pytest-xdist/master/CHANGELOG.rst"
 distfiles="${PYPI_SITE}/p/pytest-xdist/pytest-xdist-${version}.tar.gz"
-checksum=1849bd98d8b242b948e472db7478e090bf3361912a8fed87992ed94085f54727
-# tests only work in tox
-make_check=no
+checksum=d5ee0520eb1b7bcca50a60a518ab7a7707992812c578198f8b44fdfac78e8c93
 
 post_install() {
 	vlicense LICENSE

From 65eb1057479d8dff616e56dcafacf3d587657170 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 22:46:04 -0300
Subject: [PATCH 23/50] python3-pytest-cov: update to 4.1.0.

---
 srcpkgs/python3-pytest-cov/template | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-pytest-cov/template b/srcpkgs/python3-pytest-cov/template
index 47dc36d44017..a9e1dc18fe91 100644
--- a/srcpkgs/python3-pytest-cov/template
+++ b/srcpkgs/python3-pytest-cov/template
@@ -1,20 +1,31 @@
 # Template file for 'python3-pytest-cov'
 pkgname=python3-pytest-cov
-version=3.0.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=4.1.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 depends="python3-pytest python3-coverage"
-checkdepends="$depends python3-toml python3-py python3-pluggy python3-packaging
- python3-more-itertools python3-attrs python3-six python3-parsing"
+checkdepends="$depends python3-fields python3-process-tests
+ python3-pytest-xdist python3-virtualenv"
 short_desc="Pytest plugin for measuring coverage"
 maintainer="Piotr Wójcik <chocimier@tlen.pl>"
 license="MIT"
 homepage="https://pytest-cov.readthedocs.io/en/latest/"
 changelog="https://raw.githubusercontent.com/pytest-dev/pytest-cov/master/CHANGELOG.rst"
 distfiles="${PYPI_SITE}/p/pytest-cov/pytest-cov-${version}.tar.gz"
-checksum=e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470
-make_check=no # requires unpackaged xdist, fields, process_tests
+checksum=3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6
+
+do_check() {
+	# Running via PYTHONPATH breaks... venv works
+	# This could be moved to build-style/python3-pep517.sh
+	local testdir="${wrksrc}/tmp/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip $testdir
+	$testdir/bin/python3 -m installer dist/*.whl
+	# coverage needs to be installed inside venv (?)
+	# see: https://github.com/pytest-dev/pytest-cov/issues/517
+	ln -s /${py3_sitelib}/coverage ${testdir}${py3_sitelib#usr}
+	PATH=$testdir/bin:$PATH python3 -m pytest -n $XBPS_MAKEJOBS
+}
 
 post_install() {
 	vlicense LICENSE

From 3c715c17c9b9f6b9013301afe21f6ee1f98ffd1b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 26 May 2023 21:18:00 -0300
Subject: [PATCH 24/50] New package: python3-pathable-0.4.3

---
 srcpkgs/python3-pathable/template | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 srcpkgs/python3-pathable/template

diff --git a/srcpkgs/python3-pathable/template b/srcpkgs/python3-pathable/template
new file mode 100644
index 000000000000..70892d570eaa
--- /dev/null
+++ b/srcpkgs/python3-pathable/template
@@ -0,0 +1,15 @@
+# Template file for 'python3-pathable'
+pkgname=python3-pathable
+version=0.4.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3"
+checkdepends="python3-pytest-cov python3-toml"
+short_desc="Object-oriented paths"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="Apache-2.0"
+homepage="https://github.com/p1c2u/pathable"
+changelog="https://github.com/p1c2u/pathable/releases"
+distfiles="https://github.com/p1c2u/pathable/archive/refs/tags/${version}.tar.gz"
+checksum=eea76120e5fdc54f4e9b7bc5e24748d163cef61c3e60ed32675828ade141cf4b

From 060283300ec187b287fa7af6e61e8163173ac4d1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 26 May 2023 20:52:44 -0300
Subject: [PATCH 25/50] New package: python3-jsonschema-spec-0.1.4

---
 srcpkgs/python3-jsonschema-spec/template | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 srcpkgs/python3-jsonschema-spec/template

diff --git a/srcpkgs/python3-jsonschema-spec/template b/srcpkgs/python3-jsonschema-spec/template
new file mode 100644
index 000000000000..2baf429eff08
--- /dev/null
+++ b/srcpkgs/python3-jsonschema-spec/template
@@ -0,0 +1,15 @@
+# Template file for 'python3-jsonschema-spec'
+pkgname=python3-jsonschema-spec
+version=0.1.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-jsonschema python3-pathable python3-yaml"
+checkdepends="$depends python3-pytest-cov python3-toml"
+short_desc="JSONSchema Spec with object-oriented paths"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="Apache-2.0"
+homepage="https://github.com/p1c2u/jsonschema-spec"
+changelog="https://github.com/p1c2u/jsonschema-spec/releases"
+distfiles="https://github.com/p1c2u/jsonschema-spec/archive/refs/tags/${version}.tar.gz"
+checksum=2a4ffb901ced9f37d86c64b29b9bfed72362e9cae82a319346ad234e434baf94

From a8ca875e058af8ef28507619382cff809edcfb50 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 00:39:45 -0300
Subject: [PATCH 26/50] New package: python3-openapi-schema-validator-0.4.4

---
 .../python3-openapi-schema-validator/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-openapi-schema-validator/template

diff --git a/srcpkgs/python3-openapi-schema-validator/template b/srcpkgs/python3-openapi-schema-validator/template
new file mode 100644
index 000000000000..bb26e4a7d603
--- /dev/null
+++ b/srcpkgs/python3-openapi-schema-validator/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-openapi-schema-validator'
+pkgname=python3-openapi-schema-validator
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-jsonschema"
+checkdepends="$depends python3-pytest-cov python3-toml"
+short_desc="OpenAPI schema validation for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/python-openapi/openapi-schema-validator"
+changelog="https://github.com/python-openapi/openapi-schema-validator/releases"
+distfiles="${PYPI_SITE}/o/openapi-schema-validator/openapi_schema_validator-${version}.tar.gz"
+checksum=c573e2be2c783abae56c5a1486ab716ca96e09d1c3eab56020d1dc680aa57bf8
+
+post_install() {
+	vlicense LICENSE
+}

From 1680499383e4864cdefe2cd6a75ad1e41461b92b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 00:40:13 -0300
Subject: [PATCH 27/50] New package: python3-openapi-spec-validator-0.5.6

---
 srcpkgs/python3-openapi-spec-validator/template | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 srcpkgs/python3-openapi-spec-validator/template

diff --git a/srcpkgs/python3-openapi-spec-validator/template b/srcpkgs/python3-openapi-spec-validator/template
new file mode 100644
index 000000000000..f1e9665a676a
--- /dev/null
+++ b/srcpkgs/python3-openapi-spec-validator/template
@@ -0,0 +1,16 @@
+# Template file for 'python3-openapi-spec-validator'
+pkgname=python3-openapi-spec-validator
+version=0.5.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-poetry-core"
+depends="python3-jsonschema-spec python3-lazy-object-proxy
+ python3-openapi-schema-validator"
+checkdepends="$depends python3-pytest-cov python3-toml"
+short_desc="OpenAPI spec validator"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="Apache-2.0"
+homepage="https://github.com/python-openapi/openapi-spec-validator"
+changelog="https://github.com/python-openapi/openapi-spec-validator/releases"
+distfiles="${PYPI_SITE}/o/openapi-spec-validator/openapi_spec_validator-${version}.tar.gz"
+checksum=1189d0618ae0678ccf6c883cc1266d381454eece6f21fcf330cc7caea5fc25eb

From eba5814db40b77badcd2440c46f7c121058f5c24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 01:38:55 -0300
Subject: [PATCH 28/50] New package: python3-openapi-core-0.17.1

---
 srcpkgs/python3-openapi-core/template | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 srcpkgs/python3-openapi-core/template

diff --git a/srcpkgs/python3-openapi-core/template b/srcpkgs/python3-openapi-core/template
new file mode 100644
index 000000000000..1b7f07bce42d
--- /dev/null
+++ b/srcpkgs/python3-openapi-core/template
@@ -0,0 +1,27 @@
+# Template file for 'python3-openapi-core'
+pkgname=python3-openapi-core
+version=0.17.1
+revision=1
+build_style=python3-pep517
+make_check_args="
+ --ignore tests/unit/contrib/django
+ --ignore tests/integration/contrib/django
+ --ignore tests/integration/contrib/falcon
+ --ignore tests/integration/contrib/starlette
+ "
+hostmakedepends="python3-poetry-core"
+depends="python3-isodate python3-more-itertools
+ python3-openapi-spec-validator python3-parse python3-Werkzeug"
+checkdepends="$depends python3-pytest-cov python3-Flask
+ python3-requests python3-responses python3-toml python3-WebOb"
+short_desc="Support for the OpenAPI Specification v3"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/python-openapi/openapi-core"
+changelog="https://github.com/python-openapi/openapi-core/releases"
+distfiles="${PYPI_SITE}/o/openapi-core/openapi_core-${version}.tar.gz"
+checksum=561b7e2b37b336e9c62d4634b9059d12d9bb2e1859062a39d3a0fa6afc8c9de6
+
+post_install() {
+	vlicense LICENSE
+}

From 9fc3aeb6379c4697fbe2c0d616bd8ac189cdefde Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 20:46:40 -0300
Subject: [PATCH 29/50] python3-traitlets: cleanup dependencies, adopt.

---
 srcpkgs/python3-traitlets/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 7b4e13ff871b..a8ed6611188c 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,13 +1,13 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
 version=5.9.0
-revision=1
+revision=2
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-decorator python3-ipython_genutils python3-six"
-checkdepends="$depends python3-pytest"
+hostmakedepends="hatchling"
+depends="python3"
+checkdepends="python3-argcomplete python3-pytest-mock"
 short_desc="Configuration system for Python applications"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
 changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"

From 32361fd46413f6755f8c980349d88912e2ad51dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 30/50] python3-jupyter_core: update to 5.3.0, adopt.

---
 srcpkgs/python3-jupyter_core/template | 28 +++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6c..0252cbd8ce96 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,28 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.0
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-platformdirs"
+# first 3 fail because PYTHONPATH is not propagated to subprocess
+# last 3 fail because those tests are not well designed for unix
+make_check_args="
+ --deselect jupyter_core/tests/test_command.py::test_not_on_path
+ --deselect jupyter_core/tests/test_command.py::test_path_priority
+ --deselect jupyter_core/tests/test_command.py::test_argv0
+ --deselect jupyter_core/tests/test_paths.py::test_jupyter_path_user_site
+ --deselect jupyter_core/tests/test_paths.py::test_jupyter_path_no_user_site
+ --deselect jupyter_core/tests/test_paths.py::test_jupyter_path_prefer_env"
+hostmakedepends="hatchling"
+depends="python3-platformdirs python3-traitlets"
+checkdepends="python3-pytest $depends"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://github.com/jupyter/jupyter_core/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
-conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+checksum=6db75be0c83edbf1b7c9f91ec266a9a24ef945da630f3120e1a0046dc13713fc
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From e7e0f3fb045784e057174baffdf643a8027c7ec2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 31/50] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 000000000000..38d2bbe9332f
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends python3-ipython_ipykernel python3-jupyter_server"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://github.com/jupyter-server/pytest-jupyter/raw/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+
+post_install() {
+	vlicense LICENSE
+}

From 2b8b8be4daa403e2e398ac5d1407b6a55ef1fc5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 32/50] python3-jupyter_client: update to 8.2.0, adopt.

---
 srcpkgs/python3-jupyter_client/template | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea962..496e3888d0a5 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,23 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.2.0
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+make_check_args="--dist=loadfile"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq
+ python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-ipython_ipykernel python3-pytest-jupyter
+ python3-pytest-timeout python3-pytest-xdist"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://github.com/jupyter/jupyter_client/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
-conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+checksum=9fe233834edd0e6c0aa5f05ca2ab4bdea1842bfd2d8a932878212fc5301ddaf0
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 41d891b2e58a8a78a357ddd5e278ddab544b3500 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 33/50] python3-ipython_ipykernel: update to 6.23.1, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 27 ++++++++++++++--------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff5..d9af580640b3 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,28 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.23.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
+# these tests fail in 6.23.1
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil
+ python3-tornado"
+checkdepends="$depends python3-flaky python3-ipyparallel
+ python3-pytest-asyncio python3-pytest-timeout
+ python3-trio python3-curio"
 short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://github.com/ipython/ipykernel/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=1aba0ae8453e15e9bc6b24e497ef6840114afcdb832ae597f32137fa19d42a6f
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From ac06d8f210f9744783ffefcf5ea28c2bca36a5ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:14:55 -0300
Subject: [PATCH 34/50] python3-ipyparallel: enable check

---
 srcpkgs/python3-ipyparallel/template | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-ipyparallel/template b/srcpkgs/python3-ipyparallel/template
index 9c86bba760a0..41aa22548b80 100644
--- a/srcpkgs/python3-ipyparallel/template
+++ b/srcpkgs/python3-ipyparallel/template
@@ -7,6 +7,9 @@ hostmakedepends="hatchling"
 depends="python3-entrypoints python3-decorator python3-pyzmq python3-traitlets
  python3-ipython python3-jupyter_client python3-ipython_ipykernel
  python3-tornado python3-psutil python3-dateutil python3-tqdm"
+checkdepends="$depends python3-pytest python3-pytest-asyncio
+ python3-testpath python3-matplotlib python3-joblib python3-numpy
+ python3-pandas"
 short_desc="Interactive parallel computing in Python"
 maintainer="Andrew J. Hesford <ajh@sideband.org>"
 license="BSD-3-Clause"
@@ -14,8 +17,11 @@ homepage="https://ipyparallel.readthedocs.io/"
 changelog="https://ipyparallel.readthedocs.io/en/latest/changelog.html"
 distfiles="${PYPI_SITE}/i/ipyparallel/ipyparallel-${version}.tar.gz"
 checksum=a39aa5ef9560170bf0e9afedca9ff045e1b9c1832c49303377edcc91cea9fb77
-# Too many tests fail with a "local" cluster type
-make_check=no
+
+pre_check() {
+	# having HOME=/tmp confuses a few tests
+	HOME=/home
+}
 
 post_install() {
 	vlicense COPYING.md

From 324e34749a4615d242636c2ad3295cccf3c6a289 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 35/50] python3-jupyter_nbformat: update to 5.8.0, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e6705..c2f0df70ec11 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema
+ python3-jupyter_core python3-traitlets"
+checkdepends="python3-pytest python3-testpath python3-pep440 $depends"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://github.com/jupyter/nbformat/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=46dac64c781f1c34dfd8acba16547024110348f9fc7eab0f31981c2a3dc48d1f
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 0787aafaa64ada4015462fcd6dd95470572f39a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:58:52 -0300
Subject: [PATCH 36/50] New package: python3-jupyter_packaging-0.12.3

---
 .../patches/178.patch                         | 23 +++++++++++++++++++
 srcpkgs/python3-jupyter_packaging/template    | 20 ++++++++++++++++
 2 files changed, 43 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_packaging/patches/178.patch
 create mode 100644 srcpkgs/python3-jupyter_packaging/template

diff --git a/srcpkgs/python3-jupyter_packaging/patches/178.patch b/srcpkgs/python3-jupyter_packaging/patches/178.patch
new file mode 100644
index 000000000000..a158454dbb73
--- /dev/null
+++ b/srcpkgs/python3-jupyter_packaging/patches/178.patch
@@ -0,0 +1,23 @@
+From e963fb27aa3b58cd70c5ca61ebe68c222d803b7e Mon Sep 17 00:00:00 2001
+From: Steven Silvester <steven.silvester@ieee.org>
+Date: Tue, 7 Mar 2023 10:47:22 -0600
+Subject: [PATCH] Ignore warning raised when importing
+ setuptools.command.develop
+
+---
+ pyproject.toml | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index e4c1e27..b316257 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -81,5 +81,7 @@ filterwarnings= [
+   # Fail on warnings
+   "error",
+   # Ignore our own deprecation warnings.
+-  "ignore:.*:deprecation.DeprecatedWarning"
++  "ignore:.*:deprecation.DeprecatedWarning",
++  # Ignore warning raised when importing setuptools.command.develop.
++  "ignore:pkg_resources is deprecated as an API:DeprecationWarning"
+ ]
diff --git a/srcpkgs/python3-jupyter_packaging/template b/srcpkgs/python3-jupyter_packaging/template
new file mode 100644
index 000000000000..683ac6ce6d6e
--- /dev/null
+++ b/srcpkgs/python3-jupyter_packaging/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_packaging'
+pkgname=python3-jupyter_packaging
+version=0.12.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-packaging python3-tomlkit python3-setuptools
+ python3-wheel python3-deprecation"
+checkdepends="$depends python3-pytest-timeout python3-pytest-mock"
+short_desc="Tools to help build and install Jupyter Python packages"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter-packaging"
+changelog="https://github.com/jupyter/jupyter-packaging/raw/main/CHANGELOG.md"
+distfiles="https://github.com/jupyter/jupyter-packaging/archive/refs/tags/v${version}.tar.gz"
+checksum=3a326f3b4e8b7fea8b7abf775741996095a4caf13767a9c017e9f17043e591e0
+
+post_install() {
+	vlicense LICENSE
+}

From 79c93d5ab5199258cbcdb1bd803ad310b1226dc6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 10:31:37 -0300
Subject: [PATCH 37/50] New package: hatch-jupyter-builder-0.8.3

---
 srcpkgs/hatch-jupyter-builder/template | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 srcpkgs/hatch-jupyter-builder/template

diff --git a/srcpkgs/hatch-jupyter-builder/template b/srcpkgs/hatch-jupyter-builder/template
new file mode 100644
index 000000000000..dafd4563350c
--- /dev/null
+++ b/srcpkgs/hatch-jupyter-builder/template
@@ -0,0 +1,19 @@
+# Template file for 'hatch-jupyter-builder'
+pkgname=hatch-jupyter-builder
+version=0.8.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="hatchling"
+checkdepends="python3-pytest-mock python3-tomli"
+short_desc="Hatch plugin to help build Jupyter packages"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyterlab/hatch-jupyter-builder"
+changelog="https://github.com/jupyterlab/hatch-jupyter-builder/raw/main/CHANGELOG.md"
+distfiles="https://github.com/jupyterlab/hatch-jupyter-builder/archive/refs/tags/v${version}.tar.gz"
+checksum=b167709e9bd196b3b92fe13a20b10c09cd30ca550759a9f06834378eb371af96
+
+post_install() {
+	vlicense LICENSE.txt
+}

From e4494c7d7b35a9c360bd23ec0ed3280a37a13a76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 38/50] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e6..ad2f0aabdb2b 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,19 +1,24 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
 # Upstream defines no tests
 make_check=no
 
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
+
 post_install() {
 	vlicense LICENSE
 }

From d8c02f3ee8377bb7b9da5f90ac53a53cc8107879 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 39/50] python3-jupyter_widgetsnbextension: update to 4.0.7,
 adopt.

---
 .../template                                   | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a3..efeb920ed572 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,17 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.7
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=ea67c17a7cd4ae358f8f46c3b304c40698bc0423732e3f273321ee141232c8be
+# Upstream defines no tests
+make_check=no
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From 086d487c4f64720c223f23fa13b8e7bf06884e47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 40/50] python3-jupyter_ipywidgets: update to 8.0.6, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c..87628b19c478 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,19 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.0.6
+revision=1
+build_style=python3-pep517
+make_check_target="ipywidgets"  # workaround for #43946
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=de7d779f2045d60de9f6c25f653fdae2dba57898e6a1284494b3ba20b6893bb8
 
 post_install() {
 	vlicense LICENSE

From 452f3eff2160ea78ab6e223cde44fc9ca816c30a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 41/50] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e..5e2347092885 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,21 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+make_check_target="nbclient"  # workaround for #43946
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-flaky
+ python3-jupyter_ipywidgets python3-jupyter_nbconvert
+ python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://github.com/jupyter/nbclient/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
 
 post_install() {
 	vlicense LICENSE

From 796e7a7338e448773cb51539d00ff96e355e74d1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 42/50] python3-jupyter_nbconvert: update to 7.4.0, adopt.

---
 srcpkgs/python3-jupyter_nbconvert/INSTALL.msg |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 39 ++++++++++++-------
 2 files changed, 24 insertions(+), 17 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/INSTALL.msg

diff --git a/srcpkgs/python3-jupyter_nbconvert/INSTALL.msg b/srcpkgs/python3-jupyter_nbconvert/INSTALL.msg
deleted file mode 100644
index 5efba6bbb86f..000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/INSTALL.msg
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index 9a92c929b0a0..265792611932 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,24 +1,33 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.4.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune2 python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://github.com/jupyter/nbconvert/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=51b6c77b507b177b73f6729dba15676e42c4e92bcb00edc8cc982ee72e7d89d7
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE

From 616f1822911fdcbbd47355b82a2194257f017f17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 43/50] New package: python3-jupyter_events-0.6.3

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 000000000000..751fe1da8d7d
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.6.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml
+ python3-traitlets python3-click python3-rich"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://github.com/jupyter/jupyter_events/raw/main/CHANGELOG.md"
+distfiles="https://github.com/jupyter/jupyter_events/archive/refs/tags/v${version}.tar.gz"
+checksum=4542e4d4af8cb8f2f3da3145b59053d879c0ffeea1c35be4b4879385f7aea123
+
+post_install() {
+	vlicense COPYING.md
+}

From a9d8a06d9f94ee02424911c6e9861ba8d13f86ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 44/50] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 000000000000..9b125e18780c
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter python3-jupyter_server"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://github.com/jupyter-server/jupyter_server_terminals/raw/main/CHANGELOG.md"
+distfiles="https://github.com/jupyter-server/jupyter_server_terminals/archive/refs/tags/v${version}.tar.gz"
+checksum=19aacba9fc3a068495fa7b493e9f70dba8faeb3b9e6f6510f89fa07759024446
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From bb612a632fdc81a3bdbe4792a487fce7ab7699b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 45/50] python3-jupyter_server: update to 2.6.0.

---
 .../patches/fix-pytest-xdist.patch            | 32 +++++++++++++++++++
 srcpkgs/python3-jupyter_server/template       | 31 +++++++++---------
 2 files changed, 47 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_server/patches/fix-pytest-xdist.patch

diff --git a/srcpkgs/python3-jupyter_server/patches/fix-pytest-xdist.patch b/srcpkgs/python3-jupyter_server/patches/fix-pytest-xdist.patch
new file mode 100644
index 000000000000..565e39ab2637
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/fix-pytest-xdist.patch
@@ -0,0 +1,32 @@
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index b69564220..47280e971 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -362,15 +362,12 @@ def test_gateway_request_timeout_pad_option(
+     GatewayClient.clear_instance()
+ 
+ 
+-cookie_expire_time = format_datetime(datetime.now(tz=timezone.utc) + timedelta(seconds=180))
+-
+-
+ @pytest.mark.parametrize(
+     "accept_cookies,expire_arg,expire_param,existing_cookies,cookie_exists",
+     [
+         (False, None, None, "EXISTING=1", False),
+         (True, None, None, "EXISTING=1", True),
+-        (True, "Expires", cookie_expire_time, None, True),
++        (True, "Expires", 180, None, True),
+         (True, "Max-Age", "-360", "EXISTING=1", False),
+     ],
+ )
+@@ -389,6 +386,10 @@ def test_gateway_request_with_expiring_cookies(
+ 
+     cookie: SimpleCookie = SimpleCookie()
+     cookie.load("SERVERID=1234567; Path=/")
++    if expire_arg == "Expires":
++        expire_param = format_datetime(
++                datetime.now(tz=timezone.utc) +
++                timedelta(seconds=expire_param))
+     if expire_arg:
+         cookie["SERVERID"][expire_arg] = expire_param
+ 
diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309..c1829a33d72d 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,25 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.6.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
-changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
+homepage="https://github.com/jupyter-server/jupyter_server"
+changelog="https://github.com/jupyter-server/jupyter_server/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=ae4af349f030ed08dd78cb7ac1a03a92d886000380c9ea6283f3c542a81f4b06
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From 7104145debc0b563cd0ae4a564bf28d0308df0f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 46/50] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2..25efd961b6d8 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://github.com/jupyter/notebook_shim/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From de5b5e43a020a1a132453d863fd0fc1dea86659c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 47/50] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a60..9a200fae0bf8 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--no-isolation  --wheel --skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://github.com/jupyter/nbclassic/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From 3009c19588dea5bc3dcb2bca3333ea55e447b25f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 48/50] python3-jupyterlab_server: update to 2.22.1.

---
 .../patches/fix-test-api.patch                | 21 +++++++++++++++++
 srcpkgs/python3-jupyterlab_server/template    | 23 +++++++++++--------
 2 files changed, 34 insertions(+), 10 deletions(-)
 create mode 100644 srcpkgs/python3-jupyterlab_server/patches/fix-test-api.patch

diff --git a/srcpkgs/python3-jupyterlab_server/patches/fix-test-api.patch b/srcpkgs/python3-jupyterlab_server/patches/fix-test-api.patch
new file mode 100644
index 000000000000..9bcf34ee7c17
--- /dev/null
+++ b/srcpkgs/python3-jupyterlab_server/patches/fix-test-api.patch
@@ -0,0 +1,21 @@
+diff --git a/jupyterlab_server/test_utils.py b/jupyterlab_server/test_utils.py
+index f761ec8..2c52664 100644
+--- a/jupyterlab_server/test_utils.py
++++ b/jupyterlab_server/test_utils.py
+@@ -156,14 +156,14 @@ def validate_request(response):
+         result = V30RequestValidator(openapi_spec).validate(request)
+     else:
+         result = openapi_request_validator.validate(openapi_spec, request)
+-    result.raise_for_errors()
++        result.raise_for_errors()
+ 
+     response = TornadoOpenAPIResponse(response)
+     if V30ResponseValidator:
+         result2 = V30ResponseValidator(openapi_spec).validate(request, response)
+     else:
+         result2 = openapi_response_validator.validate(openapi_spec, request, response)
+-    result2.raise_for_errors()
++        result2.raise_for_errors()
+ 
+ 
+ def maybe_patch_ioloop():
diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6c..8daa0801c0c9 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,21 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.22.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5
+ python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml
+ python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://github.com/jupyterlab/jupyterlab_server/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=dfaaf898af84b9d01ae9583b813f378b96ee90c3a66f24c5186ea5d1bbdb2089
 
 post_install() {
 	vlicense LICENSE

From 136af91f236354bddb53cdf019355acf144695b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 49/50] jupyterlab: update to 4.0.0.

---
 srcpkgs/jupyterlab/template | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5..8d5592d04abb 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,28 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
 homepage="https://jupyter.org"
+changelog="https://github.com/jupyterlab/jupyterlab/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=ce656d04828b2e4ee0758e22c862cc99aedec66a10319d09f0fd5ea51be68dd8
+
+post_patch() {
+	# works ok with nodejs 16, and nodejs 18 is n/a (#41239)
+	vsed -e 's/"node": ">=18.0.0"/"node": ">=16.0.0"/' \
+		-i jupyterlab/staging/package.json
+}
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From 91d2be928208d185ca5677f7ca8c796673d39610 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 50/50] python3-jupyter_notebook: update to 7.0.0b3.

---
 .../patches/no-versioned-coverage.patch       | 16 ----------
 srcpkgs/python3-jupyter_notebook/template     | 30 ++++++++-----------
 srcpkgs/python3-jupyter_notebook/update       |  2 +-
 3 files changed, 13 insertions(+), 35 deletions(-)
 delete mode 100644 srcpkgs/python3-coverage/patches/no-versioned-coverage.patch

diff --git a/srcpkgs/python3-coverage/patches/no-versioned-coverage.patch b/srcpkgs/python3-coverage/patches/no-versioned-coverage.patch
deleted file mode 100644
index fefbfc0af761..000000000000
--- a/srcpkgs/python3-coverage/patches/no-versioned-coverage.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -86,12 +86,9 @@ setup_args = dict(
-     },
- 
-     entry_points={
--        # Install a script as "coverage", and as "coverage[23]", and as
--        # "coverage-2.7" (or whatever).
-+        # Install a script as "coverage"
-         'console_scripts': [
-             'coverage = coverage.cmdline:main',
--            'coverage%d = coverage.cmdline:main' % sys.version_info[:1],
--            'coverage-%d.%d = coverage.cmdline:main' % sys.version_info[:2],
-         ],
-     },
- 
diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc..ca766e4aa368 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.0b3
+revision=1
+build_style=python3-pep517
+make_build_args="--no-isolation  --wheel --skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://github.com/jupyter/notebook/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=5507449334c145e2a863ddb34498607d2394f35610923631d2f133c7c11e6da1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed496..276c9bf787e5 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
@ 2023-05-30  2:15 ` tornaria
  2023-05-30 21:51 ` dkwo
                   ` (36 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-05-30  2:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1260 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1567673646

Comment:
@dkwo: maybe you want to test; still WIP.

I've been insistent on making check pass as much as possible.  Yet there are some circular checkdepends (but not that many) so CI might fail... we'll see.

Cycles I know about:
 - `jupyter_client`, `ipython` have `checkdepends` on `ipykernel`, but the latter build depends on the former
 - `ipython` has `checkdepends` on `nbformat`, but the latter build depends on the former
 - `ipykernel` has `checkdepends` on `ipyparallel`, but the latter build depends on the former
 - `nbclient` has `checkdepends` on `nbconvert`, but the latter build depends on the former
 - `jupyter_server_terminals` has `checkdepends` on `jupyter_server`, but the latter build depends on the former
 - `pytest_jupyter` has `checkdepends` on `jupyter_server`, but the latter check depends on the former

There are no build cycles.

I guess CI cycles can be broken by setting `make_check=ci-skip` in a few packages. In principle this is only a problem if two packages are updated in the same PR (like here, everything is updated at the same time since lots of packages are quite old).

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
  2023-05-30  2:15 ` tornaria
@ 2023-05-30 21:51 ` dkwo
  2023-05-31  0:10 ` tornaria
                   ` (35 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: dkwo @ 2023-05-30 21:51 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 922 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1569154984

Comment:
Thanks a lot, I'll look into this. The `ci-skip` for the circular deps is a good idea, as well as using `pip3 check` for missing deps, e.g. on my current system (prior to this pr):
```
$ pip3 check 
ipywidgets 7.6.3 requires jupyterlab-widgets, which is not installed.
yt-dlp 2023.3.4 requires brotli, which is not installed.
yt-dlp 2023.3.4 requires certifi, which is not installed.
yt-dlp 2023.3.4 requires mutagen, which is not installed.
yt-dlp 2023.3.4 requires pycryptodomex, which is not installed.
yt-dlp 2023.3.4 requires websockets, which is not installed.
jupyterlab 3.5.0 requires tomli, which is not installed.
ipykernel 6.19.2 requires debugpy, which is not installed.
nbconvert 6.4.5 has requirement nbclient<0.6.0,>=0.5.0, but you have nbclient 0.7.0.
```

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
  2023-05-30  2:15 ` tornaria
  2023-05-30 21:51 ` dkwo
@ 2023-05-31  0:10 ` tornaria
  2023-06-28 21:30 ` dkwo
                   ` (34 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-05-31  0:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 894 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1569306393

Comment:
> Thanks a lot, I'll look into this. The `ci-skip` for the circular deps is a good idea, as well as using `pip3 check` for missing deps

That's nice, the relevant ones I get are:
```
ipykernel 6.23.1 requires debugpy, which is not installed.
jupyterlab 4.0.0 requires jupyter-lsp, which is not installed.
ipywidgets 8.0.6 requires jupyterlab-widgets, which is not installed.
```
I'll look into packaging those three  (also jupyterlab released 4.0.1).

BTW, I didn't mention it in the comments: I'm packaging notebook-7.0.0b3. Since 7.0.0 will be released soon, this makes sense and 6.5.4 doesn't work properly with current jupyter_client so it could  be difficult supporting notebook-6.5.4 together with jupyterlab 4.0.0 for little gain...


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (2 preceding siblings ...)
  2023-05-31  0:10 ` tornaria
@ 2023-06-28 21:30 ` dkwo
  2023-07-06  1:43 ` dkwo
                   ` (33 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: dkwo @ 2023-06-28 21:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 154 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1612134872

Comment:
can you rebase?

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (3 preceding siblings ...)
  2023-06-28 21:30 ` dkwo
@ 2023-07-06  1:43 ` dkwo
  2023-07-06  2:08 ` [PR REVIEW] " classabbyamp
                   ` (32 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: dkwo @ 2023-07-06  1:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 228 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1622793136

Comment:
Also, now we have nodejs18, so maybe the corresponding part in jupyterlab can be dropped?

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR REVIEW] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (4 preceding siblings ...)
  2023-07-06  1:43 ` dkwo
@ 2023-07-06  2:08 ` classabbyamp
  2023-08-19  8:42 ` dkwo
                   ` (31 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: classabbyamp @ 2023-07-06  2:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 297 bytes --]

New review comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#discussion_r1253835174

Comment:
```suggestion
 python3-jupyterlab_server python3-notebook_shim python3-tomli"
```
this is necessary for `jupyter labextension` stuff (#44872)

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (5 preceding siblings ...)
  2023-07-06  2:08 ` [PR REVIEW] " classabbyamp
@ 2023-08-19  8:42 ` dkwo
  2023-08-19  8:42 ` dkwo
                   ` (30 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: dkwo @ 2023-08-19  8:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 166 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1684895413

Comment:
also, 7.0.2 notebook is out

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (6 preceding siblings ...)
  2023-08-19  8:42 ` dkwo
@ 2023-08-19  8:42 ` dkwo
  2023-08-19 19:00 ` tornaria
                   ` (29 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: dkwo @ 2023-08-19  8:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 185 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1684895449

Comment:
@tornaria are you still interested in this pr?

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (7 preceding siblings ...)
  2023-08-19  8:42 ` dkwo
@ 2023-08-19 19:00 ` tornaria
  2023-09-26  1:47 ` [PR PATCH] [Updated] " tornaria
                   ` (28 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-08-19 19:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 361 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1685085078

Comment:
> @tornaria are you still interested in this pr?

Sure, give me a few days to rebase and rework my branch to the current versions. I do want to get well-working jupyter and track it so it's easier to keep it updated.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (8 preceding siblings ...)
  2023-08-19 19:00 ` tornaria
@ 2023-09-26  1:47 ` tornaria
  2023-09-26 13:54 ` tornaria
                   ` (27 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-26  1:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 54994 bytes --]

From 8c870df593ee3210b8025eb8822885a8d6657842 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 16 Sep 2023 11:49:40 -0300
Subject: [PATCH 01/29] common/build-helper/rust.sh: fix cross for pyo3

---
 common/build-helper/rust.sh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/common/build-helper/rust.sh b/common/build-helper/rust.sh
index f689f7c7f9d96..96ec351d545d9 100644
--- a/common/build-helper/rust.sh
+++ b/common/build-helper/rust.sh
@@ -33,6 +33,10 @@ fi
 # For cross-compiling rust -sys crates
 export PKG_CONFIG_ALLOW_CROSS=1
 
+# For cross-compiling pyo3 bindings
+export PYO3_CROSS_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib"
+export PYO3_CROSS_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include"
+
 # gettext-rs
 export GETTEXT_BIN_DIR=/usr/bin
 export GETTEXT_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib/gettext"

From 368d12b57439b0b260bed544085978dc9314316a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 15 Sep 2023 23:01:52 -0300
Subject: [PATCH 02/29] New package: python3-rpds-py-0.10.3

---
 srcpkgs/python3-rpds-py/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/python3-rpds-py/template

diff --git a/srcpkgs/python3-rpds-py/template b/srcpkgs/python3-rpds-py/template
new file mode 100644
index 0000000000000..aaa7859603339
--- /dev/null
+++ b/srcpkgs/python3-rpds-py/template
@@ -0,0 +1,21 @@
+# Template file for 'python3-rpds-py'
+pkgname=python3-rpds-py
+version=0.10.3
+revision=1
+build_style=python3-pep517
+build_helper=rust
+hostmakedepends="cargo maturin"
+makedepends="python3 rust-std"
+depends="python3"
+checkdepends="python3-pytest"
+short_desc="Python bindings to Rust's persistent data structures (rpds)"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/crate-py/rpds"
+changelog="https://github.com/crate-py/rpds/releases"
+distfiles="${PYPI_SITE}/r/rpds-py/rpds_py-${version}.tar.gz"
+checksum=fcc1ebb7561a3e24a6588f7c6ded15d80aec22c66a070c757559b57b17ffd1cb
+
+post_install() {
+	vlicense LICENSE
+}

From c75fc2a2f94d3c9bf04fe853489184383286604c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 16 Aug 2023 21:22:53 -0300
Subject: [PATCH 03/29] New package: python3-referencing-0.30.2

---
 srcpkgs/python3-referencing/template | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 srcpkgs/python3-referencing/template

diff --git a/srcpkgs/python3-referencing/template b/srcpkgs/python3-referencing/template
new file mode 100644
index 0000000000000..44ea2d6cf46e9
--- /dev/null
+++ b/srcpkgs/python3-referencing/template
@@ -0,0 +1,27 @@
+# Template file for 'python3-referencing'
+pkgname=python3-referencing
+version=0.30.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-vcs"
+depends="python3-rpds-py"
+checkdepends="$depends python3-pytest-subtests"
+short_desc="Cross-specification JSON Referencing"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/python-jsonschema/referencing"
+changelog="https://raw.githubusercontent.com/python-jsonschema/referencing/main/docs/changes.rst"
+distfiles="${PYPI_SITE}/r/referencing/referencing-${version}.tar.gz"
+checksum=794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# cyclic dependency
+	checkdepends+=" python3-jsonschema"
+else
+	# needs python3-jsonschema
+	make_check_args+=" --ignore=suite/test_sanity.py"
+fi
+
+post_install() {
+	vlicense COPYING
+}

From cd681334b7c0538701266c64f83052392c875d63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 16 Aug 2023 21:26:32 -0300
Subject: [PATCH 04/29] python3-jsonschema-spec: update to 0.2.4.

---
 srcpkgs/python3-jsonschema-spec/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-jsonschema-spec/template b/srcpkgs/python3-jsonschema-spec/template
index 6caba5a29370c..725ba5a68a785 100644
--- a/srcpkgs/python3-jsonschema-spec/template
+++ b/srcpkgs/python3-jsonschema-spec/template
@@ -1,15 +1,15 @@
 # Template file for 'python3-jsonschema-spec'
 pkgname=python3-jsonschema-spec
-version=0.1.6
+version=0.2.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core"
-depends="python3-jsonschema python3-pathable python3-yaml"
-checkdepends="$depends python3-pytest-cov python3-toml"
+depends="python3-pathable python3-referencing python3-yaml"
+checkdepends="$depends python3-pytest-cov python3-responses"
 short_desc="JSONSchema Spec with object-oriented paths"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="Apache-2.0"
 homepage="https://github.com/p1c2u/jsonschema-spec"
 changelog="https://github.com/p1c2u/jsonschema-spec/releases"
 distfiles="https://github.com/p1c2u/jsonschema-spec/archive/refs/tags/${version}.tar.gz"
-checksum=ab1d01d3ed40f83c3e272ffc86505830085a5306ad43db04a6e8edf560fedd1d
+checksum=291e898786587e8d370fd419b8d9e9a9eb34e95862a14c5f03261688c0b25bf6

From bc81b609ae9b6c0aa94d90aef2865966d24ef49f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 15 Sep 2023 23:24:55 -0300
Subject: [PATCH 05/29] New package: python3-jsonschema-specifications-2023.7.1

---
 .../python3-jsonschema-specifications/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 srcpkgs/python3-jsonschema-specifications/template

diff --git a/srcpkgs/python3-jsonschema-specifications/template b/srcpkgs/python3-jsonschema-specifications/template
new file mode 100644
index 0000000000000..9761f5f5c26ff
--- /dev/null
+++ b/srcpkgs/python3-jsonschema-specifications/template
@@ -0,0 +1,18 @@
+# Template file for 'python3-jsonschema-specifications'
+pkgname=python3-jsonschema-specifications
+version=2023.7.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-vcs"
+depends="python3-referencing"
+checkdepends="$depends python3-pytest"
+short_desc="JSON Schema specifications, exposed as a Registry"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/python-jsonschema/jsonschema-specifications"
+distfiles="${PYPI_SITE}/j/jsonschema-specifications/jsonschema_specifications-${version}.tar.gz"
+checksum=c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb
+
+post_install() {
+	vlicense COPYING
+}

From 9ce214742076c5f4c0f5ea2ec99c6c1c4d31ef57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 16 Aug 2023 20:24:02 -0300
Subject: [PATCH 06/29] python3-jsonpointer: update to 2.4, adopt.

---
 srcpkgs/python3-jsonpointer/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-jsonpointer/template b/srcpkgs/python3-jsonpointer/template
index 59b38c2228d6d..fba9a8ae4a447 100644
--- a/srcpkgs/python3-jsonpointer/template
+++ b/srcpkgs/python3-jsonpointer/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jsonpointer'
 pkgname=python3-jsonpointer
-version=2.3
+version=2.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
 short_desc="Resolve JSON Pointers according to RFC 6901 (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/stefankoegl/python-json-pointer"
 distfiles="${PYPI_SITE}/j/jsonpointer/jsonpointer-${version}.tar.gz"
-checksum=97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a
+checksum=585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88
 conflicts="python-jsonpointer>=0"
 
 do_check() {
 	# pytest is not supported
-	python3 tests.py
+	python3 -m unittest
 }
 
 post_install() {

From f12be6a746a39184d879e4cac6dcb2532dee3a1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 16 Aug 2023 21:06:42 -0300
Subject: [PATCH 07/29] python3-jsonschema: update to 4.19.1.

---
 .../0001-patch-out-hatch-fancy-pypi-readme.patch     |  6 +++---
 srcpkgs/python3-jsonschema/template                  | 12 ++++++------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jsonschema/patches/0001-patch-out-hatch-fancy-pypi-readme.patch b/srcpkgs/python3-jsonschema/patches/0001-patch-out-hatch-fancy-pypi-readme.patch
index 2f10a5f7f6d33..6c33f9ec5373c 100644
--- a/srcpkgs/python3-jsonschema/patches/0001-patch-out-hatch-fancy-pypi-readme.patch
+++ b/srcpkgs/python3-jsonschema/patches/0001-patch-out-hatch-fancy-pypi-readme.patch
@@ -47,9 +47,9 @@ index f5fe8db..7ae8318 100644
 -path = "CHANGELOG.rst"
 -pattern = "(^v.+?)\nv"
 -
- [tool.isort]
- from_first = true
- include_trailing_comma = true
+ [tool.coverage.html]
+ branch = true
+ source = ["jsonschema"]
 -- 
 2.37.3
 
diff --git a/srcpkgs/python3-jsonschema/template b/srcpkgs/python3-jsonschema/template
index 272eb06edbdd6..44faf389e7d0d 100644
--- a/srcpkgs/python3-jsonschema/template
+++ b/srcpkgs/python3-jsonschema/template
@@ -1,19 +1,19 @@
 # Template file for 'python3-jsonschema'
 pkgname=python3-jsonschema
-version=4.17.3
-revision=2
+version=4.19.1
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling hatch-vcs"
-depends="python3-attrs python3-idna python3-jsonpointer python3-pyrsistent
- python3-rfc3339-validator python3-rfc3986-validator"
-checkdepends="${depends} python3-pytest python3-pip"
+depends="python3-attrs python3-jsonschema-specifications"
+checkdepends="${depends} python3-pytest python3-idna python3-jsonpointer
+ python3-pip python3-rfc3339-validator python3-rfc3987"
 short_desc="Implementation of JSON Schema for Python3"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="MIT"
 homepage="https://github.com/Julian/jsonschema"
 changelog="https://raw.githubusercontent.com/Julian/jsonschema/master/CHANGELOG.rst"
 distfiles="${PYPI_SITE}/j/jsonschema/jsonschema-${version}.tar.gz"
-checksum=0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d
+checksum=ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf
 
 post_install() {
 	vlicense COPYING LICENSE

From 64daef0646b1961588d6be7e840b9dd476a01c73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 16 Sep 2023 01:04:50 -0300
Subject: [PATCH 08/29] python3-openapi-spec-validator: update to 0.6.0.

---
 srcpkgs/python3-openapi-spec-validator/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-openapi-spec-validator/template b/srcpkgs/python3-openapi-spec-validator/template
index f75c24694c30b..f123e954f6f2d 100644
--- a/srcpkgs/python3-openapi-spec-validator/template
+++ b/srcpkgs/python3-openapi-spec-validator/template
@@ -1,16 +1,16 @@
 # Template file for 'python3-openapi-spec-validator'
 pkgname=python3-openapi-spec-validator
-version=0.5.7
+version=0.6.0
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core"
 depends="python3-jsonschema-spec python3-lazy-object-proxy
  python3-openapi-schema-validator"
-checkdepends="$depends python3-pytest-cov python3-toml"
+checkdepends="$depends python3-pytest-cov"
 short_desc="OpenAPI spec validator"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="Apache-2.0"
 homepage="https://github.com/python-openapi/openapi-spec-validator"
 changelog="https://github.com/python-openapi/openapi-spec-validator/releases"
 distfiles="${PYPI_SITE}/o/openapi-spec-validator/openapi_spec_validator-${version}.tar.gz"
-checksum=6c2d42180045a80fd6314de848b94310bdb0fa4949f4b099578b69f79d9fa5ac
+checksum=68c4c212c88ef14c6b1a591b895bf742c455783c7ebba2507abd7dbc1365a616

From 00956e0e41c121567491d4913b2659b8a6ef23c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 16 Sep 2023 01:05:07 -0300
Subject: [PATCH 09/29] python3-openapi-schema-validator: update to 0.6.1.

---
 srcpkgs/python3-openapi-schema-validator/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-openapi-schema-validator/template b/srcpkgs/python3-openapi-schema-validator/template
index bb26e4a7d6034..77139da12b350 100644
--- a/srcpkgs/python3-openapi-schema-validator/template
+++ b/srcpkgs/python3-openapi-schema-validator/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-openapi-schema-validator'
 pkgname=python3-openapi-schema-validator
-version=0.4.4
+version=0.6.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core"
-depends="python3-jsonschema"
-checkdepends="$depends python3-pytest-cov python3-toml"
+depends="python3-jsonschema python3-rfc3339-validator"
+checkdepends="$depends python3-pytest-cov"
 short_desc="OpenAPI schema validation for Python"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/python-openapi/openapi-schema-validator"
 changelog="https://github.com/python-openapi/openapi-schema-validator/releases"
 distfiles="${PYPI_SITE}/o/openapi-schema-validator/openapi_schema_validator-${version}.tar.gz"
-checksum=c573e2be2c783abae56c5a1486ab716ca96e09d1c3eab56020d1dc680aa57bf8
+checksum=b8b25e2cb600a0ed18452e675b5dd8cbb99009909c2641c973a4b02c93e33ca2
 
 post_install() {
 	vlicense LICENSE

From 66695e8b773ea1001c2d6d05ac41c34bf07ce8c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 16 Sep 2023 01:05:23 -0300
Subject: [PATCH 10/29] python3-openapi-core: update to 0.18.1.

---
 srcpkgs/python3-openapi-core/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/python3-openapi-core/template b/srcpkgs/python3-openapi-core/template
index 2dd5dceab1d6a..19bb7af32a364 100644
--- a/srcpkgs/python3-openapi-core/template
+++ b/srcpkgs/python3-openapi-core/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-openapi-core'
 pkgname=python3-openapi-core
-version=0.17.1
+version=0.18.1
 revision=1
 build_style=python3-pep517
 # disable tests requiring unpackaged dependencies
@@ -11,17 +11,17 @@ make_check_args="
  --ignore=tests/integration/contrib/starlette
  "
 hostmakedepends="python3-poetry-core"
-depends="python3-isodate python3-more-itertools python3-openapi-spec-validator
- python3-parse python3-Werkzeug"
-checkdepends="$depends python3-pytest-cov python3-Flask python3-requests
- python3-responses python3-toml python3-WebOb"
+depends="python3-asgiref python3-isodate python3-more-itertools
+ python3-openapi-spec-validator python3-parse python3-Werkzeug"
+checkdepends="$depends python3-pytest-cov python3-pytest-aiohttp
+ python3-Flask python3-requests python3-responses python3-WebOb"
 short_desc="Support for the OpenAPI Specification v3"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/python-openapi/openapi-core"
 changelog="https://github.com/python-openapi/openapi-core/releases"
 distfiles="${PYPI_SITE}/o/openapi-core/openapi_core-${version}.tar.gz"
-checksum=561b7e2b37b336e9c62d4634b9059d12d9bb2e1859062a39d3a0fa6afc8c9de6
+checksum=63fa13d9af226ac00119b0531ac9929e3dbb4cbe00216770784473fa6a03bc27
 
 post_install() {
 	vlicense LICENSE

From 183214f49cbc167080a7d43367aa85243c32dc5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 11/29] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 25 ++++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 2 files changed, 43 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..1975140643599
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,25 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
+
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6ca..6a28f6f0ef29c 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest "
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 90faf9ce73c186af875d5056421c1dab35cb1c0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 12/29] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..17ffe7d9ef377
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="https://github.com/jupyter/jupyter_events/archive/refs/tags/v${version}.tar.gz"
+checksum=084b253d649b127b902bcef14a24d1e6468a0de5268436dc4a01b8c144aca131
+
+post_install() {
+	vlicense LICENSE
+}

From 9e076e3f1e40bebca05cc399bb12a150893a466e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 13/29] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e67054..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From f64c4c50a1426824f2d6636125bb0d453f240e31 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 14/29] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a31..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From 7c73987fcacf1ba9d39a91e9f569e50b358e9cbb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 15/29] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e60..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From 7ce377647d6e8ed99e2db770afbfe4f82571892b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 16/29] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 5fcab741530c8d3c7f2d66fc2787b009a1029bac Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 17/29] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea9627..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.3.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 4637f510e36f0d2cde56409d6fdb45da812879b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 18/29] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 38 +++++++++++++++-------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff50..4ee757a022802 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,37 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.25.2
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From edb1ecbda5f485fb7e30eb7e438db3dae67dcd2f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 19/29] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c0..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From d1e4f1a52ece2fb3bf678c01051fe6b7a817b516 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 20/29] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e7..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From 1c1086215d5cbc34cae9fbebae81025f14be63c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 21/29] python3-mistune: update to 3.0.1, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index c9c60af0b6b47..6a8a82dde4504 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=6
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c
 
 post_install() {
 	vlicense LICENSE

From 1da69e0c9751b82d6002ba7d0197283e1cf96df0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 22/29] python3-jupyter_nbconvert: update to 7.8.0, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index f22b15735276f..5b5c1d41fedfe 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.8.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=f5bc15a1247e14dd41ceef0c0a3bc70020e016576eb0578da62f1c5b4f950479
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From 04ce44f2527007f6af110cb019e738bfb96c7f88 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 23/29] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..2223e3b67439d
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="https://github.com/jupyter-server/jupyter_server_terminals/archive/refs/tags/v${version}.tar.gz"
+checksum=19aacba9fc3a068495fa7b493e9f70dba8faeb3b9e6f6510f89fa07759024446
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 0364e4eb2d5df6a0a6c9df83e37b0c59464b716d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 24/29] python3-jupyter_server: update to 2.7.3.

---
 srcpkgs/python3-jupyter_server/template | 38 +++++++++++++++----------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309f..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.7.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From ebfc01ddeef1ee5ec6ab62364178ddddfbab801b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 25/29] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2e..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 777448a1f9e28c62c3ecb5dc604b2e6a000bb6ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 26/29] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a606..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From ab68cc9dc69b98045e916465bc5ca6d12c95d563 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 27/29] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6cb..f471aca0d56cd 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,19 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
 
 post_install() {
 	vlicense LICENSE

From 2ca601c2bd77a1195926f06d72922bc3e1aa7101 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 28/29] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5d..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From b8712c241ff73449c9ea17f9bc72a96280c5ed95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 29/29] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc5..87895c86dbe87 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (9 preceding siblings ...)
  2023-09-26  1:47 ` [PR PATCH] [Updated] " tornaria
@ 2023-09-26 13:54 ` tornaria
  2023-09-26 19:46 ` tornaria
                   ` (26 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-26 13:54 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 58573 bytes --]

From 8c870df593ee3210b8025eb8822885a8d6657842 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 16 Sep 2023 11:49:40 -0300
Subject: [PATCH 01/32] common/build-helper/rust.sh: fix cross for pyo3

---
 common/build-helper/rust.sh | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/common/build-helper/rust.sh b/common/build-helper/rust.sh
index f689f7c7f9d96..96ec351d545d9 100644
--- a/common/build-helper/rust.sh
+++ b/common/build-helper/rust.sh
@@ -33,6 +33,10 @@ fi
 # For cross-compiling rust -sys crates
 export PKG_CONFIG_ALLOW_CROSS=1
 
+# For cross-compiling pyo3 bindings
+export PYO3_CROSS_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib"
+export PYO3_CROSS_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include"
+
 # gettext-rs
 export GETTEXT_BIN_DIR=/usr/bin
 export GETTEXT_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib/gettext"

From 368d12b57439b0b260bed544085978dc9314316a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 15 Sep 2023 23:01:52 -0300
Subject: [PATCH 02/32] New package: python3-rpds-py-0.10.3

---
 srcpkgs/python3-rpds-py/template | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 srcpkgs/python3-rpds-py/template

diff --git a/srcpkgs/python3-rpds-py/template b/srcpkgs/python3-rpds-py/template
new file mode 100644
index 0000000000000..aaa7859603339
--- /dev/null
+++ b/srcpkgs/python3-rpds-py/template
@@ -0,0 +1,21 @@
+# Template file for 'python3-rpds-py'
+pkgname=python3-rpds-py
+version=0.10.3
+revision=1
+build_style=python3-pep517
+build_helper=rust
+hostmakedepends="cargo maturin"
+makedepends="python3 rust-std"
+depends="python3"
+checkdepends="python3-pytest"
+short_desc="Python bindings to Rust's persistent data structures (rpds)"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/crate-py/rpds"
+changelog="https://github.com/crate-py/rpds/releases"
+distfiles="${PYPI_SITE}/r/rpds-py/rpds_py-${version}.tar.gz"
+checksum=fcc1ebb7561a3e24a6588f7c6ded15d80aec22c66a070c757559b57b17ffd1cb
+
+post_install() {
+	vlicense LICENSE
+}

From c75fc2a2f94d3c9bf04fe853489184383286604c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 16 Aug 2023 21:22:53 -0300
Subject: [PATCH 03/32] New package: python3-referencing-0.30.2

---
 srcpkgs/python3-referencing/template | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 srcpkgs/python3-referencing/template

diff --git a/srcpkgs/python3-referencing/template b/srcpkgs/python3-referencing/template
new file mode 100644
index 0000000000000..44ea2d6cf46e9
--- /dev/null
+++ b/srcpkgs/python3-referencing/template
@@ -0,0 +1,27 @@
+# Template file for 'python3-referencing'
+pkgname=python3-referencing
+version=0.30.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-vcs"
+depends="python3-rpds-py"
+checkdepends="$depends python3-pytest-subtests"
+short_desc="Cross-specification JSON Referencing"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/python-jsonschema/referencing"
+changelog="https://raw.githubusercontent.com/python-jsonschema/referencing/main/docs/changes.rst"
+distfiles="${PYPI_SITE}/r/referencing/referencing-${version}.tar.gz"
+checksum=794ad8003c65938edcdbc027f1933215e0d0ccc0291e3ce20a4d87432b59efc0
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# cyclic dependency
+	checkdepends+=" python3-jsonschema"
+else
+	# needs python3-jsonschema
+	make_check_args+=" --ignore=suite/test_sanity.py"
+fi
+
+post_install() {
+	vlicense COPYING
+}

From cd681334b7c0538701266c64f83052392c875d63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 16 Aug 2023 21:26:32 -0300
Subject: [PATCH 04/32] python3-jsonschema-spec: update to 0.2.4.

---
 srcpkgs/python3-jsonschema-spec/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-jsonschema-spec/template b/srcpkgs/python3-jsonschema-spec/template
index 6caba5a29370c..725ba5a68a785 100644
--- a/srcpkgs/python3-jsonschema-spec/template
+++ b/srcpkgs/python3-jsonschema-spec/template
@@ -1,15 +1,15 @@
 # Template file for 'python3-jsonschema-spec'
 pkgname=python3-jsonschema-spec
-version=0.1.6
+version=0.2.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core"
-depends="python3-jsonschema python3-pathable python3-yaml"
-checkdepends="$depends python3-pytest-cov python3-toml"
+depends="python3-pathable python3-referencing python3-yaml"
+checkdepends="$depends python3-pytest-cov python3-responses"
 short_desc="JSONSchema Spec with object-oriented paths"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="Apache-2.0"
 homepage="https://github.com/p1c2u/jsonschema-spec"
 changelog="https://github.com/p1c2u/jsonschema-spec/releases"
 distfiles="https://github.com/p1c2u/jsonschema-spec/archive/refs/tags/${version}.tar.gz"
-checksum=ab1d01d3ed40f83c3e272ffc86505830085a5306ad43db04a6e8edf560fedd1d
+checksum=291e898786587e8d370fd419b8d9e9a9eb34e95862a14c5f03261688c0b25bf6

From bc81b609ae9b6c0aa94d90aef2865966d24ef49f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 15 Sep 2023 23:24:55 -0300
Subject: [PATCH 05/32] New package: python3-jsonschema-specifications-2023.7.1

---
 .../python3-jsonschema-specifications/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 srcpkgs/python3-jsonschema-specifications/template

diff --git a/srcpkgs/python3-jsonschema-specifications/template b/srcpkgs/python3-jsonschema-specifications/template
new file mode 100644
index 0000000000000..9761f5f5c26ff
--- /dev/null
+++ b/srcpkgs/python3-jsonschema-specifications/template
@@ -0,0 +1,18 @@
+# Template file for 'python3-jsonschema-specifications'
+pkgname=python3-jsonschema-specifications
+version=2023.7.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-vcs"
+depends="python3-referencing"
+checkdepends="$depends python3-pytest"
+short_desc="JSON Schema specifications, exposed as a Registry"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="MIT"
+homepage="https://github.com/python-jsonschema/jsonschema-specifications"
+distfiles="${PYPI_SITE}/j/jsonschema-specifications/jsonschema_specifications-${version}.tar.gz"
+checksum=c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb
+
+post_install() {
+	vlicense COPYING
+}

From 9ce214742076c5f4c0f5ea2ec99c6c1c4d31ef57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 16 Aug 2023 20:24:02 -0300
Subject: [PATCH 06/32] python3-jsonpointer: update to 2.4, adopt.

---
 srcpkgs/python3-jsonpointer/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-jsonpointer/template b/srcpkgs/python3-jsonpointer/template
index 59b38c2228d6d..fba9a8ae4a447 100644
--- a/srcpkgs/python3-jsonpointer/template
+++ b/srcpkgs/python3-jsonpointer/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jsonpointer'
 pkgname=python3-jsonpointer
-version=2.3
+version=2.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
 short_desc="Resolve JSON Pointers according to RFC 6901 (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/stefankoegl/python-json-pointer"
 distfiles="${PYPI_SITE}/j/jsonpointer/jsonpointer-${version}.tar.gz"
-checksum=97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a
+checksum=585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88
 conflicts="python-jsonpointer>=0"
 
 do_check() {
 	# pytest is not supported
-	python3 tests.py
+	python3 -m unittest
 }
 
 post_install() {

From f12be6a746a39184d879e4cac6dcb2532dee3a1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 16 Aug 2023 21:06:42 -0300
Subject: [PATCH 07/32] python3-jsonschema: update to 4.19.1.

---
 .../0001-patch-out-hatch-fancy-pypi-readme.patch     |  6 +++---
 srcpkgs/python3-jsonschema/template                  | 12 ++++++------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jsonschema/patches/0001-patch-out-hatch-fancy-pypi-readme.patch b/srcpkgs/python3-jsonschema/patches/0001-patch-out-hatch-fancy-pypi-readme.patch
index 2f10a5f7f6d33..6c33f9ec5373c 100644
--- a/srcpkgs/python3-jsonschema/patches/0001-patch-out-hatch-fancy-pypi-readme.patch
+++ b/srcpkgs/python3-jsonschema/patches/0001-patch-out-hatch-fancy-pypi-readme.patch
@@ -47,9 +47,9 @@ index f5fe8db..7ae8318 100644
 -path = "CHANGELOG.rst"
 -pattern = "(^v.+?)\nv"
 -
- [tool.isort]
- from_first = true
- include_trailing_comma = true
+ [tool.coverage.html]
+ branch = true
+ source = ["jsonschema"]
 -- 
 2.37.3
 
diff --git a/srcpkgs/python3-jsonschema/template b/srcpkgs/python3-jsonschema/template
index 272eb06edbdd6..44faf389e7d0d 100644
--- a/srcpkgs/python3-jsonschema/template
+++ b/srcpkgs/python3-jsonschema/template
@@ -1,19 +1,19 @@
 # Template file for 'python3-jsonschema'
 pkgname=python3-jsonschema
-version=4.17.3
-revision=2
+version=4.19.1
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling hatch-vcs"
-depends="python3-attrs python3-idna python3-jsonpointer python3-pyrsistent
- python3-rfc3339-validator python3-rfc3986-validator"
-checkdepends="${depends} python3-pytest python3-pip"
+depends="python3-attrs python3-jsonschema-specifications"
+checkdepends="${depends} python3-pytest python3-idna python3-jsonpointer
+ python3-pip python3-rfc3339-validator python3-rfc3987"
 short_desc="Implementation of JSON Schema for Python3"
 maintainer="Jan Christian Grünhage <jan.christian@gruenhage.xyz>"
 license="MIT"
 homepage="https://github.com/Julian/jsonschema"
 changelog="https://raw.githubusercontent.com/Julian/jsonschema/master/CHANGELOG.rst"
 distfiles="${PYPI_SITE}/j/jsonschema/jsonschema-${version}.tar.gz"
-checksum=0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d
+checksum=ec84cc37cfa703ef7cd4928db24f9cb31428a5d0fa77747b8b51a847458e0bbf
 
 post_install() {
 	vlicense COPYING LICENSE

From 64daef0646b1961588d6be7e840b9dd476a01c73 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 16 Sep 2023 01:04:50 -0300
Subject: [PATCH 08/32] python3-openapi-spec-validator: update to 0.6.0.

---
 srcpkgs/python3-openapi-spec-validator/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-openapi-spec-validator/template b/srcpkgs/python3-openapi-spec-validator/template
index f75c24694c30b..f123e954f6f2d 100644
--- a/srcpkgs/python3-openapi-spec-validator/template
+++ b/srcpkgs/python3-openapi-spec-validator/template
@@ -1,16 +1,16 @@
 # Template file for 'python3-openapi-spec-validator'
 pkgname=python3-openapi-spec-validator
-version=0.5.7
+version=0.6.0
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core"
 depends="python3-jsonschema-spec python3-lazy-object-proxy
  python3-openapi-schema-validator"
-checkdepends="$depends python3-pytest-cov python3-toml"
+checkdepends="$depends python3-pytest-cov"
 short_desc="OpenAPI spec validator"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="Apache-2.0"
 homepage="https://github.com/python-openapi/openapi-spec-validator"
 changelog="https://github.com/python-openapi/openapi-spec-validator/releases"
 distfiles="${PYPI_SITE}/o/openapi-spec-validator/openapi_spec_validator-${version}.tar.gz"
-checksum=6c2d42180045a80fd6314de848b94310bdb0fa4949f4b099578b69f79d9fa5ac
+checksum=68c4c212c88ef14c6b1a591b895bf742c455783c7ebba2507abd7dbc1365a616

From 00956e0e41c121567491d4913b2659b8a6ef23c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 16 Sep 2023 01:05:07 -0300
Subject: [PATCH 09/32] python3-openapi-schema-validator: update to 0.6.1.

---
 srcpkgs/python3-openapi-schema-validator/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-openapi-schema-validator/template b/srcpkgs/python3-openapi-schema-validator/template
index bb26e4a7d6034..77139da12b350 100644
--- a/srcpkgs/python3-openapi-schema-validator/template
+++ b/srcpkgs/python3-openapi-schema-validator/template
@@ -1,18 +1,18 @@
 # Template file for 'python3-openapi-schema-validator'
 pkgname=python3-openapi-schema-validator
-version=0.4.4
+version=0.6.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-poetry-core"
-depends="python3-jsonschema"
-checkdepends="$depends python3-pytest-cov python3-toml"
+depends="python3-jsonschema python3-rfc3339-validator"
+checkdepends="$depends python3-pytest-cov"
 short_desc="OpenAPI schema validation for Python"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/python-openapi/openapi-schema-validator"
 changelog="https://github.com/python-openapi/openapi-schema-validator/releases"
 distfiles="${PYPI_SITE}/o/openapi-schema-validator/openapi_schema_validator-${version}.tar.gz"
-checksum=c573e2be2c783abae56c5a1486ab716ca96e09d1c3eab56020d1dc680aa57bf8
+checksum=b8b25e2cb600a0ed18452e675b5dd8cbb99009909c2641c973a4b02c93e33ca2
 
 post_install() {
 	vlicense LICENSE

From 66695e8b773ea1001c2d6d05ac41c34bf07ce8c2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 16 Sep 2023 01:05:23 -0300
Subject: [PATCH 10/32] python3-openapi-core: update to 0.18.1.

---
 srcpkgs/python3-openapi-core/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/python3-openapi-core/template b/srcpkgs/python3-openapi-core/template
index 2dd5dceab1d6a..19bb7af32a364 100644
--- a/srcpkgs/python3-openapi-core/template
+++ b/srcpkgs/python3-openapi-core/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-openapi-core'
 pkgname=python3-openapi-core
-version=0.17.1
+version=0.18.1
 revision=1
 build_style=python3-pep517
 # disable tests requiring unpackaged dependencies
@@ -11,17 +11,17 @@ make_check_args="
  --ignore=tests/integration/contrib/starlette
  "
 hostmakedepends="python3-poetry-core"
-depends="python3-isodate python3-more-itertools python3-openapi-spec-validator
- python3-parse python3-Werkzeug"
-checkdepends="$depends python3-pytest-cov python3-Flask python3-requests
- python3-responses python3-toml python3-WebOb"
+depends="python3-asgiref python3-isodate python3-more-itertools
+ python3-openapi-spec-validator python3-parse python3-Werkzeug"
+checkdepends="$depends python3-pytest-cov python3-pytest-aiohttp
+ python3-Flask python3-requests python3-responses python3-WebOb"
 short_desc="Support for the OpenAPI Specification v3"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/python-openapi/openapi-core"
 changelog="https://github.com/python-openapi/openapi-core/releases"
 distfiles="${PYPI_SITE}/o/openapi-core/openapi_core-${version}.tar.gz"
-checksum=561b7e2b37b336e9c62d4634b9059d12d9bb2e1859062a39d3a0fa6afc8c9de6
+checksum=63fa13d9af226ac00119b0531ac9929e3dbb4cbe00216770784473fa6a03bc27
 
 post_install() {
 	vlicense LICENSE

From fb968afc27d8c566e3a6957333ffb3de3ded1687 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 11/32] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 29ebd5afd7722..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
+version=0.1.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From e1c75461077be6d1819a51e0e862f552089ffba5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 12/32] python3-traitlets: update to 5.10.1.

---
 srcpkgs/python3-traitlets/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 3bafe071d86b1..a855034c14352 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
+version=5.10.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
 changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542
 
 post_install() {
 	vlicense LICENSE

From 80a19a4f1c7ebb081a725ed4b710da2c12cbe2c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Jun 2023 16:38:21 -0300
Subject: [PATCH 13/32] python3-ipython_genutils: fix check, adopt.

---
 srcpkgs/python3-ipython_genutils/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-ipython_genutils/template b/srcpkgs/python3-ipython_genutils/template
index c2aca9e1eaccf..31925c265c135 100644
--- a/srcpkgs/python3-ipython_genutils/template
+++ b/srcpkgs/python3-ipython_genutils/template
@@ -2,16 +2,21 @@
 pkgname=python3-ipython_genutils
 version=0.2.0
 revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 depends="python3"
+checkdepends="python3-nose"
 short_desc="Vestigial utilities from IPython"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipython_genutils"
 distfiles="${PYPI_SITE}/i/ipython_genutils/ipython_genutils-${version}.tar.gz"
 checksum=eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8
 
+do_check() {
+	nosetests
+}
+
 post_install() {
 	vlicense COPYING.md LICENSE
 }

From 32c68e15f5d64be099a26fbcfbe124020f3f33be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 14/32] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 25 ++++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 2 files changed, 43 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..1975140643599
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,25 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
+
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6ca..6a28f6f0ef29c 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest "
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 6dff7ea7701a24a1debfeb73cffd5f08c1a5752d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 15/32] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..17ffe7d9ef377
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="https://github.com/jupyter/jupyter_events/archive/refs/tags/v${version}.tar.gz"
+checksum=084b253d649b127b902bcef14a24d1e6468a0de5268436dc4a01b8c144aca131
+
+post_install() {
+	vlicense LICENSE
+}

From 35bfd6fdc394489c038857d12344f6ba9386f5e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 16/32] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e67054..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 87152bea6314f399cbfcec0b660a10dfafec83ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 17/32] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a31..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From fe12b7b9e092e1b0ba5c11bd080696c8c642fdaa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 18/32] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e60..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From 5d54289b69f875d828641bdfed4c6de7e7f53454 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 19/32] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From ff7f2b31353d1eca02491f07344b8297958e2b78 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 20/32] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea9627..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.3.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From acee8318047f11e10511cb311776b13aa27a0643 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 21/32] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 38 +++++++++++++++-------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff50..4ee757a022802 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,37 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.25.2
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From c360451533138ee725eb768796034b2eac5a309c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 22/32] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c0..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From cc3dc101711b0e21eeafb29d55b1ab8bef9a04b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 23/32] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e7..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From 1de5548e4d9b6738c5e37d2a3378833c915d3d55 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 24/32] python3-mistune: update to 3.0.1, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index c9c60af0b6b47..6a8a82dde4504 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=6
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c
 
 post_install() {
 	vlicense LICENSE

From 4b8d021d7b86edb696e6747d75cfd83689e0af90 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 25/32] python3-jupyter_nbconvert: update to 7.8.0, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index f22b15735276f..5b5c1d41fedfe 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.8.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=f5bc15a1247e14dd41ceef0c0a3bc70020e016576eb0578da62f1c5b4f950479
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From 044ca65bbc09ee0d8285bb9cd28a46b85d61555f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 26/32] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..2223e3b67439d
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="https://github.com/jupyter-server/jupyter_server_terminals/archive/refs/tags/v${version}.tar.gz"
+checksum=19aacba9fc3a068495fa7b493e9f70dba8faeb3b9e6f6510f89fa07759024446
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From e84db544af6edc71db98b76cbb9bbe13f415d241 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 27/32] python3-jupyter_server: update to 2.7.3.

---
 srcpkgs/python3-jupyter_server/template | 38 +++++++++++++++----------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309f..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.7.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From 8359aecee6bbc8bd0f1be82a14c698f1dce8d376 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 28/32] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2e..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 2905afb3a9480028eef76af728dee69e11ee09d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 29/32] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a606..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From 8ab710cff2c7dfdf27f4b2c1b74a8985dabdd056 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 30/32] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6cb..f471aca0d56cd 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,19 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
 
 post_install() {
 	vlicense LICENSE

From 77d4bf258ea41b63ff3c8c1461d4cad36fcf274d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 31/32] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5d..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From 9187d3c1cd0c82dad1fcce99f3988ff9b764bb2a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 32/32] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc5..87895c86dbe87 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (10 preceding siblings ...)
  2023-09-26 13:54 ` tornaria
@ 2023-09-26 19:46 ` tornaria
  2023-09-26 20:27 ` tornaria
                   ` (25 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-26 19:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 45866 bytes --]

From c192413632fa5c7c96381a1177ef7fa25194e5e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/24] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index 826a078e1d2f2..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 4424bfbe7f02becb02295ef3d6c17bdfd6d73da1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/24] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 29ebd5afd7722..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
+version=0.1.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From 587265ba69cd079fa5e1073b8a4c04134943e6dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/24] python3-traitlets: update to 5.10.1.

---
 srcpkgs/python3-traitlets/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 3bafe071d86b1..a855034c14352 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
+version=5.10.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
 changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542
 
 post_install() {
 	vlicense LICENSE

From 4ac0ac6e51f8be8a276aecb430cbe4e0d84348bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Jun 2023 16:38:21 -0300
Subject: [PATCH 04/24] python3-ipython_genutils: fix check, adopt.

---
 srcpkgs/python3-ipython_genutils/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-ipython_genutils/template b/srcpkgs/python3-ipython_genutils/template
index c2aca9e1eaccf..31925c265c135 100644
--- a/srcpkgs/python3-ipython_genutils/template
+++ b/srcpkgs/python3-ipython_genutils/template
@@ -2,16 +2,21 @@
 pkgname=python3-ipython_genutils
 version=0.2.0
 revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 depends="python3"
+checkdepends="python3-nose"
 short_desc="Vestigial utilities from IPython"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipython_genutils"
 distfiles="${PYPI_SITE}/i/ipython_genutils/ipython_genutils-${version}.tar.gz"
 checksum=eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8
 
+do_check() {
+	nosetests
+}
+
 post_install() {
 	vlicense COPYING.md LICENSE
 }

From 2f31fdee0a52422c3cc0d7e429457b2ee342e178 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 05/24] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 25 ++++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 2 files changed, 43 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..1975140643599
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,25 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
+
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6ca..6a28f6f0ef29c 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest "
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 1538f0d9723ca3da8703bd0d689928c0b0a6bc18 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 06/24] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From 3f34238276f34bda167181dacd29a8e83e89602f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 07/24] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e67054..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 38e97e867edcfcf8e8654954cf75a3474e9a75d1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 08/24] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a31..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From eb4fa7a08f6e0a8482fbb4c48c31d0b5b7b69608 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 09/24] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e60..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From 25d254c2ec7dab3aa6ef4ad481106cb3ab5300f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 10/24] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 68c77fa8bd26dc8c20326c28c52aa07692816223 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 11/24] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea9627..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.3.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From df2c8b4b2b8c3c7d90e5f20119a1147e8d2c32e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 12/24] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 38 +++++++++++++++-------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff50..4ee757a022802 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,37 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.25.2
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 55daeb0fd7113a07319d1f1d0a5d47510d9056d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 13/24] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c0..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From f7947c6897909431a37bc1072107b1d22b844e10 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 14/24] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e7..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From ce35dd325baff742a035dc4012ab3c4da6726456 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 15/24] python3-mistune: update to 3.0.1, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index c9c60af0b6b47..6a8a82dde4504 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=6
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c
 
 post_install() {
 	vlicense LICENSE

From 1a1fd6668a6c5d2c321cf155a2642b1c6c0f3d91 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 16/24] python3-jupyter_nbconvert: update to 7.8.0, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index f22b15735276f..5b5c1d41fedfe 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.8.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=f5bc15a1247e14dd41ceef0c0a3bc70020e016576eb0578da62f1c5b4f950479
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From 28d251a4e74fea47267e08e1574f1fee47533531 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 17/24] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From f6787ef3f50d107081fefd0b814093da51ffb4ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 18/24] python3-jupyter_server: update to 2.7.3.

---
 srcpkgs/python3-jupyter_server/template | 38 +++++++++++++++----------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309f..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.7.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From c59896663a81175c32db0c2f486e5050154eeeef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 19/24] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2e..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 1b9c38657288bea02d3877646ce20a6d91fd1172 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 20/24] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a606..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From a725aaff6293fbdec65cdf8a08b6f2f60076962a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 21/24] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6cb..f471aca0d56cd 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,19 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
 
 post_install() {
 	vlicense LICENSE

From 9ce8047fedbf9032c26908e003f2f0998ddf3227 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 22/24] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5d..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From c8b878a561d410ae7822724cff9aa602d059c46a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 23/24] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc5..87895c86dbe87 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 0cbff98e66bb640d35a99700b61f6e1ad5dec2bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 16:46:03 -0300
Subject: [PATCH 24/24] python3-jupyterlab_server: set HOME=/home in check

---
 srcpkgs/python3-jupyterlab_server/template | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index f471aca0d56cd..9829bae1b1215 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -14,6 +14,8 @@ homepage="https://github.com/jupyterlab/jupyterlab_server"
 changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
 checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+# having HOME=/tmp confuses a few tests
+make_check_pre="env HOME=/home"
 
 post_install() {
 	vlicense LICENSE

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (11 preceding siblings ...)
  2023-09-26 19:46 ` tornaria
@ 2023-09-26 20:27 ` tornaria
  2023-09-27 13:00 ` tornaria
                   ` (24 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-26 20:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 47238 bytes --]

From c192413632fa5c7c96381a1177ef7fa25194e5e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/24] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index 826a078e1d2f2..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 4424bfbe7f02becb02295ef3d6c17bdfd6d73da1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/24] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 29ebd5afd7722..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
+version=0.1.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From d001e412a8c2057ba2e417409bd3dd00acfdd22f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/24] python3-traitlets: update to 5.10.1.

---
 srcpkgs/python3-traitlets/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 3bafe071d86b1..2fe71a02fb3a3 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
+version=5.10.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542
 
 post_install() {
 	vlicense LICENSE

From bcc512244b28137007f36d722906054f3a646120 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Jun 2023 16:38:21 -0300
Subject: [PATCH 04/24] python3-ipython_genutils: fix check, adopt.

---
 srcpkgs/python3-ipython_genutils/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-ipython_genutils/template b/srcpkgs/python3-ipython_genutils/template
index c2aca9e1eaccf..31925c265c135 100644
--- a/srcpkgs/python3-ipython_genutils/template
+++ b/srcpkgs/python3-ipython_genutils/template
@@ -2,16 +2,21 @@
 pkgname=python3-ipython_genutils
 version=0.2.0
 revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 depends="python3"
+checkdepends="python3-nose"
 short_desc="Vestigial utilities from IPython"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipython_genutils"
 distfiles="${PYPI_SITE}/i/ipython_genutils/ipython_genutils-${version}.tar.gz"
 checksum=eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8
 
+do_check() {
+	nosetests
+}
+
 post_install() {
 	vlicense COPYING.md LICENSE
 }

From 31f93b859205d48122819cd3d6d8d11137c29d53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 05/24] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 25 ++++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 2 files changed, 43 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..1975140643599
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,25 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
+
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6ca..6a28f6f0ef29c 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest "
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From c50a2c19c8f4cec1fdf7e9c9d9e19c62253d6ee1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 06/24] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From 2b3f0e0d6b4b9fe3cd5f966152efdada43c3cb47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 07/24] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e67054..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 6fa7357b442b8dec983da5edc841a786db5f5994 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 08/24] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a31..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From c9dcd2f8a73edb76169189f24b43c8386a2bf734 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 09/24] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e60..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From cbc249d271cdfe186c8a57aa081180cb4bd573b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 10/24] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 5508b7a5131e6a8a62253a2060c09d629034e8da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 11/24] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea9627..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.3.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 25b84ad1cff63c8125db1652f037dfb2e9facfee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 12/24] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 38 +++++++++++++++-------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff50..4ee757a022802 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,37 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.25.2
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 5604ddfe87d1c82bb5396b4c0aec4d263d25aab4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 13/24] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c0..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 643e04900158bb3ea094233479717b1b3ed974e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 14/24] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e7..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From 6f746e9e00f5a10681bf07cee00dcf4501da5aef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 15/24] python3-mistune: update to 3.0.1, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index c9c60af0b6b47..6a8a82dde4504 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=6
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c
 
 post_install() {
 	vlicense LICENSE

From 578d8c42f43a917b8f86859ab69554eac3a29a8f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 16/24] python3-jupyter_nbconvert: update to 7.8.0, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index f22b15735276f..5b5c1d41fedfe 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.8.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=f5bc15a1247e14dd41ceef0c0a3bc70020e016576eb0578da62f1c5b4f950479
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From 9d57dcd120603f16a78055d259347a471c3c5b6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 17/24] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 333124ef6c3b3c73347feb3c16aac6da62f68e4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 18/24] python3-jupyter_server: update to 2.7.3.

---
 srcpkgs/python3-jupyter_server/template | 38 +++++++++++++++----------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309f..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.7.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From 394c4dfc19f4b64fc6993a44238109e778b9344b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 19/24] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2e..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 501fac25b29ac28f6de493673a25af26ad184087 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 20/24] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a606..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From 5ca6c4419142b64fb79e90efbe1ec9d603232fed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 21/24] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 28 ++++++++++++++--------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6cb..8d822b37e5548 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,26 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (no idea why)
+	make_check_args="
+	 tests/test_settings_api.py::test_get_settings_overrides_dicts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 27e67fc9694ecbe56ebb8feeb28d80f6eda14ab4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 22/24] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5d..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From 7465f0aba3a3551e4760d8e0e11bd3d62cf34a09 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 23/24] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc5..87895c86dbe87 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 59d7f68bf6cc110d842ae5b9a536345a711e7ad1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 24/24] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 01d79971ba197..58586f2488310 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,21 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
+version=6.6.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
 
 post_install() {
 	vlicense LICENSE

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (12 preceding siblings ...)
  2023-09-26 20:27 ` tornaria
@ 2023-09-27 13:00 ` tornaria
  2023-09-28  1:40 ` tornaria
                   ` (23 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-27 13:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 49347 bytes --]

From c192413632fa5c7c96381a1177ef7fa25194e5e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/25] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index 826a078e1d2f2..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 4424bfbe7f02becb02295ef3d6c17bdfd6d73da1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/25] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 29ebd5afd7722..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
+version=0.1.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From d001e412a8c2057ba2e417409bd3dd00acfdd22f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/25] python3-traitlets: update to 5.10.1.

---
 srcpkgs/python3-traitlets/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 3bafe071d86b1..2fe71a02fb3a3 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
+version=5.10.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542
 
 post_install() {
 	vlicense LICENSE

From bcc512244b28137007f36d722906054f3a646120 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Jun 2023 16:38:21 -0300
Subject: [PATCH 04/25] python3-ipython_genutils: fix check, adopt.

---
 srcpkgs/python3-ipython_genutils/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-ipython_genutils/template b/srcpkgs/python3-ipython_genutils/template
index c2aca9e1eaccf..31925c265c135 100644
--- a/srcpkgs/python3-ipython_genutils/template
+++ b/srcpkgs/python3-ipython_genutils/template
@@ -2,16 +2,21 @@
 pkgname=python3-ipython_genutils
 version=0.2.0
 revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 depends="python3"
+checkdepends="python3-nose"
 short_desc="Vestigial utilities from IPython"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipython_genutils"
 distfiles="${PYPI_SITE}/i/ipython_genutils/ipython_genutils-${version}.tar.gz"
 checksum=eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8
 
+do_check() {
+	nosetests
+}
+
 post_install() {
 	vlicense COPYING.md LICENSE
 }

From 31f93b859205d48122819cd3d6d8d11137c29d53 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 05/25] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 25 ++++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 2 files changed, 43 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..1975140643599
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,25 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
+
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6ca..6a28f6f0ef29c 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest "
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From c50a2c19c8f4cec1fdf7e9c9d9e19c62253d6ee1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 06/25] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From 2b3f0e0d6b4b9fe3cd5f966152efdada43c3cb47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 07/25] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e67054..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 6fa7357b442b8dec983da5edc841a786db5f5994 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 08/25] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a31..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From c9dcd2f8a73edb76169189f24b43c8386a2bf734 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 09/25] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e60..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From cbc249d271cdfe186c8a57aa081180cb4bd573b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 10/25] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 5508b7a5131e6a8a62253a2060c09d629034e8da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 11/25] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea9627..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.3.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 25b84ad1cff63c8125db1652f037dfb2e9facfee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 12/25] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 38 +++++++++++++++-------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff50..4ee757a022802 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,37 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.25.2
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 5604ddfe87d1c82bb5396b4c0aec4d263d25aab4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 13/25] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c0..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 643e04900158bb3ea094233479717b1b3ed974e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 14/25] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e7..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From 6f746e9e00f5a10681bf07cee00dcf4501da5aef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 15/25] python3-mistune: update to 3.0.1, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index c9c60af0b6b47..6a8a82dde4504 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=6
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c
 
 post_install() {
 	vlicense LICENSE

From 578d8c42f43a917b8f86859ab69554eac3a29a8f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 16/25] python3-jupyter_nbconvert: update to 7.8.0, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index f22b15735276f..5b5c1d41fedfe 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.8.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=f5bc15a1247e14dd41ceef0c0a3bc70020e016576eb0578da62f1c5b4f950479
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From 9d57dcd120603f16a78055d259347a471c3c5b6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 17/25] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 333124ef6c3b3c73347feb3c16aac6da62f68e4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 18/25] python3-jupyter_server: update to 2.7.3.

---
 srcpkgs/python3-jupyter_server/template | 38 +++++++++++++++----------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309f..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.7.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From 394c4dfc19f4b64fc6993a44238109e778b9344b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 19/25] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2e..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 501fac25b29ac28f6de493673a25af26ad184087 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 20/25] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a606..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From 5ca6c4419142b64fb79e90efbe1ec9d603232fed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 21/25] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 28 ++++++++++++++--------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6cb..8d822b37e5548 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,26 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (no idea why)
+	make_check_args="
+	 tests/test_settings_api.py::test_get_settings_overrides_dicts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 27e67fc9694ecbe56ebb8feeb28d80f6eda14ab4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 22/25] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5d..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From 41b8777813d1700c609f9e01dbf901e4843ed8c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 23/25] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc5..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 7cbf02d0967a1210f625991020c356e03ae75cf7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 24/25] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 28 ++++++++++++++----------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 01d79971ba197..bd7bae599e8cb 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,28 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
+version=6.6.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (pexpect gets ": 5" instead of the
+	# expected "Out[1]: 5" causing a timeout)
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From c9f4d5d4df20ba695ee1f0cf3a3962013d7fe467 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 25/25] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index b0ef9ce5afbad..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (13 preceding siblings ...)
  2023-09-27 13:00 ` tornaria
@ 2023-09-28  1:40 ` tornaria
  2023-09-28 23:40 ` tornaria
                   ` (22 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-28  1:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 49447 bytes --]

From 225b4e0646b0ab531df6eaea6ecb94a18602f016 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/25] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index 826a078e1d2f2..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 9f7bd2d43939e000d6280b0bed85ec1902f13d93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/25] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 29ebd5afd7722..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
+version=0.1.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From ade82a0a0ee63466238c36ba9c880478bdbdea7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/25] python3-traitlets: update to 5.10.1.

---
 srcpkgs/python3-traitlets/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 3bafe071d86b1..2fe71a02fb3a3 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
+version=5.10.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542
 
 post_install() {
 	vlicense LICENSE

From f3f955be3d34b9b1f773af7bf04bc545717c7956 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Jun 2023 16:38:21 -0300
Subject: [PATCH 04/25] python3-ipython_genutils: fix check, adopt.

---
 srcpkgs/python3-ipython_genutils/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-ipython_genutils/template b/srcpkgs/python3-ipython_genutils/template
index c2aca9e1eaccf..31925c265c135 100644
--- a/srcpkgs/python3-ipython_genutils/template
+++ b/srcpkgs/python3-ipython_genutils/template
@@ -2,16 +2,21 @@
 pkgname=python3-ipython_genutils
 version=0.2.0
 revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 depends="python3"
+checkdepends="python3-nose"
 short_desc="Vestigial utilities from IPython"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipython_genutils"
 distfiles="${PYPI_SITE}/i/ipython_genutils/ipython_genutils-${version}.tar.gz"
 checksum=eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8
 
+do_check() {
+	nosetests
+}
+
 post_install() {
 	vlicense COPYING.md LICENSE
 }

From a9127b05cf6c512fac6f00916650385e6d3a378c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 05/25] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 2 files changed, 42 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..76a1b063671d0
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6ca..02f50bff4352b 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=0c28db6cbe2c37b5b398e1a1a5b22f84fd64cd10afc1f6c05b02fb09481ba45f
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From a792f139c517f9b4aa379fcee1fd1c65cee363e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 06/25] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From f3780db58506df82ef82ec3ba13a518f113dd511 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 07/25] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e67054..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 8d38f38a8b378a3475d620138a29aad50bf84188 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 08/25] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a31..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From cf2edae7f5299f007fd0f4a0d91d54b5846e210a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 09/25] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e60..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From fd4db1056b996ed055a4eb9a97c22817e5949ffd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 10/25] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From d5ce8e3e85ea562b109eea27bb8e2bacfc55a802 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 11/25] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea9627..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.3.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 9266e7df15617f85ef6225a4987c0a3cb82fa6f4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 12/25] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 38 +++++++++++++++-------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff50..4ee757a022802 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,37 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.25.2
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 14f89129366862bcd6404bb316dc2e275417c14a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 13/25] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c0..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From fa255820fbc2f206b4d3c770b8197c1fb321d9e5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 14/25] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e7..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From 78f40fd6be9e28966bca164d75552920532919eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 15/25] python3-mistune: update to 3.0.1, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index c9c60af0b6b47..6a8a82dde4504 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=6
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c
 
 post_install() {
 	vlicense LICENSE

From abf511d0ac042d1e785dd04f07404940865da442 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 16/25] python3-jupyter_nbconvert: update to 7.8.0, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index f22b15735276f..5b5c1d41fedfe 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.8.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=f5bc15a1247e14dd41ceef0c0a3bc70020e016576eb0578da62f1c5b4f950479
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From ba1fe9b40227d42031da8f9249a0555eb6fcc810 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 17/25] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From add7c86ca759d7784ddc0a2ce146549467df8935 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 18/25] python3-jupyter_server: update to 2.7.3.

---
 srcpkgs/python3-jupyter_server/template | 38 +++++++++++++++----------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309f..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.7.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From 57d31bf3ea53ad8717a33764b35188d3bfab04a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 19/25] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2e..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 3285105d3d759e526b2941257264a5b7f7047b4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 20/25] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a606..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From dad453fc446eaba9e6ac577f3c043439919ab7a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 21/25] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 29 ++++++++++++++--------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6cb..d512419b40005 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,27 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (maybe because of leftover stuff from
+	# another test; it doesn't fail when running only this test)
+	make_check_args="
+	 --deselect=tests/test_settings_api.py::test_get_settings_overrides_dicts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From b78fc0b83e8d936f878c2fa5b601baf1a7ebe9e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 22/25] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5d..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From a8a1cf2d1ac39d743ec4d46effe51b17d62731be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 23/25] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc5..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 13c0ccdab032049b2a9061e983082193500c3094 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 24/25] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 29 +++++++++++++++---------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 01d79971ba197..2af1e4875ca39 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
+version=6.6.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (pexpect gets ": 5" instead of the
+	# expected "Out[1]: 5" causing a timeout)
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 07bcd37273d520a133d3c314e92d660784fff8a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 25/25] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index b0ef9ce5afbad..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (14 preceding siblings ...)
  2023-09-28  1:40 ` tornaria
@ 2023-09-28 23:40 ` tornaria
  2023-09-29  0:48 ` tornaria
                   ` (21 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-28 23:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 49525 bytes --]

From e5913c268b7145ae246dfebf2c4f74b6cd5ceb86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/25] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index 826a078e1d2f2..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From f1a023f83bbfd67acfa3395504e9609e58ed9568 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/25] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 29ebd5afd7722..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
+version=0.1.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From e8c0827bb0f0d209eb1855ec75d1824bef82c54d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/25] python3-traitlets: update to 5.10.1.

---
 srcpkgs/python3-traitlets/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 3bafe071d86b1..2fe71a02fb3a3 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
+version=5.10.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542
 
 post_install() {
 	vlicense LICENSE

From 9ea9cdddf89e86047145e746ed5709236c89652b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Jun 2023 16:38:21 -0300
Subject: [PATCH 04/25] python3-ipython_genutils: fix check, adopt.

---
 srcpkgs/python3-ipython_genutils/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-ipython_genutils/template b/srcpkgs/python3-ipython_genutils/template
index c2aca9e1eaccf..31925c265c135 100644
--- a/srcpkgs/python3-ipython_genutils/template
+++ b/srcpkgs/python3-ipython_genutils/template
@@ -2,16 +2,21 @@
 pkgname=python3-ipython_genutils
 version=0.2.0
 revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 depends="python3"
+checkdepends="python3-nose"
 short_desc="Vestigial utilities from IPython"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipython_genutils"
 distfiles="${PYPI_SITE}/i/ipython_genutils/ipython_genutils-${version}.tar.gz"
 checksum=eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8
 
+do_check() {
+	nosetests
+}
+
 post_install() {
 	vlicense COPYING.md LICENSE
 }

From ea43ae24e2ad232d0cb3a2f0c16c07dbf62a3912 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 05/25] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 2 files changed, 42 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..76a1b063671d0
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6ca..02f50bff4352b 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=0c28db6cbe2c37b5b398e1a1a5b22f84fd64cd10afc1f6c05b02fb09481ba45f
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 4ab060e14b5a87610c5f574771fed7c038dbb26d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 06/25] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From 6b7db443aafb4d2ed1f705836b34021915e2daee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 07/25] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e67054..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 34419097d07d20e0add793bf6fa1e05b44bc0a96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 08/25] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a31..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From 54a2d7883f7fdb5bfc32cd2ca5cb837434d65db8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 09/25] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e60..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From d9885a100791ad7d772f49dd1d9f127409660658 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 10/25] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 699130a3dce9033303a2f6678ce315a4da2b6844 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 11/25] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea9627..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.3.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 9dff606965d606efb39d35c6073c01c19089e93f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 12/25] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 38 +++++++++++++++-------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff50..4ee757a022802 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,37 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.25.2
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From a6a7eb54c870b54b2fea7976ff94319038edcaba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 13/25] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c0..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 4dabec64298d3254042a3253e90f2d23690412e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 14/25] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e7..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From dcbe67dd90bf75e36de76c2b2989ba7c83896e17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 15/25] python3-mistune: update to 3.0.1, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index c9c60af0b6b47..6a8a82dde4504 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=6
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c
 
 post_install() {
 	vlicense LICENSE

From d4cf8940e325b1a0789cafc5fa46741f5423f999 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 16/25] python3-jupyter_nbconvert: update to 7.8.0, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index f22b15735276f..5b5c1d41fedfe 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.8.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=f5bc15a1247e14dd41ceef0c0a3bc70020e016576eb0578da62f1c5b4f950479
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From a4c64e6c6c859e6fa97d7173288b36e7ed3200eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 17/25] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 866d659f8e4ff0f416e6073688e10827956bcd77 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 18/25] python3-jupyter_server: update to 2.7.3.

---
 srcpkgs/python3-jupyter_server/template | 38 +++++++++++++++----------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309f..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.7.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From a9b83a5768bccb1555cb86ab7690859b8200a011 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 19/25] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2e..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From e3757c22eabb4a1202977a1bb25361a63dda922c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 20/25] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a606..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From 05354870ff3eaa4d30b7cd443c9465042b51d952 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 21/25] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 30 ++++++++++++++--------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6cb..d3ed555ec38e5 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,28 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (maybe because of leftover stuff from
+	# another test; it doesn't fail when running only this test)
+	make_check_args="
+	 --deselect=tests/test_settings_api.py::test_get_settings_overrides_dicts
+	 --deselect=tests/test_settings_api.py::test_get_settings_overrides_d_dicts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 952e830c00351a7ee66322328a07706706fb12a7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 22/25] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5d..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From 57879ffa08b90f0a6d9df69bfa0159fb1bbf7313 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 23/25] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc5..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 2a7632d69b8f59b9b05ef5786983aa0c6e5be27d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 24/25] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 29 +++++++++++++++---------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 01d79971ba197..2af1e4875ca39 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
+version=6.6.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (pexpect gets ": 5" instead of the
+	# expected "Out[1]: 5" causing a timeout)
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 6b3b223ce0b4e5f88b612e8c3d01269cf8e02366 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 25/25] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index b0ef9ce5afbad..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (15 preceding siblings ...)
  2023-09-28 23:40 ` tornaria
@ 2023-09-29  0:48 ` tornaria
  2023-09-29 12:30 ` tornaria
                   ` (20 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-29  0:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 49341 bytes --]

From e5913c268b7145ae246dfebf2c4f74b6cd5ceb86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/25] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index 826a078e1d2f2..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From f1a023f83bbfd67acfa3395504e9609e58ed9568 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/25] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 29ebd5afd7722..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
+version=0.1.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From e8c0827bb0f0d209eb1855ec75d1824bef82c54d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/25] python3-traitlets: update to 5.10.1.

---
 srcpkgs/python3-traitlets/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 3bafe071d86b1..2fe71a02fb3a3 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
+version=5.10.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542
 
 post_install() {
 	vlicense LICENSE

From 9ea9cdddf89e86047145e746ed5709236c89652b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Jun 2023 16:38:21 -0300
Subject: [PATCH 04/25] python3-ipython_genutils: fix check, adopt.

---
 srcpkgs/python3-ipython_genutils/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-ipython_genutils/template b/srcpkgs/python3-ipython_genutils/template
index c2aca9e1eaccf..31925c265c135 100644
--- a/srcpkgs/python3-ipython_genutils/template
+++ b/srcpkgs/python3-ipython_genutils/template
@@ -2,16 +2,21 @@
 pkgname=python3-ipython_genutils
 version=0.2.0
 revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 depends="python3"
+checkdepends="python3-nose"
 short_desc="Vestigial utilities from IPython"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipython_genutils"
 distfiles="${PYPI_SITE}/i/ipython_genutils/ipython_genutils-${version}.tar.gz"
 checksum=eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8
 
+do_check() {
+	nosetests
+}
+
 post_install() {
 	vlicense COPYING.md LICENSE
 }

From ea43ae24e2ad232d0cb3a2f0c16c07dbf62a3912 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 05/25] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 2 files changed, 42 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..76a1b063671d0
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6ca..02f50bff4352b 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=0c28db6cbe2c37b5b398e1a1a5b22f84fd64cd10afc1f6c05b02fb09481ba45f
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 4ab060e14b5a87610c5f574771fed7c038dbb26d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 06/25] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From 6b7db443aafb4d2ed1f705836b34021915e2daee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 07/25] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e67054..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 34419097d07d20e0add793bf6fa1e05b44bc0a96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 08/25] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a31..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From 54a2d7883f7fdb5bfc32cd2ca5cb837434d65db8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 09/25] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e60..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From d9885a100791ad7d772f49dd1d9f127409660658 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 10/25] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 699130a3dce9033303a2f6678ce315a4da2b6844 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 11/25] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea9627..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.3.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 9dff606965d606efb39d35c6073c01c19089e93f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 12/25] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 38 +++++++++++++++-------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff50..4ee757a022802 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,37 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.25.2
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From a6a7eb54c870b54b2fea7976ff94319038edcaba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 13/25] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c0..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 4dabec64298d3254042a3253e90f2d23690412e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 14/25] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e7..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From dcbe67dd90bf75e36de76c2b2989ba7c83896e17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 15/25] python3-mistune: update to 3.0.1, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index c9c60af0b6b47..6a8a82dde4504 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=6
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c
 
 post_install() {
 	vlicense LICENSE

From d4cf8940e325b1a0789cafc5fa46741f5423f999 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 16/25] python3-jupyter_nbconvert: update to 7.8.0, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index f22b15735276f..5b5c1d41fedfe 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.8.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=f5bc15a1247e14dd41ceef0c0a3bc70020e016576eb0578da62f1c5b4f950479
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From a4c64e6c6c859e6fa97d7173288b36e7ed3200eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 17/25] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 866d659f8e4ff0f416e6073688e10827956bcd77 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 18/25] python3-jupyter_server: update to 2.7.3.

---
 srcpkgs/python3-jupyter_server/template | 38 +++++++++++++++----------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309f..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.7.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From a9b83a5768bccb1555cb86ab7690859b8200a011 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 19/25] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2e..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From e3757c22eabb4a1202977a1bb25361a63dda922c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 20/25] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a606..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From 534d02fa1b6e2ecd687973804434f700c4073891 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 21/25] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 28 ++++++++++++++--------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6cb..16b1cf6ead00b 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,26 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# the setup of this test file fails on CI (no idea why)
+	make_check_args="
+	 --ignore=tests/test_settings_api.py
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 74e6cbfe83cda9231f6288f26223ae2a46a9110b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 22/25] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5d..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From 316bd53b9f876f044e7474cb6bbff9dc4fae13ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 23/25] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc5..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From a5fbc9c0c7f298ab04f6a858d928cefb35216f74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 24/25] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 29 +++++++++++++++---------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 01d79971ba197..2af1e4875ca39 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
+version=6.6.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (pexpect gets ": 5" instead of the
+	# expected "Out[1]: 5" causing a timeout)
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 7bc05392cb2e213906ab2276d1b9ed5ccf4f416f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 25/25] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index b0ef9ce5afbad..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (16 preceding siblings ...)
  2023-09-29  0:48 ` tornaria
@ 2023-09-29 12:30 ` tornaria
  2023-09-30  2:53 ` tornaria
                   ` (19 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-29 12:30 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 50346 bytes --]

From e5913c268b7145ae246dfebf2c4f74b6cd5ceb86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/26] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index 826a078e1d2f2..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From f1a023f83bbfd67acfa3395504e9609e58ed9568 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/26] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 29ebd5afd7722..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
+version=0.1.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From e8c0827bb0f0d209eb1855ec75d1824bef82c54d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/26] python3-traitlets: update to 5.10.1.

---
 srcpkgs/python3-traitlets/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 3bafe071d86b1..2fe71a02fb3a3 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
+version=5.10.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542
 
 post_install() {
 	vlicense LICENSE

From 9ea9cdddf89e86047145e746ed5709236c89652b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Jun 2023 16:38:21 -0300
Subject: [PATCH 04/26] python3-ipython_genutils: fix check, adopt.

---
 srcpkgs/python3-ipython_genutils/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-ipython_genutils/template b/srcpkgs/python3-ipython_genutils/template
index c2aca9e1eaccf..31925c265c135 100644
--- a/srcpkgs/python3-ipython_genutils/template
+++ b/srcpkgs/python3-ipython_genutils/template
@@ -2,16 +2,21 @@
 pkgname=python3-ipython_genutils
 version=0.2.0
 revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 depends="python3"
+checkdepends="python3-nose"
 short_desc="Vestigial utilities from IPython"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipython_genutils"
 distfiles="${PYPI_SITE}/i/ipython_genutils/ipython_genutils-${version}.tar.gz"
 checksum=eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8
 
+do_check() {
+	nosetests
+}
+
 post_install() {
 	vlicense COPYING.md LICENSE
 }

From ea43ae24e2ad232d0cb3a2f0c16c07dbf62a3912 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 05/26] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 2 files changed, 42 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..76a1b063671d0
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6ca..02f50bff4352b 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=0c28db6cbe2c37b5b398e1a1a5b22f84fd64cd10afc1f6c05b02fb09481ba45f
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 4ab060e14b5a87610c5f574771fed7c038dbb26d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 06/26] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From 6b7db443aafb4d2ed1f705836b34021915e2daee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 07/26] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e67054..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 34419097d07d20e0add793bf6fa1e05b44bc0a96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 08/26] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a31..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From 54a2d7883f7fdb5bfc32cd2ca5cb837434d65db8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 09/26] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e60..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From d9885a100791ad7d772f49dd1d9f127409660658 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 10/26] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 699130a3dce9033303a2f6678ce315a4da2b6844 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 11/26] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea9627..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.3.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 9dff606965d606efb39d35c6073c01c19089e93f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 12/26] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 38 +++++++++++++++-------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff50..4ee757a022802 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,37 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.25.2
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From a6a7eb54c870b54b2fea7976ff94319038edcaba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 13/26] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c0..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 4dabec64298d3254042a3253e90f2d23690412e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 14/26] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e7..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From dcbe67dd90bf75e36de76c2b2989ba7c83896e17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 15/26] python3-mistune: update to 3.0.1, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index c9c60af0b6b47..6a8a82dde4504 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=6
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c
 
 post_install() {
 	vlicense LICENSE

From d4cf8940e325b1a0789cafc5fa46741f5423f999 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 16/26] python3-jupyter_nbconvert: update to 7.8.0, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index f22b15735276f..5b5c1d41fedfe 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.8.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=f5bc15a1247e14dd41ceef0c0a3bc70020e016576eb0578da62f1c5b4f950479
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From a4c64e6c6c859e6fa97d7173288b36e7ed3200eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 17/26] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 866d659f8e4ff0f416e6073688e10827956bcd77 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 18/26] python3-jupyter_server: update to 2.7.3.

---
 srcpkgs/python3-jupyter_server/template | 38 +++++++++++++++----------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309f..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.7.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From a9b83a5768bccb1555cb86ab7690859b8200a011 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 19/26] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2e..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From e3757c22eabb4a1202977a1bb25361a63dda922c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 20/26] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a606..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From 534d02fa1b6e2ecd687973804434f700c4073891 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 21/26] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 28 ++++++++++++++--------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6cb..16b1cf6ead00b 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,26 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# the setup of this test file fails on CI (no idea why)
+	make_check_args="
+	 --ignore=tests/test_settings_api.py
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 74e6cbfe83cda9231f6288f26223ae2a46a9110b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 22/26] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5d..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From 316bd53b9f876f044e7474cb6bbff9dc4fae13ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 23/26] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc5..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From a5fbc9c0c7f298ab04f6a858d928cefb35216f74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 24/26] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 29 +++++++++++++++---------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 01d79971ba197..2af1e4875ca39 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
+version=6.6.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (pexpect gets ": 5" instead of the
+	# expected "Out[1]: 5" causing a timeout)
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 7bc05392cb2e213906ab2276d1b9ed5ccf4f416f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 25/26] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index b0ef9ce5afbad..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

From 5b7d480928df31d494b8a1c1b4cb7ab3e3b67c6e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 29 Sep 2023 09:30:06 -0300
Subject: [PATCH 26/26] python3-jupyterlab_server: disable unraisable exception
 warning

---
 srcpkgs/python3-jupyterlab_server/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index 16b1cf6ead00b..ef9a0afa4ae1b 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -17,9 +17,9 @@ checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
 
 if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
 	# the setup of this test file fails on CI (no idea why)
-	make_check_args="
-	 --ignore=tests/test_settings_api.py
-	 "
+	make_check_args="-p no:unraisableexception"
+	 #--ignore=tests/test_settings_api.py
+	 #"
 fi
 
 post_install() {

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (17 preceding siblings ...)
  2023-09-29 12:30 ` tornaria
@ 2023-09-30  2:53 ` tornaria
  2023-09-30 15:49 ` tornaria
                   ` (18 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-30  2:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 54454 bytes --]

From e5913c268b7145ae246dfebf2c4f74b6cd5ceb86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/27] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index 826a078e1d2f2..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From f1a023f83bbfd67acfa3395504e9609e58ed9568 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/27] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 29ebd5afd7722..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
+version=0.1.4
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From e8c0827bb0f0d209eb1855ec75d1824bef82c54d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/27] python3-traitlets: update to 5.10.1.

---
 srcpkgs/python3-traitlets/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 3bafe071d86b1..2fe71a02fb3a3 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,6 +1,6 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
+version=5.10.1
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=db9c4aa58139c3ba850101913915c042bdba86f7c8a0dda1c6f7f92c5da8e542
 
 post_install() {
 	vlicense LICENSE

From 9ea9cdddf89e86047145e746ed5709236c89652b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Jun 2023 16:38:21 -0300
Subject: [PATCH 04/27] python3-ipython_genutils: fix check, adopt.

---
 srcpkgs/python3-ipython_genutils/template | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-ipython_genutils/template b/srcpkgs/python3-ipython_genutils/template
index c2aca9e1eaccf..31925c265c135 100644
--- a/srcpkgs/python3-ipython_genutils/template
+++ b/srcpkgs/python3-ipython_genutils/template
@@ -2,16 +2,21 @@
 pkgname=python3-ipython_genutils
 version=0.2.0
 revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
 depends="python3"
+checkdepends="python3-nose"
 short_desc="Vestigial utilities from IPython"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipython_genutils"
 distfiles="${PYPI_SITE}/i/ipython_genutils/ipython_genutils-${version}.tar.gz"
 checksum=eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8
 
+do_check() {
+	nosetests
+}
+
 post_install() {
 	vlicense COPYING.md LICENSE
 }

From ea43ae24e2ad232d0cb3a2f0c16c07dbf62a3912 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 05/27] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 2 files changed, 42 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..76a1b063671d0
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 175a296b6e6ca..02f50bff4352b 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=2
+version=5.3.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=0c28db6cbe2c37b5b398e1a1a5b22f84fd64cd10afc1f6c05b02fb09481ba45f
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 4ab060e14b5a87610c5f574771fed7c038dbb26d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 06/27] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From 6b7db443aafb4d2ed1f705836b34021915e2daee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 07/27] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 70b9db5e67054..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 34419097d07d20e0add793bf6fa1e05b44bc0a96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 08/27] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 4b6b899992a31..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From 54a2d7883f7fdb5bfc32cd2ca5cb837434d65db8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 09/27] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index cb6b1aded2e60..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From d9885a100791ad7d772f49dd1d9f127409660658 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 10/27] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 699130a3dce9033303a2f6678ce315a4da2b6844 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 11/27] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 6839108ea9627..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
+version=8.3.1
 revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 9dff606965d606efb39d35c6073c01c19089e93f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 12/27] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 38 +++++++++++++++-------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 4034b98a6ff50..4ee757a022802 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,37 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
+version=6.25.2
 revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From a6a7eb54c870b54b2fea7976ff94319038edcaba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 13/27] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index dee09caf562c0..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 4dabec64298d3254042a3253e90f2d23690412e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 14/27] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index dca1870f7b9e7..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
+version=0.8.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From dcbe67dd90bf75e36de76c2b2989ba7c83896e17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 15/27] python3-mistune: update to 3.0.1, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index c9c60af0b6b47..6a8a82dde4504 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=6
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=e912116c13aa0944f9dc530db38eb88f6a77087ab128f49f84a48f4c05ea163c
 
 post_install() {
 	vlicense LICENSE

From d4cf8940e325b1a0789cafc5fa46741f5423f999 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 16/27] python3-jupyter_nbconvert: update to 7.8.0, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index f22b15735276f..5b5c1d41fedfe 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=2
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.8.0
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=f5bc15a1247e14dd41ceef0c0a3bc70020e016576eb0578da62f1c5b4f950479
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	export JUPYTER_DATA_DIR="${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From a4c64e6c6c859e6fa97d7173288b36e7ed3200eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 17/27] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 866d659f8e4ff0f416e6073688e10827956bcd77 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 18/27] python3-jupyter_server: update to 2.7.3.

---
 srcpkgs/python3-jupyter_server/template | 38 +++++++++++++++----------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 798aa4af2309f..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
+version=2.7.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From a9b83a5768bccb1555cb86ab7690859b8200a011 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 19/27] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 37287de8e7d2e..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
+version=0.2.3
 revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From e3757c22eabb4a1202977a1bb25361a63dda922c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 20/27] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 4c751d222a606..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
+version=1.0.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From 534d02fa1b6e2ecd687973804434f700c4073891 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 21/27] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 28 ++++++++++++++--------
 1 file changed, 18 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index a09205776e6cb..16b1cf6ead00b 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,26 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# the setup of this test file fails on CI (no idea why)
+	make_check_args="
+	 --ignore=tests/test_settings_api.py
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 74e6cbfe83cda9231f6288f26223ae2a46a9110b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 22/27] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index 65597d3b63d5d..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From 316bd53b9f876f044e7474cb6bbff9dc4fae13ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 23/27] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 620b6715abfc5..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From a5fbc9c0c7f298ab04f6a858d928cefb35216f74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 24/27] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 29 +++++++++++++++---------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 01d79971ba197..2af1e4875ca39 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
+version=6.6.3
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (pexpect gets ": 5" instead of the
+	# expected "Out[1]: 5" causing a timeout)
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 7bc05392cb2e213906ab2276d1b9ed5ccf4f416f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 25/27] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index b0ef9ce5afbad..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

From 5b7d480928df31d494b8a1c1b4cb7ab3e3b67c6e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 29 Sep 2023 09:30:06 -0300
Subject: [PATCH 26/27] python3-jupyterlab_server: disable unraisable exception
 warning

---
 srcpkgs/python3-jupyterlab_server/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index 16b1cf6ead00b..ef9a0afa4ae1b 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -17,9 +17,9 @@ checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
 
 if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
 	# the setup of this test file fails on CI (no idea why)
-	make_check_args="
-	 --ignore=tests/test_settings_api.py
-	 "
+	make_check_args="-p no:unraisableexception"
+	 #--ignore=tests/test_settings_api.py
+	 #"
 fi
 
 post_install() {

From 731e8ffa434b3d1e0ee4d8d757e06995af4417aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 29 Sep 2023 22:50:26 -0300
Subject: [PATCH 27/27] python3-QtPy: update to 2.4.0.

---
 srcpkgs/python3-QtPy/patches/fix-test.patch | 11 +++++
 srcpkgs/python3-QtPy/template               | 55 +++++++++++++++------
 2 files changed, 50 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/python3-QtPy/patches/fix-test.patch

diff --git a/srcpkgs/python3-QtPy/patches/fix-test.patch b/srcpkgs/python3-QtPy/patches/fix-test.patch
new file mode 100644
index 0000000000000..23987e260c928
--- /dev/null
+++ b/srcpkgs/python3-QtPy/patches/fix-test.patch
@@ -0,0 +1,11 @@
+--- a/qtpy/tests/test_main.py	2023-08-29 13:07:50.000000000 -0300
++++ b/qtpy/tests/test_main.py	2023-09-29 22:04:52.945280612 -0300
+@@ -115,7 +115,7 @@
+     pytest.importorskip(mod, reason=f"Requires {api}")
+     # clean env
+     env = os.environ.copy()
+-    for key in ("QT_API", "USE_QT_API"):
++    for key in ("QT_API", "USE_QT_API", "FORCE_QT_API"):
+         if key in env:
+             del env[key]
+     cmd = f"""
diff --git a/srcpkgs/python3-QtPy/template b/srcpkgs/python3-QtPy/template
index e6753ea5cc99a..9da9929995e07 100644
--- a/srcpkgs/python3-QtPy/template
+++ b/srcpkgs/python3-QtPy/template
@@ -1,31 +1,54 @@
 # Template file for 'python3-QtPy'
 pkgname=python3-QtPy
-version=2.3.0
+version=2.4.0
 revision=1
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 # depends on any of PySide2 PyQt5
 depends="python3"
-checkdepends="python3-pytest python3-mock python3-pyside2-webengine
- python3-PyQt5-sql python3-PyQt5-svg python3-PyQt5-webengine
- python3-PyQt5-websockets python3-PyQt5-xmlpatterns python3-PyQt5-quick
- python3-PyQt5-multimedia python3-PyQt5-location python3-PyQt5-tools"
+checkdepends="python3-pytest python3-pytest-cov python3-pytest-qt"
 short_desc="Abstraction layer on top of various Python Qt bindings"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="MIT"
 homepage="https://github.com/spyder-ide/qtpy"
+changelog="https://raw.githubusercontent.com/spyder-ide/qtpy/master/CHANGELOG.md"
 distfiles="${PYPI_SITE}/Q/QtPy/QtPy-${version}.tar.gz"
-checksum=0603c9c83ccc035a4717a12908bf6bc6cb22509827ea2ec0e94c2da7c9ed57c5
+checksum=db2d508167aa6106781565c8da5c6f1487debacba33519cedc35fa8997d424d4
 
-post_patch() {
-	# Both of those tests are failing inside chroot,
-	# but success outside of chroot
-	rm -f qtpy/tests/test_patch_qcombobox.py
-}
+# check dependencies for PyQt5
+checkdepends+="
+ python3-PyQt5-connectivity python3-PyQt5-location python3-PyQt5-multimedia
+ python3-PyQt5-opengl python3-PyQt5-quick python3-PyQt5-sensors
+ python3-PyQt5-serialport python3-PyQt5-sql python3-PyQt5-svg
+ python3-PyQt5-tools python3-PyQt5-webchannel python3-PyQt5-websockets
+ python3-PyQt5-x11extras python3-PyQt5-xmlpatterns qt5-plugin-sqlite
+ font-liberation-ttf
+ "
+
+# check dependencies for PySide2
+checkdepends+="
+ python3-pyside2-webengine
+ qt5-plugin-sqlite font-liberation-ttf
+ "
+
+# check dependencies for PyQt6
+checkdepends+="
+ python3-pyqt6-connectivity python3-pyqt6-dbus python3-pyqt6-declarative
+ python3-pyqt6-devel-tools python3-pyqt6-gui python3-pyqt6-multimedia
+ python3-pyqt6-network python3-pyqt6-opengl-widgets python3-pyqt6-printsupport
+ python3-pyqt6-quick3d python3-pyqt6-remoteobjects python3-pyqt6-sensors
+ python3-pyqt6-serialport python3-pyqt6-sql python3-pyqt6-svg python3-pyqt6-test
+ python3-pyqt6-tools python3-pyqt6-webchannel python3-pyqt6-websockets
+ python3-pyqt6-widgets python3-pyqt6-xml
+ qt6-plugin-sqlite font-liberation-ttf
+ "
 
 do_check() {
-	CI=1 QT_API=PyQt5   FORCE_QT_API=PyQt5   pytest -k 'not test_load_ui'
-	CI=1 QT_API=PySide2 FORCE_QT_API=PySide2 pytest
+	local api
+	for api in PyQt5 PySide2 PyQt6; do
+		QT_API=$api FORCE_QT_API=1 python3 -m \
+			pytest -k "not(test_qttexttospeech)"
+	done
 }
 
 post_install() {

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (18 preceding siblings ...)
  2023-09-30  2:53 ` tornaria
@ 2023-09-30 15:49 ` tornaria
  2023-10-02 19:06 ` dkwo
                   ` (17 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-09-30 15:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 196 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1741795142

Comment:
@dkwo this is getting ready... if you want to try it.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (19 preceding siblings ...)
  2023-09-30 15:49 ` tornaria
@ 2023-10-02 19:06 ` dkwo
  2023-10-03  0:15 ` tornaria
                   ` (16 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: dkwo @ 2023-10-02 19:06 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 359 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1743601579

Comment:
Looks good to me, thanks. One minor thing: should
```
cat srcpkgs/jupyterlab/files/jupyterlab.sh
export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
```
become `export JUPYTERLAB_DIR=${XDG_DATA_HOME}/jupyter/lab` ?

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (20 preceding siblings ...)
  2023-10-02 19:06 ` dkwo
@ 2023-10-03  0:15 ` tornaria
  2023-10-03 15:19 ` dkwo
                   ` (15 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-03  0:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 795 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1743959963

Comment:
> Looks good to me, thanks. One minor thing: should
> 
> ```
> cat srcpkgs/jupyterlab/files/jupyterlab.sh
> export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
> ```
> 
> become `export JUPYTERLAB_DIR=${XDG_DATA_HOME}/jupyter/lab` ?

I meant to ask about it. Do we really need to set a variable? What happens if we don't? I would expect this to work ok without any env variable. In fact, I've patched `jupyter_core` to use `platformdirs` which should use xdg paths (e.g. `~/.config/jupyter` instead of `~/.jupyter`).

If not really necessary, I'd prefer to drop this file and let the user configure their environment whatever way they want.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (21 preceding siblings ...)
  2023-10-03  0:15 ` tornaria
@ 2023-10-03 15:19 ` dkwo
  2023-10-09 21:10 ` [PR PATCH] [Updated] " tornaria
                   ` (14 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: dkwo @ 2023-10-03 15:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 476 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1745200379

Comment:
indeed, it seems unneeded for my local run
```
[I LabApp] JupyterLab application directory is /usr/share/jupyter/lab
[...]
 To access the server, open this file in a browser:
        file:///home/dkwo/.local/share/jupyter/runtime/jpserver-13411-open.html
```
Although i saw one test failure. Can you try pushing the removal to CI?

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (22 preceding siblings ...)
  2023-10-03 15:19 ` dkwo
@ 2023-10-09 21:10 ` tornaria
  2023-10-09 21:31 ` tornaria
                   ` (13 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-09 21:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 80503 bytes --]

From 4cbd0121fe02e8c3c8d591f8b0e0336cda9e1986 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/27] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index a77d479475365..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 52116a2379442e2afae1efdf5519039bcceeb113 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/27] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 2e07727855022..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
-revision=2
+version=0.1.4
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-traitlets"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From c716956c18ca3044c1f40f059d70fb4e8b03d2cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/27] python3-traitlets: update to 5.11.2.

---
 srcpkgs/python3-traitlets/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 0949220e9ae0b..f48119dadca32 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
-revision=2
+version=5.11.2
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=7564b5bf8d38c40fa45498072bf4dc5e8346eb087bbf1e2ae2d8774f6a0f078e
 
 post_install() {
 	vlicense LICENSE

From 69dec4368791880838dd0c7c46e5191b17ec4907 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 29 Sep 2023 22:50:26 -0300
Subject: [PATCH 04/27] python3-QtPy: update to 2.4.0, adopt.

---
 srcpkgs/python3-QtPy/patches/fix-test.patch | 11 +++++++
 srcpkgs/python3-QtPy/template               | 36 +++++++++++----------
 2 files changed, 30 insertions(+), 17 deletions(-)
 create mode 100644 srcpkgs/python3-QtPy/patches/fix-test.patch

diff --git a/srcpkgs/python3-QtPy/patches/fix-test.patch b/srcpkgs/python3-QtPy/patches/fix-test.patch
new file mode 100644
index 0000000000000..23987e260c928
--- /dev/null
+++ b/srcpkgs/python3-QtPy/patches/fix-test.patch
@@ -0,0 +1,11 @@
+--- a/qtpy/tests/test_main.py	2023-08-29 13:07:50.000000000 -0300
++++ b/qtpy/tests/test_main.py	2023-09-29 22:04:52.945280612 -0300
+@@ -115,7 +115,7 @@
+     pytest.importorskip(mod, reason=f"Requires {api}")
+     # clean env
+     env = os.environ.copy()
+-    for key in ("QT_API", "USE_QT_API"):
++    for key in ("QT_API", "USE_QT_API", "FORCE_QT_API"):
+         if key in env:
+             del env[key]
+     cmd = f"""
diff --git a/srcpkgs/python3-QtPy/template b/srcpkgs/python3-QtPy/template
index 10563bde6b23d..4f545f6a6e4df 100644
--- a/srcpkgs/python3-QtPy/template
+++ b/srcpkgs/python3-QtPy/template
@@ -1,36 +1,38 @@
 # Template file for 'python3-QtPy'
 pkgname=python3-QtPy
-version=2.3.1
+version=2.4.0
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 # depends on either of PyQt5, PyQt6
 depends="python3"
-# Packages common to both PyQt5 and PyQt6
-_qtcommon="python3-PyQt5-sql python3-PyQt5-svg python3-PyQt5-webengine
- python3-PyQt5-websockets python3-PyQt5-multimedia python3-PyQt5-tools"
-checkdepends="python3-pytest python3-mock python3-pyqt6-declarative
- python3-pyqt6-widgets python3-pyqt6-gui python3-pyqt6-opengl-widgets
- python3-pyqt6-printsupport python3-pyqt6-network python3-pyqt6-devel-tools
- python3-pyqt6-test python3-pyqt6-webchannel python3-pyqt6-xml
- qt6-plugin-sqlite python3-PyQt5-quick python3-PyQt5-xmlpatterns
- python3-PyQt5-location python3-PyQt5-opengl qt5-plugin-sqlite ${_qtcommon}
- ${_qtcommon//PyQt5/pyqt6}"
+# check dependencies common to both PyQt5 and PyQt6
+_qtcommon=":connectivity :multimedia :sensors :serialport :sql :svg :tools
+ :webchannel :webengine :websockets"
+# check dependencies only for PyQt5
+_qt5check="${_qtcommon} :location :opengl :quick :x11extras :xmlpatterns
+ qt5-plugin-sqlite"
+# check dependencies only for PyQt6
+_qt6check="${_qtcommon} :dbus :declarative :devel-tools :gui :network
+ :opengl-widgets :printsupport :quick3d :remoteobjects :test :widgets :xml
+ qt6-plugin-sqlite"
+checkdepends="python3-pytest-cov python3-pytest-qt font-liberation-ttf
+ ${_qt5check//:/python3-PyQt5-} ${_qt6check//:/python3-pyqt6-}"
 short_desc="Abstraction layer on top of various Python Qt bindings"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="MIT"
 homepage="https://github.com/spyder-ide/qtpy"
+changelog="https://raw.githubusercontent.com/spyder-ide/qtpy/master/CHANGELOG.md"
 distfiles="${PYPI_SITE}/Q/QtPy/QtPy-${version}.tar.gz"
-checksum=a8c74982d6d172ce124d80cafd39653df78989683f760f2281ba91a6e7b9de8b
+checksum=db2d508167aa6106781565c8da5c6f1487debacba33519cedc35fa8997d424d4
 
 do_check() {
 	local qtapi
 
-	rm -f pytest.ini
-
 	for qtapi in pyqt5 pyqt6; do
-		CI=1 USE_QT_API="${qtapi}" QT_API="${qtapi}" \
-		python3 -m pytest -k 'not test_qttexttospeech' qtpy/tests
+		msg_normal "... running pytest with QT_API=$qtapi\n"
+		FORCE_QT_API=1 QT_API="${qtapi}" \
+		python3 -m pytest -k 'not test_qttexttospeech'
 	done
 }
 

From 05448d241d58b1c1ba6fcc5c007b4b1657ece05a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 14:23:56 -0300
Subject: [PATCH 05/27] python3-dateutil: fix deprecation warning

---
 .../avoid-deprecated-utcfromtimestamp.patch   | 25 +++++++++++++++++++
 srcpkgs/python3-dateutil/template             |  2 +-
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch

diff --git a/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
new file mode 100644
index 0000000000000..9ac4acc89947d
--- /dev/null
+++ b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
@@ -0,0 +1,25 @@
+Taken from https://github.com/dateutil/dateutil/pull/1285
+
+From f2293200747fb03d56c6c5997bfebeabe703576f Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Fri, 2 Jun 2023 14:06:41 +0100
+Subject: [PATCH 1/2] avoid deprecated utcfromtimestamp
+
+Fixes #1284
+---
+ src/dateutil/tz/tz.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/dateutil/tz/tz.py b/src/dateutil/tz/tz.py
+index c67f56d46..617591446 100644
+--- a/dateutil/tz/tz.py
++++ b/dateutil/tz/tz.py
+@@ -34,7 +34,7 @@
+ from warnings import warn
+ 
+ ZERO = datetime.timedelta(0)
+-EPOCH = datetime.datetime.utcfromtimestamp(0)
++EPOCH = datetime.datetime(1970, 1, 1, 0, 0)
+ EPOCHORDINAL = EPOCH.toordinal()
+ 
+ 
diff --git a/srcpkgs/python3-dateutil/template b/srcpkgs/python3-dateutil/template
index 1d86829608a45..c5b2ad5b03e6e 100644
--- a/srcpkgs/python3-dateutil/template
+++ b/srcpkgs/python3-dateutil/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-dateutil'
 pkgname=python3-dateutil
 version=2.8.2
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools_scm"
 depends="python3-six tzdata"

From 8dd5ff13bea0c6528b728ad5f6f86f4a6c94aed6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 22:11:00 -0300
Subject: [PATCH 06/27] python3-tornado: update to 6.3.3.

---
 .../patches/3288-utcnow-deprecation.patch     | 378 ++++++++++++++++++
 .../patches/3335-utcnow-deprecation.patch     |  81 ++++
 srcpkgs/python3-tornado/template              |   6 +-
 3 files changed, 462 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
 create mode 100644 srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..19e7ff9714e5d
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
@@ -0,0 +1,378 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3288
+
+From 4d4d80c1d076dcb4e051c969ae4b66557d3856b8 Mon Sep 17 00:00:00 2001
+From: Ben Darnell <ben@bendarnell.com>
+Date: Thu, 8 Jun 2023 22:52:19 -0400
+Subject: [PATCH] *: Adapt to deprecation of datetime utc methods
+
+Python 3.12 deprecates the utcnow and utcfromtimestamp methods and
+discourages the use of naive datetimes to represent UTC. This was
+previously the main way that Tornado used datetimes (since it was
+the only option available in Python 2 before the introduction
+of datetime.timezone.utc in Python 3.2).
+
+- httpclient_test: Test-only change to test that both kinds of datetimes
+  are supported in If-Modified-Since (this just calls
+  httputil.format_timestamp)
+- httputil: No functional changes, but format_timestamp's
+  support for both naive and aware datetimes is now tested.
+- locale: format_timestamp now supports aware datetimes (in
+  addition to the existing support for naive datetimes).
+- web: Cookie expirations internally use aware datetimes.
+  StaticFileHandler.get_modified_time now supports both and the
+  standard implementation returns aware.
+
+It feels fragile that "naive" and "aware" datetimes are not distinct
+types but subject to data-dependent behavior. This change uses
+"aware" datetimes throughout Tornado, but some operations (comparisons
+and subtraction) fail with mixed datetime types and if I missed any
+in this change may cause errors if naive datetimes were used (where
+previously naive datetimes would have been required). But that's
+apparently the API we have to work with.
+---
+ tornado/httputil.py             |  3 +-
+ tornado/locale.py               | 12 +++--
+ tornado/test/httpclient_test.py | 12 ++++-
+ tornado/test/httputil_test.py   | 26 +++++++++-
+ tornado/test/locale_test.py     | 88 ++++++++++++++++++---------------
+ tornado/test/web_test.py        | 25 +++++-----
+ tornado/web.py                  | 28 +++++++----
+ 7 files changed, 126 insertions(+), 68 deletions(-)
+
+diff --git a/tornado/httputil.py b/tornado/httputil.py
+index 9c341d47cc..b21d8046c4 100644
+--- a/tornado/httputil.py
++++ b/tornado/httputil.py
+@@ -856,7 +856,8 @@ def format_timestamp(
+ 
+     The argument may be a numeric timestamp as returned by `time.time`,
+     a time tuple as returned by `time.gmtime`, or a `datetime.datetime`
+-    object.
++    object. Naive `datetime.datetime` objects are assumed to represent
++    UTC; aware objects are converted to UTC before formatting.
+ 
+     >>> format_timestamp(1359312200)
+     'Sun, 27 Jan 2013 18:43:20 GMT'
+diff --git a/tornado/locale.py b/tornado/locale.py
+index 55072af28d..c5526703b1 100644
+--- a/tornado/locale.py
++++ b/tornado/locale.py
+@@ -333,7 +333,7 @@ def format_date(
+         shorter: bool = False,
+         full_format: bool = False,
+     ) -> str:
+-        """Formats the given date (which should be GMT).
++        """Formats the given date.
+ 
+         By default, we return a relative time (e.g., "2 minutes ago"). You
+         can return an absolute date string with ``relative=False``.
+@@ -343,10 +343,16 @@ def format_date(
+ 
+         This method is primarily intended for dates in the past.
+         For dates in the future, we fall back to full format.
++
++        .. versionchanged:: 6.4
++           Aware `datetime.datetime` objects are now supported (naive
++           datetimes are still assumed to be UTC).
+         """
+         if isinstance(date, (int, float)):
+-            date = datetime.datetime.utcfromtimestamp(date)
+-        now = datetime.datetime.utcnow()
++            date = datetime.datetime.fromtimestamp(date, datetime.timezone.utc)
++        if date.tzinfo is None:
++            date = date.replace(tzinfo=datetime.timezone.utc)
++        now = datetime.datetime.now(datetime.timezone.utc)
+         if date > now:
+             if relative and (date - now).seconds < 60:
+                 # Due to click skew, things are some things slightly
+diff --git a/tornado/test/httpclient_test.py b/tornado/test/httpclient_test.py
+index a71ec0afb6..a41040e64a 100644
+--- a/tornado/test/httpclient_test.py
++++ b/tornado/test/httpclient_test.py
+@@ -28,7 +28,7 @@
+ from tornado.log import gen_log, app_log
+ from tornado import netutil
+ from tornado.testing import AsyncHTTPTestCase, bind_unused_port, gen_test, ExpectLog
+-from tornado.test.util import skipOnTravis
++from tornado.test.util import skipOnTravis, ignore_deprecation
+ from tornado.web import Application, RequestHandler, url
+ from tornado.httputil import format_timestamp, HTTPHeaders
+ 
+@@ -887,7 +887,15 @@ def test_body_setter(self):
+         self.assertEqual(request.body, utf8("foo"))
+ 
+     def test_if_modified_since(self):
+-        http_date = datetime.datetime.utcnow()
++        http_date = datetime.datetime.now(datetime.timezone.utc)
++        request = HTTPRequest("http://example.com", if_modified_since=http_date)
++        self.assertEqual(
++            request.headers, {"If-Modified-Since": format_timestamp(http_date)}
++        )
++
++    def test_if_modified_since_naive_deprecated(self):
++        with ignore_deprecation():
++            http_date = datetime.datetime.utcnow()
+         request = HTTPRequest("http://example.com", if_modified_since=http_date)
+         self.assertEqual(
+             request.headers, {"If-Modified-Since": format_timestamp(http_date)}
+diff --git a/tornado/test/httputil_test.py b/tornado/test/httputil_test.py
+index 8424491d87..aa9b6ee253 100644
+--- a/tornado/test/httputil_test.py
++++ b/tornado/test/httputil_test.py
+@@ -13,6 +13,7 @@
+ from tornado.escape import utf8, native_str
+ from tornado.log import gen_log
+ from tornado.testing import ExpectLog
++from tornado.test.util import ignore_deprecation
+ 
+ import copy
+ import datetime
+@@ -412,8 +413,29 @@ def test_time_tuple(self):
+         self.assertEqual(9, len(tup))
+         self.check(tup)
+ 
+-    def test_datetime(self):
+-        self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++    def test_utc_naive_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone.utc
++            ).replace(tzinfo=None)
++        )
++
++    def test_utc_naive_datetime_deprecated(self):
++        with ignore_deprecation():
++            self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++
++    def test_utc_aware_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(self.TIMESTAMP, datetime.timezone.utc)
++        )
++
++    def test_other_aware_datetime(self):
++        # Other timezones are ignored; the timezone is always printed as GMT
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone(datetime.timedelta(hours=-4))
++            )
++        )
+ 
+ 
+ # HTTPServerRequest is mainly tested incidentally to the server itself,
+diff --git a/tornado/test/locale_test.py b/tornado/test/locale_test.py
+index ee74cb05e8..a2e0872b8f 100644
+--- a/tornado/test/locale_test.py
++++ b/tornado/test/locale_test.py
+@@ -91,45 +91,55 @@ def test_format_date(self):
+             locale.format_date(date, full_format=True), "April 28, 2013 at 6:35 pm"
+         )
+ 
+-        now = datetime.datetime.utcnow()
+-
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(seconds=2), full_format=False),
+-            "2 seconds ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(minutes=2), full_format=False),
+-            "2 minutes ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(hours=2), full_format=False),
+-            "2 hours ago",
+-        )
+-
+-        self.assertEqual(
+-            locale.format_date(
+-                now - datetime.timedelta(days=1), full_format=False, shorter=True
+-            ),
+-            "yesterday",
+-        )
+-
+-        date = now - datetime.timedelta(days=2)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            locale._weekdays[date.weekday()],
+-        )
+-
+-        date = now - datetime.timedelta(days=300)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d" % (locale._months[date.month - 1], date.day),
+-        )
+-
+-        date = now - datetime.timedelta(days=500)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
+-        )
++        aware_dt = datetime.datetime.now(datetime.timezone.utc)
++        naive_dt = aware_dt.replace(tzinfo=None)
++        for name, now in {"aware": aware_dt, "naive": naive_dt}.items():
++            with self.subTest(dt=name):
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(seconds=2), full_format=False
++                    ),
++                    "2 seconds ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(minutes=2), full_format=False
++                    ),
++                    "2 minutes ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(hours=2), full_format=False
++                    ),
++                    "2 hours ago",
++                )
++
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(days=1),
++                        full_format=False,
++                        shorter=True,
++                    ),
++                    "yesterday",
++                )
++
++                date = now - datetime.timedelta(days=2)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    locale._weekdays[date.weekday()],
++                )
++
++                date = now - datetime.timedelta(days=300)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d" % (locale._months[date.month - 1], date.day),
++                )
++
++                date = now - datetime.timedelta(days=500)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
++                )
+ 
+     def test_friendly_number(self):
+         locale = tornado.locale.get("en_US")
+diff --git a/tornado/test/web_test.py b/tornado/test/web_test.py
+index 56900d9a00..fb9c3417b9 100644
+--- a/tornado/test/web_test.py
++++ b/tornado/test/web_test.py
+@@ -404,10 +404,10 @@ def test_set_cookie_expires_days(self):
+         match = re.match("foo=bar; expires=(?P<expires>.+); Path=/", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=10)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=10
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+     def test_set_cookie_false_flags(self):
+@@ -1697,11 +1697,10 @@ def get(self):
+ 
+     def test_date_header(self):
+         response = self.fetch("/")
+-        parsed = email.utils.parsedate(response.headers["Date"])
+-        assert parsed is not None
+-        header_date = datetime.datetime(*parsed[:6])
++        header_date = email.utils.parsedate_to_datetime(response.headers["Date"])
+         self.assertTrue(
+-            header_date - datetime.datetime.utcnow() < datetime.timedelta(seconds=2)
++            header_date - datetime.datetime.now(datetime.timezone.utc)
++            < datetime.timedelta(seconds=2)
+         )
+ 
+ 
+@@ -3010,10 +3009,12 @@ def test_xsrf_httponly(self):
+         match = re.match(".*; expires=(?P<expires>.+);.*", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=2)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=2
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
++        if header_expires.tzinfo is None:
++            header_expires = header_expires.replace(tzinfo=datetime.timezone.utc)
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+ 
+diff --git a/tornado/web.py b/tornado/web.py
+index 565140493e..439e02c47b 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -647,7 +647,9 @@ def set_cookie(
+         if domain:
+             morsel["domain"] = domain
+         if expires_days is not None and not expires:
+-            expires = datetime.datetime.utcnow() + datetime.timedelta(days=expires_days)
++            expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++                days=expires_days
++            )
+         if expires:
+             morsel["expires"] = httputil.format_timestamp(expires)
+         if path:
+@@ -698,7 +700,9 @@ def clear_cookie(self, name: str, **kwargs: Any) -> None:
+                 raise TypeError(
+                     f"clear_cookie() got an unexpected keyword argument '{excluded_arg}'"
+                 )
+-        expires = datetime.datetime.utcnow() - datetime.timedelta(days=365)
++        expires = datetime.datetime.now(datetime.timezone.utc) - datetime.timedelta(
++            days=365
++        )
+         self.set_cookie(name, value="", expires=expires, **kwargs)
+ 
+     def clear_all_cookies(self, **kwargs: Any) -> None:
+@@ -2812,12 +2816,12 @@ def should_return_304(self) -> bool:
+         # content has not been modified
+         ims_value = self.request.headers.get("If-Modified-Since")
+         if ims_value is not None:
+-            date_tuple = email.utils.parsedate(ims_value)
+-            if date_tuple is not None:
+-                if_since = datetime.datetime(*date_tuple[:6])
+-                assert self.modified is not None
+-                if if_since >= self.modified:
+-                    return True
++            if_since = email.utils.parsedate_to_datetime(ims_value)
++            if if_since.tzinfo is None:
++                if_since = if_since.replace(tzinfo=datetime.timezone.utc)
++            assert self.modified is not None
++            if if_since >= self.modified:
++                return True
+ 
+         return False
+ 
+@@ -2981,6 +2985,10 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         object or None.
+ 
+         .. versionadded:: 3.1
++
++        .. versionchanged:: 6.4
++           Now returns an aware datetime object instead of a naive one.
++           Subclasses that override this method may return either kind.
+         """
+         stat_result = self._stat()
+         # NOTE: Historically, this used stat_result[stat.ST_MTIME],
+@@ -2991,7 +2999,9 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         # consistency with the past (and because we have a unit test
+         # that relies on this), we truncate the float here, although
+         # I'm not sure that's the right thing to do.
+-        modified = datetime.datetime.utcfromtimestamp(int(stat_result.st_mtime))
++        modified = datetime.datetime.fromtimestamp(
++            int(stat_result.st_mtime), datetime.timezone.utc
++        )
+         return modified
+ 
+     def get_content_type(self) -> str:
diff --git a/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..23c210d12f689
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
@@ -0,0 +1,81 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3335
+
+From 0bfca3f2d72a0c6e5d3ba17caac88a79e7b4e0dd Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Tue, 3 Oct 2023 15:08:08 +0100
+Subject: [PATCH] remove calls to utcnow and utcfromtimestamp
+
+---
+ demos/blog/templates/feed.xml |  2 +-
+ demos/s3server/s3server.py    | 16 +++++++++++-----
+ tornado/web.py                |  3 ++-
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/demos/blog/templates/feed.xml b/demos/blog/templates/feed.xml
+index a98826c8d3..4a4a252f60 100644
+--- a/demos/blog/templates/feed.xml
++++ b/demos/blog/templates/feed.xml
+@@ -5,7 +5,7 @@
+   {% if len(entries) > 0 %}
+     <updated>{{ max(e.updated for e in entries).strftime(date_format) }}</updated>
+   {% else %}
+-    <updated>{{ datetime.datetime.utcnow().strftime(date_format) }}</updated>
++    <updated>{{ datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None).strftime(date_format) }}</updated>
+   {% end %}
+   <id>http://{{ request.host }}/</id>
+   <link rel="alternate" href="http://{{ request.host }}/" title="{{ handler.settings["blog_title"] }}" type="text/html"/>
+diff --git a/demos/s3server/s3server.py b/demos/s3server/s3server.py
+index 5c5e6af2ba..104a7c8f81 100644
+--- a/demos/s3server/s3server.py
++++ b/demos/s3server/s3server.py
+@@ -138,7 +138,9 @@ def get(self):
+             buckets.append(
+                 {
+                     "Name": name,
+-                    "CreationDate": datetime.datetime.utcfromtimestamp(info.st_ctime),
++                    "CreationDate": datetime.datetime.fromtimestamp(
++                        info.st_ctime, datetime.timezone.utc
++                    ).replace(tzinfo=None),
+                 }
+             )
+         self.render_xml({"ListAllMyBucketsResult": {"Buckets": {"Bucket": buckets}}})
+@@ -183,9 +185,10 @@ def get(self, bucket_name):
+                 info = os.stat(object_path)
+                 c.update(
+                     {
+-                        "LastModified": datetime.datetime.utcfromtimestamp(
+-                            info.st_mtime
+-                        ),
++                        "LastModified": datetime.datetime.fromtimestamp(
++                            info.st_mtime,
++                            datetime.timezone.utc,
++                        ).replace(tzinfo=None),
+                         "Size": info.st_size,
+                     }
+                 )
+@@ -231,7 +234,10 @@ def get(self, bucket, object_name):
+         info = os.stat(path)
+         self.set_header("Content-Type", "application/unknown")
+         self.set_header(
+-            "Last-Modified", datetime.datetime.utcfromtimestamp(info.st_mtime)
++            "Last-Modified",
++            datetime.datetime.fromtimestamp(
++                info.st_mtime, datetime.timezone.utc
++            ).replace(tzinfo=None),
+         )
+         with open(path, "rb") as object_file:
+             self.finish(object_file.read())
+diff --git a/tornado/web.py b/tornado/web.py
+index 333f736808..4416e2013e 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -2797,7 +2797,8 @@ def set_headers(self) -> None:
+         if cache_time > 0:
+             self.set_header(
+                 "Expires",
+-                datetime.datetime.utcnow() + datetime.timedelta(seconds=cache_time),
++                datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None)
++                + datetime.timedelta(seconds=cache_time),
+             )
+             self.set_header("Cache-Control", "max-age=" + str(cache_time))
+ 
diff --git a/srcpkgs/python3-tornado/template b/srcpkgs/python3-tornado/template
index 103c4cc4f099e..65bc0e55ac83e 100644
--- a/srcpkgs/python3-tornado/template
+++ b/srcpkgs/python3-tornado/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tornado'
 pkgname=python3-tornado
-version=6.3.2
-revision=2
+version=6.3.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="http://www.tornadoweb.org/"
 changelog="https://www.tornadoweb.org/en/stable/releases.html"
 distfiles="${PYPI_SITE}/t/tornado/tornado-${version}.tar.gz"
-checksum=4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba
+checksum=e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe
 
 do_check() {
 	# There is one instance of test_bind_source_ip (the one for

From f1db3cd0361b563655dec6948af499a4126c67fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 07/27] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 srcpkgs/python3-jupyter_core/update           |  3 +++
 3 files changed, 45 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..7f8a56d62bd96
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 092921c77a5d4..57af2b9eff989 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=3
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }
diff --git a/srcpkgs/python3-jupyter_core/update b/srcpkgs/python3-jupyter_core/update
index 25ef51d109a4f..a42c0d0b9f127 100644
--- a/srcpkgs/python3-jupyter_core/update
+++ b/srcpkgs/python3-jupyter_core/update
@@ -1 +1,4 @@
 ignore="*a* *b* *rc*"
+# 5.3.2 breaks jupyter_client
+# (https://github.com/jupyter/jupyter_core/pull/362)
+ignore+=" 5.3.2"

From 123a9bbcb0b39409186fb82d01e4c743ad8e7c47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 08/27] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From fbcc08f8ba2072de9af1160cb28edc3539a0bf2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 09/27] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 12c384639fe7f..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 3c6de7dd8cadd519ef41fb7e826461a72cd28972 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 10/27] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 059756289a09f..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From d9ac4194b8e98ca08f1fce53f19e3beb74f87264 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 11/27] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index 034398f8cadac..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From 97786034f2f7f53c28cab490b7805a1eafccd084 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 12/27] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From efec1ee389f3061060fbb2e38f26d8540df65357 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 13/27] python3-jupyter_client: update to 8.3.1, adopt.

---
 srcpkgs/python3-jupyter_client/template | 26 +++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 0cba01daca6f5..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
-revision=2
+version=8.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From b77c28c300633a2dd7ed3fc959fbf68d1e709153 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 14/27] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 41 +++++++++++++++-------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 68f4678ff2c9a..028b1aa989ba4 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,38 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
-revision=2
+version=6.25.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib
+ python3-PyQt5 python3-PyQt5-svg"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From beb59b591be53042a48bad05587791ec369f8b04 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 15/27] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index 74dc055801347..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From e89a88b4422dfa32d88e7a6d6e64c462bc2c50a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 16/27] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index 2b85205d4179e..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+version=0.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From cba70bc6896b5e0530eca694e46b8731011cdfbb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 17/27] python3-mistune: update to 3.0.2, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index 6a448f5c78363..7630964cf1dd1 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8
 
 post_install() {
 	vlicense LICENSE

From af9e1365dea8d94d03ccf481817a2b023bfcba51 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 18/27] python3-jupyter_nbconvert: update to 7.9.2, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index 1ded2af967487..a580377d0f03f 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=3
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.9.2
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky python3-PyQt5"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=e56cc7588acc4f93e2bb5a34ec69028e4941797b2bfaf6462f18a41d1cc258c9
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	make_check_pre="env JUPYTER_DATA_DIR=${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From 8ae6c1b95c7252f83062e58a34ce715f6d675540 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 19/27] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 6fdaaec242fffd89314b816285536abca21d196b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 20/27] python3-jupyter_server: update to 2.7.3.

---
 .../patches/pytest-xdist.patch                | 38 ++++++++++++++++++
 .../patches/utcnow-deprecation.patch          | 39 ++++++++++++++++++
 srcpkgs/python3-jupyter_server/template       | 40 +++++++++++--------
 3 files changed, 101 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
 create mode 100644 srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
new file mode 100644
index 0000000000000..4b2c6976a3b4e
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
@@ -0,0 +1,38 @@
+commit 2dfc67655dd589948250c49c093bd25c4f08f77c
+Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
+Date:   Thu May 25 22:28:37 2023 -0300
+
+    Fix test param for pytest-xdist
+
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index fec747afe..8f7f8a463 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -362,15 +362,12 @@ def test_gateway_request_timeout_pad_option(
+     GatewayClient.clear_instance()
+ 
+ 
+-cookie_expire_time = format_datetime(datetime.now(tz=timezone.utc) + timedelta(seconds=180))
+-
+-
+ @pytest.mark.parametrize(
+     "accept_cookies,expire_arg,expire_param,existing_cookies,cookie_exists",
+     [
+         (False, None, None, "EXISTING=1", False),
+         (True, None, None, "EXISTING=1", True),
+-        (True, "Expires", cookie_expire_time, None, True),
++        (True, "Expires", 180, None, True),
+         (True, "Max-Age", "-360", "EXISTING=1", False),
+     ],
+ )
+@@ -389,6 +386,10 @@ def test_gateway_request_with_expiring_cookies(
+ 
+     cookie: SimpleCookie = SimpleCookie()
+     cookie.load("SERVERID=1234567; Path=/")
++    if expire_arg == "Expires":
++        expire_param = format_datetime(
++                datetime.now(tz=timezone.utc) +
++                timedelta(seconds=expire_param))
+     if expire_arg:
+         cookie["SERVERID"][expire_arg] = expire_param
+ 
diff --git a/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
new file mode 100644
index 0000000000000..2d3f38fd0935a
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
@@ -0,0 +1,39 @@
+diff --git a/jupyter_server/_tz.py b/jupyter_server/_tz.py
+index 4444c93db..3c7897515 100644
+--- a/jupyter_server/_tz.py
++++ b/jupyter_server/_tz.py
+@@ -5,7 +5,7 @@ Just UTC-awareness right now
+ """
+ # Copyright (c) Jupyter Development Team.
+ # Distributed under the terms of the Modified BSD License.
+-from datetime import datetime, timedelta, tzinfo
++from datetime import datetime, timedelta, tzinfo, timezone
+ 
+ # constant for zero offset
+ ZERO = timedelta(0)
+@@ -39,6 +39,12 @@ def utc_aware(unaware):
+ utcfromtimestamp = utc_aware(datetime.utcfromtimestamp)
+ utcnow = utc_aware(datetime.utcnow)
+ 
++def utcnow() -> datetime:
++    """ Return timezone-aware UTC timestamp"""
++    return datetime.now(timezone.utc)
++
++def utcfromtimestamp(timestamp):
++    return datetime.fromtimestamp(timestamp, timezone.utc)
+ 
+ def isoformat(dt):
+     """Return iso-formatted timestamp
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index 8f7f8a463..598006e29 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -78,7 +78,7 @@ omitted_kernels: Dict[str, bool] = {}
+ 
+ def generate_model(name):
+     """Generate a mocked kernel model.  Caller is responsible for adding model to running_kernels dictionary."""
+-    dt = datetime.utcnow().isoformat() + "Z"  # noqa
++    dt = datetime.now(timezone.utc).isoformat().replace("+00:00", "Z")  # noqa
+     kernel_id = str(uuid.uuid4())
+     model = {
+         "id": kernel_id,
diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 8b1cf9fe7c569..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+version=2.7.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From 65d3ef85346cc8d421e875652e5bc2b7655ab3f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 21/27] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 490564a7fb8e9..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
-revision=2
+version=0.2.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 781c1ee7e9d232e426488ddd69d5f0ed5db2c726 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 22/27] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 81fb183100692..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+version=1.0.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From 68880c3354ac72be63db8d0b7f720ea3ac984e77 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 23/27] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 36 ++++++++++++++++------
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index 41f51c913ebb0..a5e452e9d6c81 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,34 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# tests setup fails on CI (no idea why)
+	make_check_args="-p no:unraisableexception"
+fi
+
+do_check() {
+	# test_translation_api.py needs to run in a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
 	vlicense LICENSE

From 6a27cad4f55b588403194d648714162034191da6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 24/27] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index b7159e5a0311b..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From f6ec15b5b6d4b7c07476d7b82c788190da1ff958 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 25/27] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 6aafbbba6d7cb..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 9dfd64755fac7cc48a9494128cb76b38dcd8d643 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 26/27] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 31 +++++++++++++++---------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 9bbbb0488d400..2af1e4875ca39 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+version=6.6.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (pexpect gets ": 5" instead of the
+	# expected "Out[1]: 5" causing a timeout)
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 887252105077ebdb1dfcd9d56f06b320431379c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 27/27] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index e3ffc5eb87dec..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (23 preceding siblings ...)
  2023-10-09 21:10 ` [PR PATCH] [Updated] " tornaria
@ 2023-10-09 21:31 ` tornaria
  2023-10-09 21:31 ` tornaria
                   ` (12 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-09 21:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 85914 bytes --]

From 4cbd0121fe02e8c3c8d591f8b0e0336cda9e1986 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/27] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index a77d479475365..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 52116a2379442e2afae1efdf5519039bcceeb113 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/27] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 2e07727855022..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
-revision=2
+version=0.1.4
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-traitlets"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From c716956c18ca3044c1f40f059d70fb4e8b03d2cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/27] python3-traitlets: update to 5.11.2.

---
 srcpkgs/python3-traitlets/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 0949220e9ae0b..f48119dadca32 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
-revision=2
+version=5.11.2
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=7564b5bf8d38c40fa45498072bf4dc5e8346eb087bbf1e2ae2d8774f6a0f078e
 
 post_install() {
 	vlicense LICENSE

From 69dec4368791880838dd0c7c46e5191b17ec4907 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 29 Sep 2023 22:50:26 -0300
Subject: [PATCH 04/27] python3-QtPy: update to 2.4.0, adopt.

---
 srcpkgs/python3-QtPy/patches/fix-test.patch | 11 +++++++
 srcpkgs/python3-QtPy/template               | 36 +++++++++++----------
 2 files changed, 30 insertions(+), 17 deletions(-)
 create mode 100644 srcpkgs/python3-QtPy/patches/fix-test.patch

diff --git a/srcpkgs/python3-QtPy/patches/fix-test.patch b/srcpkgs/python3-QtPy/patches/fix-test.patch
new file mode 100644
index 0000000000000..23987e260c928
--- /dev/null
+++ b/srcpkgs/python3-QtPy/patches/fix-test.patch
@@ -0,0 +1,11 @@
+--- a/qtpy/tests/test_main.py	2023-08-29 13:07:50.000000000 -0300
++++ b/qtpy/tests/test_main.py	2023-09-29 22:04:52.945280612 -0300
+@@ -115,7 +115,7 @@
+     pytest.importorskip(mod, reason=f"Requires {api}")
+     # clean env
+     env = os.environ.copy()
+-    for key in ("QT_API", "USE_QT_API"):
++    for key in ("QT_API", "USE_QT_API", "FORCE_QT_API"):
+         if key in env:
+             del env[key]
+     cmd = f"""
diff --git a/srcpkgs/python3-QtPy/template b/srcpkgs/python3-QtPy/template
index 10563bde6b23d..4f545f6a6e4df 100644
--- a/srcpkgs/python3-QtPy/template
+++ b/srcpkgs/python3-QtPy/template
@@ -1,36 +1,38 @@
 # Template file for 'python3-QtPy'
 pkgname=python3-QtPy
-version=2.3.1
+version=2.4.0
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 # depends on either of PyQt5, PyQt6
 depends="python3"
-# Packages common to both PyQt5 and PyQt6
-_qtcommon="python3-PyQt5-sql python3-PyQt5-svg python3-PyQt5-webengine
- python3-PyQt5-websockets python3-PyQt5-multimedia python3-PyQt5-tools"
-checkdepends="python3-pytest python3-mock python3-pyqt6-declarative
- python3-pyqt6-widgets python3-pyqt6-gui python3-pyqt6-opengl-widgets
- python3-pyqt6-printsupport python3-pyqt6-network python3-pyqt6-devel-tools
- python3-pyqt6-test python3-pyqt6-webchannel python3-pyqt6-xml
- qt6-plugin-sqlite python3-PyQt5-quick python3-PyQt5-xmlpatterns
- python3-PyQt5-location python3-PyQt5-opengl qt5-plugin-sqlite ${_qtcommon}
- ${_qtcommon//PyQt5/pyqt6}"
+# check dependencies common to both PyQt5 and PyQt6
+_qtcommon=":connectivity :multimedia :sensors :serialport :sql :svg :tools
+ :webchannel :webengine :websockets"
+# check dependencies only for PyQt5
+_qt5check="${_qtcommon} :location :opengl :quick :x11extras :xmlpatterns
+ qt5-plugin-sqlite"
+# check dependencies only for PyQt6
+_qt6check="${_qtcommon} :dbus :declarative :devel-tools :gui :network
+ :opengl-widgets :printsupport :quick3d :remoteobjects :test :widgets :xml
+ qt6-plugin-sqlite"
+checkdepends="python3-pytest-cov python3-pytest-qt font-liberation-ttf
+ ${_qt5check//:/python3-PyQt5-} ${_qt6check//:/python3-pyqt6-}"
 short_desc="Abstraction layer on top of various Python Qt bindings"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="MIT"
 homepage="https://github.com/spyder-ide/qtpy"
+changelog="https://raw.githubusercontent.com/spyder-ide/qtpy/master/CHANGELOG.md"
 distfiles="${PYPI_SITE}/Q/QtPy/QtPy-${version}.tar.gz"
-checksum=a8c74982d6d172ce124d80cafd39653df78989683f760f2281ba91a6e7b9de8b
+checksum=db2d508167aa6106781565c8da5c6f1487debacba33519cedc35fa8997d424d4
 
 do_check() {
 	local qtapi
 
-	rm -f pytest.ini
-
 	for qtapi in pyqt5 pyqt6; do
-		CI=1 USE_QT_API="${qtapi}" QT_API="${qtapi}" \
-		python3 -m pytest -k 'not test_qttexttospeech' qtpy/tests
+		msg_normal "... running pytest with QT_API=$qtapi\n"
+		FORCE_QT_API=1 QT_API="${qtapi}" \
+		python3 -m pytest -k 'not test_qttexttospeech'
 	done
 }
 

From 05448d241d58b1c1ba6fcc5c007b4b1657ece05a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 14:23:56 -0300
Subject: [PATCH 05/27] python3-dateutil: fix deprecation warning

---
 .../avoid-deprecated-utcfromtimestamp.patch   | 25 +++++++++++++++++++
 srcpkgs/python3-dateutil/template             |  2 +-
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch

diff --git a/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
new file mode 100644
index 0000000000000..9ac4acc89947d
--- /dev/null
+++ b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
@@ -0,0 +1,25 @@
+Taken from https://github.com/dateutil/dateutil/pull/1285
+
+From f2293200747fb03d56c6c5997bfebeabe703576f Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Fri, 2 Jun 2023 14:06:41 +0100
+Subject: [PATCH 1/2] avoid deprecated utcfromtimestamp
+
+Fixes #1284
+---
+ src/dateutil/tz/tz.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/dateutil/tz/tz.py b/src/dateutil/tz/tz.py
+index c67f56d46..617591446 100644
+--- a/dateutil/tz/tz.py
++++ b/dateutil/tz/tz.py
+@@ -34,7 +34,7 @@
+ from warnings import warn
+ 
+ ZERO = datetime.timedelta(0)
+-EPOCH = datetime.datetime.utcfromtimestamp(0)
++EPOCH = datetime.datetime(1970, 1, 1, 0, 0)
+ EPOCHORDINAL = EPOCH.toordinal()
+ 
+ 
diff --git a/srcpkgs/python3-dateutil/template b/srcpkgs/python3-dateutil/template
index 1d86829608a45..c5b2ad5b03e6e 100644
--- a/srcpkgs/python3-dateutil/template
+++ b/srcpkgs/python3-dateutil/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-dateutil'
 pkgname=python3-dateutil
 version=2.8.2
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools_scm"
 depends="python3-six tzdata"

From 8dd5ff13bea0c6528b728ad5f6f86f4a6c94aed6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 22:11:00 -0300
Subject: [PATCH 06/27] python3-tornado: update to 6.3.3.

---
 .../patches/3288-utcnow-deprecation.patch     | 378 ++++++++++++++++++
 .../patches/3335-utcnow-deprecation.patch     |  81 ++++
 srcpkgs/python3-tornado/template              |   6 +-
 3 files changed, 462 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
 create mode 100644 srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..19e7ff9714e5d
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
@@ -0,0 +1,378 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3288
+
+From 4d4d80c1d076dcb4e051c969ae4b66557d3856b8 Mon Sep 17 00:00:00 2001
+From: Ben Darnell <ben@bendarnell.com>
+Date: Thu, 8 Jun 2023 22:52:19 -0400
+Subject: [PATCH] *: Adapt to deprecation of datetime utc methods
+
+Python 3.12 deprecates the utcnow and utcfromtimestamp methods and
+discourages the use of naive datetimes to represent UTC. This was
+previously the main way that Tornado used datetimes (since it was
+the only option available in Python 2 before the introduction
+of datetime.timezone.utc in Python 3.2).
+
+- httpclient_test: Test-only change to test that both kinds of datetimes
+  are supported in If-Modified-Since (this just calls
+  httputil.format_timestamp)
+- httputil: No functional changes, but format_timestamp's
+  support for both naive and aware datetimes is now tested.
+- locale: format_timestamp now supports aware datetimes (in
+  addition to the existing support for naive datetimes).
+- web: Cookie expirations internally use aware datetimes.
+  StaticFileHandler.get_modified_time now supports both and the
+  standard implementation returns aware.
+
+It feels fragile that "naive" and "aware" datetimes are not distinct
+types but subject to data-dependent behavior. This change uses
+"aware" datetimes throughout Tornado, but some operations (comparisons
+and subtraction) fail with mixed datetime types and if I missed any
+in this change may cause errors if naive datetimes were used (where
+previously naive datetimes would have been required). But that's
+apparently the API we have to work with.
+---
+ tornado/httputil.py             |  3 +-
+ tornado/locale.py               | 12 +++--
+ tornado/test/httpclient_test.py | 12 ++++-
+ tornado/test/httputil_test.py   | 26 +++++++++-
+ tornado/test/locale_test.py     | 88 ++++++++++++++++++---------------
+ tornado/test/web_test.py        | 25 +++++-----
+ tornado/web.py                  | 28 +++++++----
+ 7 files changed, 126 insertions(+), 68 deletions(-)
+
+diff --git a/tornado/httputil.py b/tornado/httputil.py
+index 9c341d47cc..b21d8046c4 100644
+--- a/tornado/httputil.py
++++ b/tornado/httputil.py
+@@ -856,7 +856,8 @@ def format_timestamp(
+ 
+     The argument may be a numeric timestamp as returned by `time.time`,
+     a time tuple as returned by `time.gmtime`, or a `datetime.datetime`
+-    object.
++    object. Naive `datetime.datetime` objects are assumed to represent
++    UTC; aware objects are converted to UTC before formatting.
+ 
+     >>> format_timestamp(1359312200)
+     'Sun, 27 Jan 2013 18:43:20 GMT'
+diff --git a/tornado/locale.py b/tornado/locale.py
+index 55072af28d..c5526703b1 100644
+--- a/tornado/locale.py
++++ b/tornado/locale.py
+@@ -333,7 +333,7 @@ def format_date(
+         shorter: bool = False,
+         full_format: bool = False,
+     ) -> str:
+-        """Formats the given date (which should be GMT).
++        """Formats the given date.
+ 
+         By default, we return a relative time (e.g., "2 minutes ago"). You
+         can return an absolute date string with ``relative=False``.
+@@ -343,10 +343,16 @@ def format_date(
+ 
+         This method is primarily intended for dates in the past.
+         For dates in the future, we fall back to full format.
++
++        .. versionchanged:: 6.4
++           Aware `datetime.datetime` objects are now supported (naive
++           datetimes are still assumed to be UTC).
+         """
+         if isinstance(date, (int, float)):
+-            date = datetime.datetime.utcfromtimestamp(date)
+-        now = datetime.datetime.utcnow()
++            date = datetime.datetime.fromtimestamp(date, datetime.timezone.utc)
++        if date.tzinfo is None:
++            date = date.replace(tzinfo=datetime.timezone.utc)
++        now = datetime.datetime.now(datetime.timezone.utc)
+         if date > now:
+             if relative and (date - now).seconds < 60:
+                 # Due to click skew, things are some things slightly
+diff --git a/tornado/test/httpclient_test.py b/tornado/test/httpclient_test.py
+index a71ec0afb6..a41040e64a 100644
+--- a/tornado/test/httpclient_test.py
++++ b/tornado/test/httpclient_test.py
+@@ -28,7 +28,7 @@
+ from tornado.log import gen_log, app_log
+ from tornado import netutil
+ from tornado.testing import AsyncHTTPTestCase, bind_unused_port, gen_test, ExpectLog
+-from tornado.test.util import skipOnTravis
++from tornado.test.util import skipOnTravis, ignore_deprecation
+ from tornado.web import Application, RequestHandler, url
+ from tornado.httputil import format_timestamp, HTTPHeaders
+ 
+@@ -887,7 +887,15 @@ def test_body_setter(self):
+         self.assertEqual(request.body, utf8("foo"))
+ 
+     def test_if_modified_since(self):
+-        http_date = datetime.datetime.utcnow()
++        http_date = datetime.datetime.now(datetime.timezone.utc)
++        request = HTTPRequest("http://example.com", if_modified_since=http_date)
++        self.assertEqual(
++            request.headers, {"If-Modified-Since": format_timestamp(http_date)}
++        )
++
++    def test_if_modified_since_naive_deprecated(self):
++        with ignore_deprecation():
++            http_date = datetime.datetime.utcnow()
+         request = HTTPRequest("http://example.com", if_modified_since=http_date)
+         self.assertEqual(
+             request.headers, {"If-Modified-Since": format_timestamp(http_date)}
+diff --git a/tornado/test/httputil_test.py b/tornado/test/httputil_test.py
+index 8424491d87..aa9b6ee253 100644
+--- a/tornado/test/httputil_test.py
++++ b/tornado/test/httputil_test.py
+@@ -13,6 +13,7 @@
+ from tornado.escape import utf8, native_str
+ from tornado.log import gen_log
+ from tornado.testing import ExpectLog
++from tornado.test.util import ignore_deprecation
+ 
+ import copy
+ import datetime
+@@ -412,8 +413,29 @@ def test_time_tuple(self):
+         self.assertEqual(9, len(tup))
+         self.check(tup)
+ 
+-    def test_datetime(self):
+-        self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++    def test_utc_naive_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone.utc
++            ).replace(tzinfo=None)
++        )
++
++    def test_utc_naive_datetime_deprecated(self):
++        with ignore_deprecation():
++            self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++
++    def test_utc_aware_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(self.TIMESTAMP, datetime.timezone.utc)
++        )
++
++    def test_other_aware_datetime(self):
++        # Other timezones are ignored; the timezone is always printed as GMT
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone(datetime.timedelta(hours=-4))
++            )
++        )
+ 
+ 
+ # HTTPServerRequest is mainly tested incidentally to the server itself,
+diff --git a/tornado/test/locale_test.py b/tornado/test/locale_test.py
+index ee74cb05e8..a2e0872b8f 100644
+--- a/tornado/test/locale_test.py
++++ b/tornado/test/locale_test.py
+@@ -91,45 +91,55 @@ def test_format_date(self):
+             locale.format_date(date, full_format=True), "April 28, 2013 at 6:35 pm"
+         )
+ 
+-        now = datetime.datetime.utcnow()
+-
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(seconds=2), full_format=False),
+-            "2 seconds ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(minutes=2), full_format=False),
+-            "2 minutes ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(hours=2), full_format=False),
+-            "2 hours ago",
+-        )
+-
+-        self.assertEqual(
+-            locale.format_date(
+-                now - datetime.timedelta(days=1), full_format=False, shorter=True
+-            ),
+-            "yesterday",
+-        )
+-
+-        date = now - datetime.timedelta(days=2)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            locale._weekdays[date.weekday()],
+-        )
+-
+-        date = now - datetime.timedelta(days=300)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d" % (locale._months[date.month - 1], date.day),
+-        )
+-
+-        date = now - datetime.timedelta(days=500)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
+-        )
++        aware_dt = datetime.datetime.now(datetime.timezone.utc)
++        naive_dt = aware_dt.replace(tzinfo=None)
++        for name, now in {"aware": aware_dt, "naive": naive_dt}.items():
++            with self.subTest(dt=name):
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(seconds=2), full_format=False
++                    ),
++                    "2 seconds ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(minutes=2), full_format=False
++                    ),
++                    "2 minutes ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(hours=2), full_format=False
++                    ),
++                    "2 hours ago",
++                )
++
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(days=1),
++                        full_format=False,
++                        shorter=True,
++                    ),
++                    "yesterday",
++                )
++
++                date = now - datetime.timedelta(days=2)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    locale._weekdays[date.weekday()],
++                )
++
++                date = now - datetime.timedelta(days=300)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d" % (locale._months[date.month - 1], date.day),
++                )
++
++                date = now - datetime.timedelta(days=500)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
++                )
+ 
+     def test_friendly_number(self):
+         locale = tornado.locale.get("en_US")
+diff --git a/tornado/test/web_test.py b/tornado/test/web_test.py
+index 56900d9a00..fb9c3417b9 100644
+--- a/tornado/test/web_test.py
++++ b/tornado/test/web_test.py
+@@ -404,10 +404,10 @@ def test_set_cookie_expires_days(self):
+         match = re.match("foo=bar; expires=(?P<expires>.+); Path=/", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=10)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=10
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+     def test_set_cookie_false_flags(self):
+@@ -1697,11 +1697,10 @@ def get(self):
+ 
+     def test_date_header(self):
+         response = self.fetch("/")
+-        parsed = email.utils.parsedate(response.headers["Date"])
+-        assert parsed is not None
+-        header_date = datetime.datetime(*parsed[:6])
++        header_date = email.utils.parsedate_to_datetime(response.headers["Date"])
+         self.assertTrue(
+-            header_date - datetime.datetime.utcnow() < datetime.timedelta(seconds=2)
++            header_date - datetime.datetime.now(datetime.timezone.utc)
++            < datetime.timedelta(seconds=2)
+         )
+ 
+ 
+@@ -3010,10 +3009,12 @@ def test_xsrf_httponly(self):
+         match = re.match(".*; expires=(?P<expires>.+);.*", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=2)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=2
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
++        if header_expires.tzinfo is None:
++            header_expires = header_expires.replace(tzinfo=datetime.timezone.utc)
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+ 
+diff --git a/tornado/web.py b/tornado/web.py
+index 565140493e..439e02c47b 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -647,7 +647,9 @@ def set_cookie(
+         if domain:
+             morsel["domain"] = domain
+         if expires_days is not None and not expires:
+-            expires = datetime.datetime.utcnow() + datetime.timedelta(days=expires_days)
++            expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++                days=expires_days
++            )
+         if expires:
+             morsel["expires"] = httputil.format_timestamp(expires)
+         if path:
+@@ -698,7 +700,9 @@ def clear_cookie(self, name: str, **kwargs: Any) -> None:
+                 raise TypeError(
+                     f"clear_cookie() got an unexpected keyword argument '{excluded_arg}'"
+                 )
+-        expires = datetime.datetime.utcnow() - datetime.timedelta(days=365)
++        expires = datetime.datetime.now(datetime.timezone.utc) - datetime.timedelta(
++            days=365
++        )
+         self.set_cookie(name, value="", expires=expires, **kwargs)
+ 
+     def clear_all_cookies(self, **kwargs: Any) -> None:
+@@ -2812,12 +2816,12 @@ def should_return_304(self) -> bool:
+         # content has not been modified
+         ims_value = self.request.headers.get("If-Modified-Since")
+         if ims_value is not None:
+-            date_tuple = email.utils.parsedate(ims_value)
+-            if date_tuple is not None:
+-                if_since = datetime.datetime(*date_tuple[:6])
+-                assert self.modified is not None
+-                if if_since >= self.modified:
+-                    return True
++            if_since = email.utils.parsedate_to_datetime(ims_value)
++            if if_since.tzinfo is None:
++                if_since = if_since.replace(tzinfo=datetime.timezone.utc)
++            assert self.modified is not None
++            if if_since >= self.modified:
++                return True
+ 
+         return False
+ 
+@@ -2981,6 +2985,10 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         object or None.
+ 
+         .. versionadded:: 3.1
++
++        .. versionchanged:: 6.4
++           Now returns an aware datetime object instead of a naive one.
++           Subclasses that override this method may return either kind.
+         """
+         stat_result = self._stat()
+         # NOTE: Historically, this used stat_result[stat.ST_MTIME],
+@@ -2991,7 +2999,9 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         # consistency with the past (and because we have a unit test
+         # that relies on this), we truncate the float here, although
+         # I'm not sure that's the right thing to do.
+-        modified = datetime.datetime.utcfromtimestamp(int(stat_result.st_mtime))
++        modified = datetime.datetime.fromtimestamp(
++            int(stat_result.st_mtime), datetime.timezone.utc
++        )
+         return modified
+ 
+     def get_content_type(self) -> str:
diff --git a/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..23c210d12f689
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
@@ -0,0 +1,81 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3335
+
+From 0bfca3f2d72a0c6e5d3ba17caac88a79e7b4e0dd Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Tue, 3 Oct 2023 15:08:08 +0100
+Subject: [PATCH] remove calls to utcnow and utcfromtimestamp
+
+---
+ demos/blog/templates/feed.xml |  2 +-
+ demos/s3server/s3server.py    | 16 +++++++++++-----
+ tornado/web.py                |  3 ++-
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/demos/blog/templates/feed.xml b/demos/blog/templates/feed.xml
+index a98826c8d3..4a4a252f60 100644
+--- a/demos/blog/templates/feed.xml
++++ b/demos/blog/templates/feed.xml
+@@ -5,7 +5,7 @@
+   {% if len(entries) > 0 %}
+     <updated>{{ max(e.updated for e in entries).strftime(date_format) }}</updated>
+   {% else %}
+-    <updated>{{ datetime.datetime.utcnow().strftime(date_format) }}</updated>
++    <updated>{{ datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None).strftime(date_format) }}</updated>
+   {% end %}
+   <id>http://{{ request.host }}/</id>
+   <link rel="alternate" href="http://{{ request.host }}/" title="{{ handler.settings["blog_title"] }}" type="text/html"/>
+diff --git a/demos/s3server/s3server.py b/demos/s3server/s3server.py
+index 5c5e6af2ba..104a7c8f81 100644
+--- a/demos/s3server/s3server.py
++++ b/demos/s3server/s3server.py
+@@ -138,7 +138,9 @@ def get(self):
+             buckets.append(
+                 {
+                     "Name": name,
+-                    "CreationDate": datetime.datetime.utcfromtimestamp(info.st_ctime),
++                    "CreationDate": datetime.datetime.fromtimestamp(
++                        info.st_ctime, datetime.timezone.utc
++                    ).replace(tzinfo=None),
+                 }
+             )
+         self.render_xml({"ListAllMyBucketsResult": {"Buckets": {"Bucket": buckets}}})
+@@ -183,9 +185,10 @@ def get(self, bucket_name):
+                 info = os.stat(object_path)
+                 c.update(
+                     {
+-                        "LastModified": datetime.datetime.utcfromtimestamp(
+-                            info.st_mtime
+-                        ),
++                        "LastModified": datetime.datetime.fromtimestamp(
++                            info.st_mtime,
++                            datetime.timezone.utc,
++                        ).replace(tzinfo=None),
+                         "Size": info.st_size,
+                     }
+                 )
+@@ -231,7 +234,10 @@ def get(self, bucket, object_name):
+         info = os.stat(path)
+         self.set_header("Content-Type", "application/unknown")
+         self.set_header(
+-            "Last-Modified", datetime.datetime.utcfromtimestamp(info.st_mtime)
++            "Last-Modified",
++            datetime.datetime.fromtimestamp(
++                info.st_mtime, datetime.timezone.utc
++            ).replace(tzinfo=None),
+         )
+         with open(path, "rb") as object_file:
+             self.finish(object_file.read())
+diff --git a/tornado/web.py b/tornado/web.py
+index 333f736808..4416e2013e 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -2797,7 +2797,8 @@ def set_headers(self) -> None:
+         if cache_time > 0:
+             self.set_header(
+                 "Expires",
+-                datetime.datetime.utcnow() + datetime.timedelta(seconds=cache_time),
++                datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None)
++                + datetime.timedelta(seconds=cache_time),
+             )
+             self.set_header("Cache-Control", "max-age=" + str(cache_time))
+ 
diff --git a/srcpkgs/python3-tornado/template b/srcpkgs/python3-tornado/template
index 103c4cc4f099e..65bc0e55ac83e 100644
--- a/srcpkgs/python3-tornado/template
+++ b/srcpkgs/python3-tornado/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tornado'
 pkgname=python3-tornado
-version=6.3.2
-revision=2
+version=6.3.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="http://www.tornadoweb.org/"
 changelog="https://www.tornadoweb.org/en/stable/releases.html"
 distfiles="${PYPI_SITE}/t/tornado/tornado-${version}.tar.gz"
-checksum=4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba
+checksum=e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe
 
 do_check() {
 	# There is one instance of test_bind_source_ip (the one for

From f1db3cd0361b563655dec6948af499a4126c67fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 07/27] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 srcpkgs/python3-jupyter_core/update           |  3 +++
 3 files changed, 45 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..7f8a56d62bd96
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 092921c77a5d4..57af2b9eff989 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=3
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }
diff --git a/srcpkgs/python3-jupyter_core/update b/srcpkgs/python3-jupyter_core/update
index 25ef51d109a4f..a42c0d0b9f127 100644
--- a/srcpkgs/python3-jupyter_core/update
+++ b/srcpkgs/python3-jupyter_core/update
@@ -1 +1,4 @@
 ignore="*a* *b* *rc*"
+# 5.3.2 breaks jupyter_client
+# (https://github.com/jupyter/jupyter_core/pull/362)
+ignore+=" 5.3.2"

From 123a9bbcb0b39409186fb82d01e4c743ad8e7c47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 08/27] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From fbcc08f8ba2072de9af1160cb28edc3539a0bf2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 09/27] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 12c384639fe7f..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 3c6de7dd8cadd519ef41fb7e826461a72cd28972 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 10/27] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 059756289a09f..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From d9ac4194b8e98ca08f1fce53f19e3beb74f87264 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 11/27] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index 034398f8cadac..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From 97786034f2f7f53c28cab490b7805a1eafccd084 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 12/27] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 7c2c6425ade007551ed344c3dd62ab07a3a2dd0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 13/27] python3-jupyter_client: update to 8.3.1, adopt.

---
 .../patches/972-utcnow-deprecation.patch      | 149 ++++++++++++++++++
 srcpkgs/python3-jupyter_client/template       |  26 +--
 2 files changed, 165 insertions(+), 10 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch b/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..47563fbed9ecf
--- /dev/null
+++ b/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch
@@ -0,0 +1,149 @@
+Taken from https://github.com/jupyter/jupyter_client/pull/972/
+
+From 493366dd9e11736c32d32b1d84f5fa56d9ee74ab Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert@physics.uu.se>
+Date: Mon, 11 Sep 2023 06:37:16 +0200
+Subject: [PATCH 1/4] Do not use datetime.utcnow() that is deprecated in Python
+ 3.12
+
+Import session.utcnow() into utils instead of reimplementing it
+---
+ jupyter_client/session.py |  2 +-
+ jupyter_client/utils.py   | 34 +---------------------------------
+ 2 files changed, 2 insertions(+), 34 deletions(-)
+
+diff --git a/jupyter_client/session.py b/jupyter_client/session.py
+index ca9d9bbe..ee172d53 100644
+--- a/jupyter_client/session.py
++++ b/jupyter_client/session.py
+@@ -197,7 +197,7 @@ def default_secure(cfg: t.Any) -> None:  # pragma: no cover
+ 
+ def utcnow() -> datetime:
+     """Return timezone-aware UTC timestamp"""
+-    return datetime.utcnow().replace(tzinfo=utc)  # noqa
++    return datetime.now(utc)  # noqa
+ 
+ 
+ # -----------------------------------------------------------------------------
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index ab1cbcaa..4e2943c0 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -4,10 +4,10 @@
+ - vendor functions from ipython_genutils that should be retired at some point.
+ """
+ import os
+-from datetime import datetime, timedelta, tzinfo
+ 
+ from jupyter_core.utils import ensure_async, run_sync  # noqa: F401  # noqa: F401
+ 
++from .session import utcnow
+ 
+ def _filefind(filename, path_dirs=None):
+     """Find a file by looking through a sequence of paths.
+@@ -84,35 +84,3 @@ def _expand_path(s):
+     if os.name == "nt":
+         s = s.replace("IPYTHON_TEMP", "$\\")
+     return s
+-
+-
+-# constant for zero offset
+-ZERO = timedelta(0)
+-
+-
+-class tzUTC(tzinfo):  # noqa
+-    """tzinfo object for UTC (zero offset)"""
+-
+-    def utcoffset(self, d):
+-        """Compute utcoffset."""
+-        return ZERO
+-
+-    def dst(self, d):
+-        """Compute dst."""
+-        return ZERO
+-
+-
+-UTC = tzUTC()  # type:ignore
+-
+-
+-def utc_aware(unaware):
+-    """decorator for adding UTC tzinfo to datetime's utcfoo methods"""
+-
+-    def utc_method(*args, **kwargs):
+-        dt = unaware(*args, **kwargs)
+-        return dt.replace(tzinfo=UTC)
+-
+-    return utc_method
+-
+-
+-utcnow = utc_aware(datetime.utcnow)
+
+From 5468546499f5071171bcb8bccafe034837cc092d Mon Sep 17 00:00:00 2001
+From: "pre-commit-ci[bot]"
+ <66853113+pre-commit-ci[bot]@users.noreply.github.com>
+Date: Mon, 11 Sep 2023 04:44:48 +0000
+Subject: [PATCH 2/4] [pre-commit.ci] auto fixes from pre-commit.com hooks
+
+for more information, see https://pre-commit.ci
+---
+ jupyter_client/utils.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index 4e2943c0..0186a001 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -9,6 +9,7 @@
+ 
+ from .session import utcnow
+ 
++
+ def _filefind(filename, path_dirs=None):
+     """Find a file by looking through a sequence of paths.
+ 
+
+From d78c153d819fb3da3dc80f916747291b5200a302 Mon Sep 17 00:00:00 2001
+From: David Brochart <david.brochart@gmail.com>
+Date: Mon, 11 Sep 2023 09:22:41 +0200
+Subject: [PATCH 3/4] Remove unneeded noqa
+
+---
+ jupyter_client/session.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jupyter_client/session.py b/jupyter_client/session.py
+index ee172d53..e22c9d44 100644
+--- a/jupyter_client/session.py
++++ b/jupyter_client/session.py
+@@ -197,7 +197,7 @@ def default_secure(cfg: t.Any) -> None:  # pragma: no cover
+ 
+ def utcnow() -> datetime:
+     """Return timezone-aware UTC timestamp"""
+-    return datetime.now(utc)  # noqa
++    return datetime.now(utc)
+ 
+ 
+ # -----------------------------------------------------------------------------
+
+From 7ba40db1c6fb505e95df4cf4c3f9176661f2f270 Mon Sep 17 00:00:00 2001
+From: David Brochart <david.brochart@gmail.com>
+Date: Mon, 11 Sep 2023 09:22:57 +0200
+Subject: [PATCH 4/4] Add noqa
+
+---
+ jupyter_client/utils.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index 0186a001..9f1c38e9 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -7,7 +7,7 @@
+ 
+ from jupyter_core.utils import ensure_async, run_sync  # noqa: F401  # noqa: F401
+ 
+-from .session import utcnow
++from .session import utcnow  # noqa
+ 
+ 
+ def _filefind(filename, path_dirs=None):
diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 0cba01daca6f5..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
-revision=2
+version=8.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 92e21244b21a898d3579818380f6378cfb54facc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 14/27] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 41 +++++++++++++++-------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 68f4678ff2c9a..028b1aa989ba4 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,38 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
-revision=2
+version=6.25.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib
+ python3-PyQt5 python3-PyQt5-svg"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 744427d62ef5c110ce69a0afea8b2390fbc85f1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 15/27] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index 74dc055801347..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 3d780acc0a42438c50189e7607f57ed7738a8bf4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 16/27] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index 2b85205d4179e..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+version=0.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From 11368422621a3cadae9697c915f82f2777e9fdf6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 17/27] python3-mistune: update to 3.0.2, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index 6a448f5c78363..7630964cf1dd1 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8
 
 post_install() {
 	vlicense LICENSE

From 794a9c592a5164e440e2741cf02a00ec69797cd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 18/27] python3-jupyter_nbconvert: update to 7.9.2, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index 1ded2af967487..a580377d0f03f 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=3
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.9.2
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky python3-PyQt5"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=e56cc7588acc4f93e2bb5a34ec69028e4941797b2bfaf6462f18a41d1cc258c9
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	make_check_pre="env JUPYTER_DATA_DIR=${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From ca63fedb6124a4a765ec85078eb79e77468dbdda Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 19/27] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 6917e32eb83c377f944e7f9bd81369b3dce6b4f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 20/27] python3-jupyter_server: update to 2.7.3.

---
 .../patches/pytest-xdist.patch                | 38 ++++++++++++++++++
 .../patches/utcnow-deprecation.patch          | 39 ++++++++++++++++++
 srcpkgs/python3-jupyter_server/template       | 40 +++++++++++--------
 3 files changed, 101 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
 create mode 100644 srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
new file mode 100644
index 0000000000000..4b2c6976a3b4e
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
@@ -0,0 +1,38 @@
+commit 2dfc67655dd589948250c49c093bd25c4f08f77c
+Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
+Date:   Thu May 25 22:28:37 2023 -0300
+
+    Fix test param for pytest-xdist
+
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index fec747afe..8f7f8a463 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -362,15 +362,12 @@ def test_gateway_request_timeout_pad_option(
+     GatewayClient.clear_instance()
+ 
+ 
+-cookie_expire_time = format_datetime(datetime.now(tz=timezone.utc) + timedelta(seconds=180))
+-
+-
+ @pytest.mark.parametrize(
+     "accept_cookies,expire_arg,expire_param,existing_cookies,cookie_exists",
+     [
+         (False, None, None, "EXISTING=1", False),
+         (True, None, None, "EXISTING=1", True),
+-        (True, "Expires", cookie_expire_time, None, True),
++        (True, "Expires", 180, None, True),
+         (True, "Max-Age", "-360", "EXISTING=1", False),
+     ],
+ )
+@@ -389,6 +386,10 @@ def test_gateway_request_with_expiring_cookies(
+ 
+     cookie: SimpleCookie = SimpleCookie()
+     cookie.load("SERVERID=1234567; Path=/")
++    if expire_arg == "Expires":
++        expire_param = format_datetime(
++                datetime.now(tz=timezone.utc) +
++                timedelta(seconds=expire_param))
+     if expire_arg:
+         cookie["SERVERID"][expire_arg] = expire_param
+ 
diff --git a/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
new file mode 100644
index 0000000000000..e5f7a2af5b335
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
@@ -0,0 +1,39 @@
+See: https://github.com/jupyter-server/jupyter_server/issues/1296#issuecomment-1751887150
+
+--- a/jupyter_server/_tz.py
++++ b/jupyter_server/_tz.py
+@@ -5,7 +5,7 @@ Just UTC-awareness right now
+ """
+ # Copyright (c) Jupyter Development Team.
+ # Distributed under the terms of the Modified BSD License.
+-from datetime import datetime, timedelta, tzinfo
++from datetime import datetime, timedelta, tzinfo, timezone
+ 
+ # constant for zero offset
+ ZERO = timedelta(0)
+@@ -39,6 +39,12 @@ def utc_aware(unaware):
+ utcfromtimestamp = utc_aware(datetime.utcfromtimestamp)
+ utcnow = utc_aware(datetime.utcnow)
+ 
++def utcnow() -> datetime:
++    """ Return timezone-aware UTC timestamp"""
++    return datetime.now(timezone.utc)
++
++def utcfromtimestamp(timestamp):
++    return datetime.fromtimestamp(timestamp, timezone.utc)
+ 
+ def isoformat(dt):
+     """Return iso-formatted timestamp
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index 8f7f8a463..598006e29 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -78,7 +78,7 @@ omitted_kernels: Dict[str, bool] = {}
+ 
+ def generate_model(name):
+     """Generate a mocked kernel model.  Caller is responsible for adding model to running_kernels dictionary."""
+-    dt = datetime.utcnow().isoformat() + "Z"  # noqa
++    dt = datetime.now(timezone.utc).isoformat().replace("+00:00", "Z")  # noqa
+     kernel_id = str(uuid.uuid4())
+     model = {
+         "id": kernel_id,
diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 8b1cf9fe7c569..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+version=2.7.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From 000ff797e1307036340a1c1761859a2af1ddf5c6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 21/27] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 490564a7fb8e9..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
-revision=2
+version=0.2.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 6609d774ab0b1eb5077ae98dc8932e0df381f9a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 22/27] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 81fb183100692..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+version=1.0.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From f1cf604f8a498e23ec8449658bb30baa128d01cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 23/27] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 36 ++++++++++++++++------
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index 41f51c913ebb0..a5e452e9d6c81 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,34 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# tests setup fails on CI (no idea why)
+	make_check_args="-p no:unraisableexception"
+fi
+
+do_check() {
+	# test_translation_api.py needs to run in a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
 	vlicense LICENSE

From 03844e55992b3e33f6af8019c84daf3f62985354 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 24/27] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/files/jupyterlab.sh |  1 -
 srcpkgs/jupyterlab/template            | 22 +++++++++++-----------
 2 files changed, 11 insertions(+), 12 deletions(-)
 delete mode 100644 srcpkgs/jupyterlab/files/jupyterlab.sh

diff --git a/srcpkgs/jupyterlab/files/jupyterlab.sh b/srcpkgs/jupyterlab/files/jupyterlab.sh
deleted file mode 100644
index a90f35521b9c2..0000000000000
--- a/srcpkgs/jupyterlab/files/jupyterlab.sh
+++ /dev/null
@@ -1 +0,0 @@
-export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index b7159e5a0311b..360a41f3a5b26 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,22 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
 	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From bc89f0b405ab6fa01b0a1c9e29426d5cd0b1b099 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 25/27] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 6aafbbba6d7cb..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 34e566cad4cbfcb135e073e9507419bc46964ded Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 26/27] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 31 +++++++++++++++---------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 9bbbb0488d400..2af1e4875ca39 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+version=6.6.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (pexpect gets ": 5" instead of the
+	# expected "Out[1]: 5" causing a timeout)
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 40004d1ffb36f10c07be45da0fd9028946a3cfe9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 27/27] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index e3ffc5eb87dec..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (24 preceding siblings ...)
  2023-10-09 21:31 ` tornaria
@ 2023-10-09 21:31 ` tornaria
  2023-10-09 21:41 ` [PR PATCH] [Updated] " tornaria
                   ` (11 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-09 21:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 179 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1753914399

Comment:
This is now updated for python 3.12.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (25 preceding siblings ...)
  2023-10-09 21:31 ` tornaria
@ 2023-10-09 21:41 ` tornaria
  2023-10-09 22:11 ` tornaria
                   ` (10 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-09 21:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 85915 bytes --]

From 4cbd0121fe02e8c3c8d591f8b0e0336cda9e1986 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/27] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index a77d479475365..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 52116a2379442e2afae1efdf5519039bcceeb113 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/27] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 2e07727855022..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
-revision=2
+version=0.1.4
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-traitlets"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From c716956c18ca3044c1f40f059d70fb4e8b03d2cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/27] python3-traitlets: update to 5.11.2.

---
 srcpkgs/python3-traitlets/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 0949220e9ae0b..f48119dadca32 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
-revision=2
+version=5.11.2
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=7564b5bf8d38c40fa45498072bf4dc5e8346eb087bbf1e2ae2d8774f6a0f078e
 
 post_install() {
 	vlicense LICENSE

From 69dec4368791880838dd0c7c46e5191b17ec4907 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 29 Sep 2023 22:50:26 -0300
Subject: [PATCH 04/27] python3-QtPy: update to 2.4.0, adopt.

---
 srcpkgs/python3-QtPy/patches/fix-test.patch | 11 +++++++
 srcpkgs/python3-QtPy/template               | 36 +++++++++++----------
 2 files changed, 30 insertions(+), 17 deletions(-)
 create mode 100644 srcpkgs/python3-QtPy/patches/fix-test.patch

diff --git a/srcpkgs/python3-QtPy/patches/fix-test.patch b/srcpkgs/python3-QtPy/patches/fix-test.patch
new file mode 100644
index 0000000000000..23987e260c928
--- /dev/null
+++ b/srcpkgs/python3-QtPy/patches/fix-test.patch
@@ -0,0 +1,11 @@
+--- a/qtpy/tests/test_main.py	2023-08-29 13:07:50.000000000 -0300
++++ b/qtpy/tests/test_main.py	2023-09-29 22:04:52.945280612 -0300
+@@ -115,7 +115,7 @@
+     pytest.importorskip(mod, reason=f"Requires {api}")
+     # clean env
+     env = os.environ.copy()
+-    for key in ("QT_API", "USE_QT_API"):
++    for key in ("QT_API", "USE_QT_API", "FORCE_QT_API"):
+         if key in env:
+             del env[key]
+     cmd = f"""
diff --git a/srcpkgs/python3-QtPy/template b/srcpkgs/python3-QtPy/template
index 10563bde6b23d..4f545f6a6e4df 100644
--- a/srcpkgs/python3-QtPy/template
+++ b/srcpkgs/python3-QtPy/template
@@ -1,36 +1,38 @@
 # Template file for 'python3-QtPy'
 pkgname=python3-QtPy
-version=2.3.1
+version=2.4.0
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 # depends on either of PyQt5, PyQt6
 depends="python3"
-# Packages common to both PyQt5 and PyQt6
-_qtcommon="python3-PyQt5-sql python3-PyQt5-svg python3-PyQt5-webengine
- python3-PyQt5-websockets python3-PyQt5-multimedia python3-PyQt5-tools"
-checkdepends="python3-pytest python3-mock python3-pyqt6-declarative
- python3-pyqt6-widgets python3-pyqt6-gui python3-pyqt6-opengl-widgets
- python3-pyqt6-printsupport python3-pyqt6-network python3-pyqt6-devel-tools
- python3-pyqt6-test python3-pyqt6-webchannel python3-pyqt6-xml
- qt6-plugin-sqlite python3-PyQt5-quick python3-PyQt5-xmlpatterns
- python3-PyQt5-location python3-PyQt5-opengl qt5-plugin-sqlite ${_qtcommon}
- ${_qtcommon//PyQt5/pyqt6}"
+# check dependencies common to both PyQt5 and PyQt6
+_qtcommon=":connectivity :multimedia :sensors :serialport :sql :svg :tools
+ :webchannel :webengine :websockets"
+# check dependencies only for PyQt5
+_qt5check="${_qtcommon} :location :opengl :quick :x11extras :xmlpatterns
+ qt5-plugin-sqlite"
+# check dependencies only for PyQt6
+_qt6check="${_qtcommon} :dbus :declarative :devel-tools :gui :network
+ :opengl-widgets :printsupport :quick3d :remoteobjects :test :widgets :xml
+ qt6-plugin-sqlite"
+checkdepends="python3-pytest-cov python3-pytest-qt font-liberation-ttf
+ ${_qt5check//:/python3-PyQt5-} ${_qt6check//:/python3-pyqt6-}"
 short_desc="Abstraction layer on top of various Python Qt bindings"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="MIT"
 homepage="https://github.com/spyder-ide/qtpy"
+changelog="https://raw.githubusercontent.com/spyder-ide/qtpy/master/CHANGELOG.md"
 distfiles="${PYPI_SITE}/Q/QtPy/QtPy-${version}.tar.gz"
-checksum=a8c74982d6d172ce124d80cafd39653df78989683f760f2281ba91a6e7b9de8b
+checksum=db2d508167aa6106781565c8da5c6f1487debacba33519cedc35fa8997d424d4
 
 do_check() {
 	local qtapi
 
-	rm -f pytest.ini
-
 	for qtapi in pyqt5 pyqt6; do
-		CI=1 USE_QT_API="${qtapi}" QT_API="${qtapi}" \
-		python3 -m pytest -k 'not test_qttexttospeech' qtpy/tests
+		msg_normal "... running pytest with QT_API=$qtapi\n"
+		FORCE_QT_API=1 QT_API="${qtapi}" \
+		python3 -m pytest -k 'not test_qttexttospeech'
 	done
 }
 

From 05448d241d58b1c1ba6fcc5c007b4b1657ece05a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 14:23:56 -0300
Subject: [PATCH 05/27] python3-dateutil: fix deprecation warning

---
 .../avoid-deprecated-utcfromtimestamp.patch   | 25 +++++++++++++++++++
 srcpkgs/python3-dateutil/template             |  2 +-
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch

diff --git a/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
new file mode 100644
index 0000000000000..9ac4acc89947d
--- /dev/null
+++ b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
@@ -0,0 +1,25 @@
+Taken from https://github.com/dateutil/dateutil/pull/1285
+
+From f2293200747fb03d56c6c5997bfebeabe703576f Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Fri, 2 Jun 2023 14:06:41 +0100
+Subject: [PATCH 1/2] avoid deprecated utcfromtimestamp
+
+Fixes #1284
+---
+ src/dateutil/tz/tz.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/dateutil/tz/tz.py b/src/dateutil/tz/tz.py
+index c67f56d46..617591446 100644
+--- a/dateutil/tz/tz.py
++++ b/dateutil/tz/tz.py
+@@ -34,7 +34,7 @@
+ from warnings import warn
+ 
+ ZERO = datetime.timedelta(0)
+-EPOCH = datetime.datetime.utcfromtimestamp(0)
++EPOCH = datetime.datetime(1970, 1, 1, 0, 0)
+ EPOCHORDINAL = EPOCH.toordinal()
+ 
+ 
diff --git a/srcpkgs/python3-dateutil/template b/srcpkgs/python3-dateutil/template
index 1d86829608a45..c5b2ad5b03e6e 100644
--- a/srcpkgs/python3-dateutil/template
+++ b/srcpkgs/python3-dateutil/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-dateutil'
 pkgname=python3-dateutil
 version=2.8.2
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools_scm"
 depends="python3-six tzdata"

From 8dd5ff13bea0c6528b728ad5f6f86f4a6c94aed6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 22:11:00 -0300
Subject: [PATCH 06/27] python3-tornado: update to 6.3.3.

---
 .../patches/3288-utcnow-deprecation.patch     | 378 ++++++++++++++++++
 .../patches/3335-utcnow-deprecation.patch     |  81 ++++
 srcpkgs/python3-tornado/template              |   6 +-
 3 files changed, 462 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
 create mode 100644 srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..19e7ff9714e5d
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
@@ -0,0 +1,378 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3288
+
+From 4d4d80c1d076dcb4e051c969ae4b66557d3856b8 Mon Sep 17 00:00:00 2001
+From: Ben Darnell <ben@bendarnell.com>
+Date: Thu, 8 Jun 2023 22:52:19 -0400
+Subject: [PATCH] *: Adapt to deprecation of datetime utc methods
+
+Python 3.12 deprecates the utcnow and utcfromtimestamp methods and
+discourages the use of naive datetimes to represent UTC. This was
+previously the main way that Tornado used datetimes (since it was
+the only option available in Python 2 before the introduction
+of datetime.timezone.utc in Python 3.2).
+
+- httpclient_test: Test-only change to test that both kinds of datetimes
+  are supported in If-Modified-Since (this just calls
+  httputil.format_timestamp)
+- httputil: No functional changes, but format_timestamp's
+  support for both naive and aware datetimes is now tested.
+- locale: format_timestamp now supports aware datetimes (in
+  addition to the existing support for naive datetimes).
+- web: Cookie expirations internally use aware datetimes.
+  StaticFileHandler.get_modified_time now supports both and the
+  standard implementation returns aware.
+
+It feels fragile that "naive" and "aware" datetimes are not distinct
+types but subject to data-dependent behavior. This change uses
+"aware" datetimes throughout Tornado, but some operations (comparisons
+and subtraction) fail with mixed datetime types and if I missed any
+in this change may cause errors if naive datetimes were used (where
+previously naive datetimes would have been required). But that's
+apparently the API we have to work with.
+---
+ tornado/httputil.py             |  3 +-
+ tornado/locale.py               | 12 +++--
+ tornado/test/httpclient_test.py | 12 ++++-
+ tornado/test/httputil_test.py   | 26 +++++++++-
+ tornado/test/locale_test.py     | 88 ++++++++++++++++++---------------
+ tornado/test/web_test.py        | 25 +++++-----
+ tornado/web.py                  | 28 +++++++----
+ 7 files changed, 126 insertions(+), 68 deletions(-)
+
+diff --git a/tornado/httputil.py b/tornado/httputil.py
+index 9c341d47cc..b21d8046c4 100644
+--- a/tornado/httputil.py
++++ b/tornado/httputil.py
+@@ -856,7 +856,8 @@ def format_timestamp(
+ 
+     The argument may be a numeric timestamp as returned by `time.time`,
+     a time tuple as returned by `time.gmtime`, or a `datetime.datetime`
+-    object.
++    object. Naive `datetime.datetime` objects are assumed to represent
++    UTC; aware objects are converted to UTC before formatting.
+ 
+     >>> format_timestamp(1359312200)
+     'Sun, 27 Jan 2013 18:43:20 GMT'
+diff --git a/tornado/locale.py b/tornado/locale.py
+index 55072af28d..c5526703b1 100644
+--- a/tornado/locale.py
++++ b/tornado/locale.py
+@@ -333,7 +333,7 @@ def format_date(
+         shorter: bool = False,
+         full_format: bool = False,
+     ) -> str:
+-        """Formats the given date (which should be GMT).
++        """Formats the given date.
+ 
+         By default, we return a relative time (e.g., "2 minutes ago"). You
+         can return an absolute date string with ``relative=False``.
+@@ -343,10 +343,16 @@ def format_date(
+ 
+         This method is primarily intended for dates in the past.
+         For dates in the future, we fall back to full format.
++
++        .. versionchanged:: 6.4
++           Aware `datetime.datetime` objects are now supported (naive
++           datetimes are still assumed to be UTC).
+         """
+         if isinstance(date, (int, float)):
+-            date = datetime.datetime.utcfromtimestamp(date)
+-        now = datetime.datetime.utcnow()
++            date = datetime.datetime.fromtimestamp(date, datetime.timezone.utc)
++        if date.tzinfo is None:
++            date = date.replace(tzinfo=datetime.timezone.utc)
++        now = datetime.datetime.now(datetime.timezone.utc)
+         if date > now:
+             if relative and (date - now).seconds < 60:
+                 # Due to click skew, things are some things slightly
+diff --git a/tornado/test/httpclient_test.py b/tornado/test/httpclient_test.py
+index a71ec0afb6..a41040e64a 100644
+--- a/tornado/test/httpclient_test.py
++++ b/tornado/test/httpclient_test.py
+@@ -28,7 +28,7 @@
+ from tornado.log import gen_log, app_log
+ from tornado import netutil
+ from tornado.testing import AsyncHTTPTestCase, bind_unused_port, gen_test, ExpectLog
+-from tornado.test.util import skipOnTravis
++from tornado.test.util import skipOnTravis, ignore_deprecation
+ from tornado.web import Application, RequestHandler, url
+ from tornado.httputil import format_timestamp, HTTPHeaders
+ 
+@@ -887,7 +887,15 @@ def test_body_setter(self):
+         self.assertEqual(request.body, utf8("foo"))
+ 
+     def test_if_modified_since(self):
+-        http_date = datetime.datetime.utcnow()
++        http_date = datetime.datetime.now(datetime.timezone.utc)
++        request = HTTPRequest("http://example.com", if_modified_since=http_date)
++        self.assertEqual(
++            request.headers, {"If-Modified-Since": format_timestamp(http_date)}
++        )
++
++    def test_if_modified_since_naive_deprecated(self):
++        with ignore_deprecation():
++            http_date = datetime.datetime.utcnow()
+         request = HTTPRequest("http://example.com", if_modified_since=http_date)
+         self.assertEqual(
+             request.headers, {"If-Modified-Since": format_timestamp(http_date)}
+diff --git a/tornado/test/httputil_test.py b/tornado/test/httputil_test.py
+index 8424491d87..aa9b6ee253 100644
+--- a/tornado/test/httputil_test.py
++++ b/tornado/test/httputil_test.py
+@@ -13,6 +13,7 @@
+ from tornado.escape import utf8, native_str
+ from tornado.log import gen_log
+ from tornado.testing import ExpectLog
++from tornado.test.util import ignore_deprecation
+ 
+ import copy
+ import datetime
+@@ -412,8 +413,29 @@ def test_time_tuple(self):
+         self.assertEqual(9, len(tup))
+         self.check(tup)
+ 
+-    def test_datetime(self):
+-        self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++    def test_utc_naive_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone.utc
++            ).replace(tzinfo=None)
++        )
++
++    def test_utc_naive_datetime_deprecated(self):
++        with ignore_deprecation():
++            self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++
++    def test_utc_aware_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(self.TIMESTAMP, datetime.timezone.utc)
++        )
++
++    def test_other_aware_datetime(self):
++        # Other timezones are ignored; the timezone is always printed as GMT
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone(datetime.timedelta(hours=-4))
++            )
++        )
+ 
+ 
+ # HTTPServerRequest is mainly tested incidentally to the server itself,
+diff --git a/tornado/test/locale_test.py b/tornado/test/locale_test.py
+index ee74cb05e8..a2e0872b8f 100644
+--- a/tornado/test/locale_test.py
++++ b/tornado/test/locale_test.py
+@@ -91,45 +91,55 @@ def test_format_date(self):
+             locale.format_date(date, full_format=True), "April 28, 2013 at 6:35 pm"
+         )
+ 
+-        now = datetime.datetime.utcnow()
+-
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(seconds=2), full_format=False),
+-            "2 seconds ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(minutes=2), full_format=False),
+-            "2 minutes ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(hours=2), full_format=False),
+-            "2 hours ago",
+-        )
+-
+-        self.assertEqual(
+-            locale.format_date(
+-                now - datetime.timedelta(days=1), full_format=False, shorter=True
+-            ),
+-            "yesterday",
+-        )
+-
+-        date = now - datetime.timedelta(days=2)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            locale._weekdays[date.weekday()],
+-        )
+-
+-        date = now - datetime.timedelta(days=300)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d" % (locale._months[date.month - 1], date.day),
+-        )
+-
+-        date = now - datetime.timedelta(days=500)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
+-        )
++        aware_dt = datetime.datetime.now(datetime.timezone.utc)
++        naive_dt = aware_dt.replace(tzinfo=None)
++        for name, now in {"aware": aware_dt, "naive": naive_dt}.items():
++            with self.subTest(dt=name):
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(seconds=2), full_format=False
++                    ),
++                    "2 seconds ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(minutes=2), full_format=False
++                    ),
++                    "2 minutes ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(hours=2), full_format=False
++                    ),
++                    "2 hours ago",
++                )
++
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(days=1),
++                        full_format=False,
++                        shorter=True,
++                    ),
++                    "yesterday",
++                )
++
++                date = now - datetime.timedelta(days=2)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    locale._weekdays[date.weekday()],
++                )
++
++                date = now - datetime.timedelta(days=300)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d" % (locale._months[date.month - 1], date.day),
++                )
++
++                date = now - datetime.timedelta(days=500)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
++                )
+ 
+     def test_friendly_number(self):
+         locale = tornado.locale.get("en_US")
+diff --git a/tornado/test/web_test.py b/tornado/test/web_test.py
+index 56900d9a00..fb9c3417b9 100644
+--- a/tornado/test/web_test.py
++++ b/tornado/test/web_test.py
+@@ -404,10 +404,10 @@ def test_set_cookie_expires_days(self):
+         match = re.match("foo=bar; expires=(?P<expires>.+); Path=/", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=10)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=10
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+     def test_set_cookie_false_flags(self):
+@@ -1697,11 +1697,10 @@ def get(self):
+ 
+     def test_date_header(self):
+         response = self.fetch("/")
+-        parsed = email.utils.parsedate(response.headers["Date"])
+-        assert parsed is not None
+-        header_date = datetime.datetime(*parsed[:6])
++        header_date = email.utils.parsedate_to_datetime(response.headers["Date"])
+         self.assertTrue(
+-            header_date - datetime.datetime.utcnow() < datetime.timedelta(seconds=2)
++            header_date - datetime.datetime.now(datetime.timezone.utc)
++            < datetime.timedelta(seconds=2)
+         )
+ 
+ 
+@@ -3010,10 +3009,12 @@ def test_xsrf_httponly(self):
+         match = re.match(".*; expires=(?P<expires>.+);.*", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=2)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=2
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
++        if header_expires.tzinfo is None:
++            header_expires = header_expires.replace(tzinfo=datetime.timezone.utc)
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+ 
+diff --git a/tornado/web.py b/tornado/web.py
+index 565140493e..439e02c47b 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -647,7 +647,9 @@ def set_cookie(
+         if domain:
+             morsel["domain"] = domain
+         if expires_days is not None and not expires:
+-            expires = datetime.datetime.utcnow() + datetime.timedelta(days=expires_days)
++            expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++                days=expires_days
++            )
+         if expires:
+             morsel["expires"] = httputil.format_timestamp(expires)
+         if path:
+@@ -698,7 +700,9 @@ def clear_cookie(self, name: str, **kwargs: Any) -> None:
+                 raise TypeError(
+                     f"clear_cookie() got an unexpected keyword argument '{excluded_arg}'"
+                 )
+-        expires = datetime.datetime.utcnow() - datetime.timedelta(days=365)
++        expires = datetime.datetime.now(datetime.timezone.utc) - datetime.timedelta(
++            days=365
++        )
+         self.set_cookie(name, value="", expires=expires, **kwargs)
+ 
+     def clear_all_cookies(self, **kwargs: Any) -> None:
+@@ -2812,12 +2816,12 @@ def should_return_304(self) -> bool:
+         # content has not been modified
+         ims_value = self.request.headers.get("If-Modified-Since")
+         if ims_value is not None:
+-            date_tuple = email.utils.parsedate(ims_value)
+-            if date_tuple is not None:
+-                if_since = datetime.datetime(*date_tuple[:6])
+-                assert self.modified is not None
+-                if if_since >= self.modified:
+-                    return True
++            if_since = email.utils.parsedate_to_datetime(ims_value)
++            if if_since.tzinfo is None:
++                if_since = if_since.replace(tzinfo=datetime.timezone.utc)
++            assert self.modified is not None
++            if if_since >= self.modified:
++                return True
+ 
+         return False
+ 
+@@ -2981,6 +2985,10 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         object or None.
+ 
+         .. versionadded:: 3.1
++
++        .. versionchanged:: 6.4
++           Now returns an aware datetime object instead of a naive one.
++           Subclasses that override this method may return either kind.
+         """
+         stat_result = self._stat()
+         # NOTE: Historically, this used stat_result[stat.ST_MTIME],
+@@ -2991,7 +2999,9 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         # consistency with the past (and because we have a unit test
+         # that relies on this), we truncate the float here, although
+         # I'm not sure that's the right thing to do.
+-        modified = datetime.datetime.utcfromtimestamp(int(stat_result.st_mtime))
++        modified = datetime.datetime.fromtimestamp(
++            int(stat_result.st_mtime), datetime.timezone.utc
++        )
+         return modified
+ 
+     def get_content_type(self) -> str:
diff --git a/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..23c210d12f689
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
@@ -0,0 +1,81 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3335
+
+From 0bfca3f2d72a0c6e5d3ba17caac88a79e7b4e0dd Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Tue, 3 Oct 2023 15:08:08 +0100
+Subject: [PATCH] remove calls to utcnow and utcfromtimestamp
+
+---
+ demos/blog/templates/feed.xml |  2 +-
+ demos/s3server/s3server.py    | 16 +++++++++++-----
+ tornado/web.py                |  3 ++-
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/demos/blog/templates/feed.xml b/demos/blog/templates/feed.xml
+index a98826c8d3..4a4a252f60 100644
+--- a/demos/blog/templates/feed.xml
++++ b/demos/blog/templates/feed.xml
+@@ -5,7 +5,7 @@
+   {% if len(entries) > 0 %}
+     <updated>{{ max(e.updated for e in entries).strftime(date_format) }}</updated>
+   {% else %}
+-    <updated>{{ datetime.datetime.utcnow().strftime(date_format) }}</updated>
++    <updated>{{ datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None).strftime(date_format) }}</updated>
+   {% end %}
+   <id>http://{{ request.host }}/</id>
+   <link rel="alternate" href="http://{{ request.host }}/" title="{{ handler.settings["blog_title"] }}" type="text/html"/>
+diff --git a/demos/s3server/s3server.py b/demos/s3server/s3server.py
+index 5c5e6af2ba..104a7c8f81 100644
+--- a/demos/s3server/s3server.py
++++ b/demos/s3server/s3server.py
+@@ -138,7 +138,9 @@ def get(self):
+             buckets.append(
+                 {
+                     "Name": name,
+-                    "CreationDate": datetime.datetime.utcfromtimestamp(info.st_ctime),
++                    "CreationDate": datetime.datetime.fromtimestamp(
++                        info.st_ctime, datetime.timezone.utc
++                    ).replace(tzinfo=None),
+                 }
+             )
+         self.render_xml({"ListAllMyBucketsResult": {"Buckets": {"Bucket": buckets}}})
+@@ -183,9 +185,10 @@ def get(self, bucket_name):
+                 info = os.stat(object_path)
+                 c.update(
+                     {
+-                        "LastModified": datetime.datetime.utcfromtimestamp(
+-                            info.st_mtime
+-                        ),
++                        "LastModified": datetime.datetime.fromtimestamp(
++                            info.st_mtime,
++                            datetime.timezone.utc,
++                        ).replace(tzinfo=None),
+                         "Size": info.st_size,
+                     }
+                 )
+@@ -231,7 +234,10 @@ def get(self, bucket, object_name):
+         info = os.stat(path)
+         self.set_header("Content-Type", "application/unknown")
+         self.set_header(
+-            "Last-Modified", datetime.datetime.utcfromtimestamp(info.st_mtime)
++            "Last-Modified",
++            datetime.datetime.fromtimestamp(
++                info.st_mtime, datetime.timezone.utc
++            ).replace(tzinfo=None),
+         )
+         with open(path, "rb") as object_file:
+             self.finish(object_file.read())
+diff --git a/tornado/web.py b/tornado/web.py
+index 333f736808..4416e2013e 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -2797,7 +2797,8 @@ def set_headers(self) -> None:
+         if cache_time > 0:
+             self.set_header(
+                 "Expires",
+-                datetime.datetime.utcnow() + datetime.timedelta(seconds=cache_time),
++                datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None)
++                + datetime.timedelta(seconds=cache_time),
+             )
+             self.set_header("Cache-Control", "max-age=" + str(cache_time))
+ 
diff --git a/srcpkgs/python3-tornado/template b/srcpkgs/python3-tornado/template
index 103c4cc4f099e..65bc0e55ac83e 100644
--- a/srcpkgs/python3-tornado/template
+++ b/srcpkgs/python3-tornado/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tornado'
 pkgname=python3-tornado
-version=6.3.2
-revision=2
+version=6.3.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="http://www.tornadoweb.org/"
 changelog="https://www.tornadoweb.org/en/stable/releases.html"
 distfiles="${PYPI_SITE}/t/tornado/tornado-${version}.tar.gz"
-checksum=4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba
+checksum=e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe
 
 do_check() {
 	# There is one instance of test_bind_source_ip (the one for

From f1db3cd0361b563655dec6948af499a4126c67fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 07/27] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 srcpkgs/python3-jupyter_core/update           |  3 +++
 3 files changed, 45 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..7f8a56d62bd96
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 092921c77a5d4..57af2b9eff989 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=3
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }
diff --git a/srcpkgs/python3-jupyter_core/update b/srcpkgs/python3-jupyter_core/update
index 25ef51d109a4f..a42c0d0b9f127 100644
--- a/srcpkgs/python3-jupyter_core/update
+++ b/srcpkgs/python3-jupyter_core/update
@@ -1 +1,4 @@
 ignore="*a* *b* *rc*"
+# 5.3.2 breaks jupyter_client
+# (https://github.com/jupyter/jupyter_core/pull/362)
+ignore+=" 5.3.2"

From 123a9bbcb0b39409186fb82d01e4c743ad8e7c47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 08/27] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From fbcc08f8ba2072de9af1160cb28edc3539a0bf2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 09/27] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 12c384639fe7f..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 3c6de7dd8cadd519ef41fb7e826461a72cd28972 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 10/27] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 059756289a09f..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From d9ac4194b8e98ca08f1fce53f19e3beb74f87264 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 11/27] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index 034398f8cadac..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From 97786034f2f7f53c28cab490b7805a1eafccd084 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 12/27] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 7c2c6425ade007551ed344c3dd62ab07a3a2dd0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 13/27] python3-jupyter_client: update to 8.3.1, adopt.

---
 .../patches/972-utcnow-deprecation.patch      | 149 ++++++++++++++++++
 srcpkgs/python3-jupyter_client/template       |  26 +--
 2 files changed, 165 insertions(+), 10 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch b/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..47563fbed9ecf
--- /dev/null
+++ b/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch
@@ -0,0 +1,149 @@
+Taken from https://github.com/jupyter/jupyter_client/pull/972/
+
+From 493366dd9e11736c32d32b1d84f5fa56d9ee74ab Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert@physics.uu.se>
+Date: Mon, 11 Sep 2023 06:37:16 +0200
+Subject: [PATCH 1/4] Do not use datetime.utcnow() that is deprecated in Python
+ 3.12
+
+Import session.utcnow() into utils instead of reimplementing it
+---
+ jupyter_client/session.py |  2 +-
+ jupyter_client/utils.py   | 34 +---------------------------------
+ 2 files changed, 2 insertions(+), 34 deletions(-)
+
+diff --git a/jupyter_client/session.py b/jupyter_client/session.py
+index ca9d9bbe..ee172d53 100644
+--- a/jupyter_client/session.py
++++ b/jupyter_client/session.py
+@@ -197,7 +197,7 @@ def default_secure(cfg: t.Any) -> None:  # pragma: no cover
+ 
+ def utcnow() -> datetime:
+     """Return timezone-aware UTC timestamp"""
+-    return datetime.utcnow().replace(tzinfo=utc)  # noqa
++    return datetime.now(utc)  # noqa
+ 
+ 
+ # -----------------------------------------------------------------------------
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index ab1cbcaa..4e2943c0 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -4,10 +4,10 @@
+ - vendor functions from ipython_genutils that should be retired at some point.
+ """
+ import os
+-from datetime import datetime, timedelta, tzinfo
+ 
+ from jupyter_core.utils import ensure_async, run_sync  # noqa: F401  # noqa: F401
+ 
++from .session import utcnow
+ 
+ def _filefind(filename, path_dirs=None):
+     """Find a file by looking through a sequence of paths.
+@@ -84,35 +84,3 @@ def _expand_path(s):
+     if os.name == "nt":
+         s = s.replace("IPYTHON_TEMP", "$\\")
+     return s
+-
+-
+-# constant for zero offset
+-ZERO = timedelta(0)
+-
+-
+-class tzUTC(tzinfo):  # noqa
+-    """tzinfo object for UTC (zero offset)"""
+-
+-    def utcoffset(self, d):
+-        """Compute utcoffset."""
+-        return ZERO
+-
+-    def dst(self, d):
+-        """Compute dst."""
+-        return ZERO
+-
+-
+-UTC = tzUTC()  # type:ignore
+-
+-
+-def utc_aware(unaware):
+-    """decorator for adding UTC tzinfo to datetime's utcfoo methods"""
+-
+-    def utc_method(*args, **kwargs):
+-        dt = unaware(*args, **kwargs)
+-        return dt.replace(tzinfo=UTC)
+-
+-    return utc_method
+-
+-
+-utcnow = utc_aware(datetime.utcnow)
+
+From 5468546499f5071171bcb8bccafe034837cc092d Mon Sep 17 00:00:00 2001
+From: "pre-commit-ci[bot]"
+ <66853113+pre-commit-ci[bot]@users.noreply.github.com>
+Date: Mon, 11 Sep 2023 04:44:48 +0000
+Subject: [PATCH 2/4] [pre-commit.ci] auto fixes from pre-commit.com hooks
+
+for more information, see https://pre-commit.ci
+---
+ jupyter_client/utils.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index 4e2943c0..0186a001 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -9,6 +9,7 @@
+ 
+ from .session import utcnow
+ 
++
+ def _filefind(filename, path_dirs=None):
+     """Find a file by looking through a sequence of paths.
+ 
+
+From d78c153d819fb3da3dc80f916747291b5200a302 Mon Sep 17 00:00:00 2001
+From: David Brochart <david.brochart@gmail.com>
+Date: Mon, 11 Sep 2023 09:22:41 +0200
+Subject: [PATCH 3/4] Remove unneeded noqa
+
+---
+ jupyter_client/session.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jupyter_client/session.py b/jupyter_client/session.py
+index ee172d53..e22c9d44 100644
+--- a/jupyter_client/session.py
++++ b/jupyter_client/session.py
+@@ -197,7 +197,7 @@ def default_secure(cfg: t.Any) -> None:  # pragma: no cover
+ 
+ def utcnow() -> datetime:
+     """Return timezone-aware UTC timestamp"""
+-    return datetime.now(utc)  # noqa
++    return datetime.now(utc)
+ 
+ 
+ # -----------------------------------------------------------------------------
+
+From 7ba40db1c6fb505e95df4cf4c3f9176661f2f270 Mon Sep 17 00:00:00 2001
+From: David Brochart <david.brochart@gmail.com>
+Date: Mon, 11 Sep 2023 09:22:57 +0200
+Subject: [PATCH 4/4] Add noqa
+
+---
+ jupyter_client/utils.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index 0186a001..9f1c38e9 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -7,7 +7,7 @@
+ 
+ from jupyter_core.utils import ensure_async, run_sync  # noqa: F401  # noqa: F401
+ 
+-from .session import utcnow
++from .session import utcnow  # noqa
+ 
+ 
+ def _filefind(filename, path_dirs=None):
diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 0cba01daca6f5..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
-revision=2
+version=8.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 92e21244b21a898d3579818380f6378cfb54facc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 14/27] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 41 +++++++++++++++-------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 68f4678ff2c9a..028b1aa989ba4 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,38 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
-revision=2
+version=6.25.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib
+ python3-PyQt5 python3-PyQt5-svg"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 744427d62ef5c110ce69a0afea8b2390fbc85f1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 15/27] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index 74dc055801347..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 3d780acc0a42438c50189e7607f57ed7738a8bf4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 16/27] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index 2b85205d4179e..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+version=0.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From 11368422621a3cadae9697c915f82f2777e9fdf6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 17/27] python3-mistune: update to 3.0.2, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index 6a448f5c78363..7630964cf1dd1 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8
 
 post_install() {
 	vlicense LICENSE

From 794a9c592a5164e440e2741cf02a00ec69797cd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 18/27] python3-jupyter_nbconvert: update to 7.9.2, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index 1ded2af967487..a580377d0f03f 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=3
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.9.2
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky python3-PyQt5"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=e56cc7588acc4f93e2bb5a34ec69028e4941797b2bfaf6462f18a41d1cc258c9
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	make_check_pre="env JUPYTER_DATA_DIR=${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From ca63fedb6124a4a765ec85078eb79e77468dbdda Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 19/27] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 6917e32eb83c377f944e7f9bd81369b3dce6b4f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 20/27] python3-jupyter_server: update to 2.7.3.

---
 .../patches/pytest-xdist.patch                | 38 ++++++++++++++++++
 .../patches/utcnow-deprecation.patch          | 39 ++++++++++++++++++
 srcpkgs/python3-jupyter_server/template       | 40 +++++++++++--------
 3 files changed, 101 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
 create mode 100644 srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
new file mode 100644
index 0000000000000..4b2c6976a3b4e
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
@@ -0,0 +1,38 @@
+commit 2dfc67655dd589948250c49c093bd25c4f08f77c
+Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
+Date:   Thu May 25 22:28:37 2023 -0300
+
+    Fix test param for pytest-xdist
+
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index fec747afe..8f7f8a463 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -362,15 +362,12 @@ def test_gateway_request_timeout_pad_option(
+     GatewayClient.clear_instance()
+ 
+ 
+-cookie_expire_time = format_datetime(datetime.now(tz=timezone.utc) + timedelta(seconds=180))
+-
+-
+ @pytest.mark.parametrize(
+     "accept_cookies,expire_arg,expire_param,existing_cookies,cookie_exists",
+     [
+         (False, None, None, "EXISTING=1", False),
+         (True, None, None, "EXISTING=1", True),
+-        (True, "Expires", cookie_expire_time, None, True),
++        (True, "Expires", 180, None, True),
+         (True, "Max-Age", "-360", "EXISTING=1", False),
+     ],
+ )
+@@ -389,6 +386,10 @@ def test_gateway_request_with_expiring_cookies(
+ 
+     cookie: SimpleCookie = SimpleCookie()
+     cookie.load("SERVERID=1234567; Path=/")
++    if expire_arg == "Expires":
++        expire_param = format_datetime(
++                datetime.now(tz=timezone.utc) +
++                timedelta(seconds=expire_param))
+     if expire_arg:
+         cookie["SERVERID"][expire_arg] = expire_param
+ 
diff --git a/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
new file mode 100644
index 0000000000000..e5f7a2af5b335
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
@@ -0,0 +1,39 @@
+See: https://github.com/jupyter-server/jupyter_server/issues/1296#issuecomment-1751887150
+
+--- a/jupyter_server/_tz.py
++++ b/jupyter_server/_tz.py
+@@ -5,7 +5,7 @@ Just UTC-awareness right now
+ """
+ # Copyright (c) Jupyter Development Team.
+ # Distributed under the terms of the Modified BSD License.
+-from datetime import datetime, timedelta, tzinfo
++from datetime import datetime, timedelta, tzinfo, timezone
+ 
+ # constant for zero offset
+ ZERO = timedelta(0)
+@@ -39,6 +39,12 @@ def utc_aware(unaware):
+ utcfromtimestamp = utc_aware(datetime.utcfromtimestamp)
+ utcnow = utc_aware(datetime.utcnow)
+ 
++def utcnow() -> datetime:
++    """ Return timezone-aware UTC timestamp"""
++    return datetime.now(timezone.utc)
++
++def utcfromtimestamp(timestamp):
++    return datetime.fromtimestamp(timestamp, timezone.utc)
+ 
+ def isoformat(dt):
+     """Return iso-formatted timestamp
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index 8f7f8a463..598006e29 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -78,7 +78,7 @@ omitted_kernels: Dict[str, bool] = {}
+ 
+ def generate_model(name):
+     """Generate a mocked kernel model.  Caller is responsible for adding model to running_kernels dictionary."""
+-    dt = datetime.utcnow().isoformat() + "Z"  # noqa
++    dt = datetime.now(timezone.utc).isoformat().replace("+00:00", "Z")  # noqa
+     kernel_id = str(uuid.uuid4())
+     model = {
+         "id": kernel_id,
diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 8b1cf9fe7c569..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+version=2.7.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From 000ff797e1307036340a1c1761859a2af1ddf5c6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 21/27] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 490564a7fb8e9..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
-revision=2
+version=0.2.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 6609d774ab0b1eb5077ae98dc8932e0df381f9a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 22/27] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 81fb183100692..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+version=1.0.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From f1cf604f8a498e23ec8449658bb30baa128d01cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 23/27] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 36 ++++++++++++++++------
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index 41f51c913ebb0..a5e452e9d6c81 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,34 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# tests setup fails on CI (no idea why)
+	make_check_args="-p no:unraisableexception"
+fi
+
+do_check() {
+	# test_translation_api.py needs to run in a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
 	vlicense LICENSE

From 8e711fcd1ff75e2b595439d199c91a61fca0eb88 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 24/27] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/files/jupyterlab.sh |  1 -
 srcpkgs/jupyterlab/template            | 23 +++++++++++------------
 2 files changed, 11 insertions(+), 13 deletions(-)
 delete mode 100644 srcpkgs/jupyterlab/files/jupyterlab.sh

diff --git a/srcpkgs/jupyterlab/files/jupyterlab.sh b/srcpkgs/jupyterlab/files/jupyterlab.sh
deleted file mode 100644
index a90f35521b9c2..0000000000000
--- a/srcpkgs/jupyterlab/files/jupyterlab.sh
+++ /dev/null
@@ -1 +0,0 @@
-export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index b7159e5a0311b..22b4a953e00c5 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,21 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From 40266c330725af62abc8fe461e5373a14c3976c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 25/27] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 6aafbbba6d7cb..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 586cc0113638ab8c8c77864d46281af8cd7ed395 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 26/27] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 31 +++++++++++++++---------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 9bbbb0488d400..2af1e4875ca39 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+version=6.6.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (pexpect gets ": 5" instead of the
+	# expected "Out[1]: 5" causing a timeout)
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From acd3c2c0e6c814c3da1779d738010a9619aa7a1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 27/27] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index e3ffc5eb87dec..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (26 preceding siblings ...)
  2023-10-09 21:41 ` [PR PATCH] [Updated] " tornaria
@ 2023-10-09 22:11 ` tornaria
  2023-10-09 22:31 ` dkwo
                   ` (9 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-09 22:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 85934 bytes --]

From 4cbd0121fe02e8c3c8d591f8b0e0336cda9e1986 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/27] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index a77d479475365..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 52116a2379442e2afae1efdf5519039bcceeb113 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/27] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 2e07727855022..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
-revision=2
+version=0.1.4
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-traitlets"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From c716956c18ca3044c1f40f059d70fb4e8b03d2cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/27] python3-traitlets: update to 5.11.2.

---
 srcpkgs/python3-traitlets/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 0949220e9ae0b..f48119dadca32 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
-revision=2
+version=5.11.2
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=7564b5bf8d38c40fa45498072bf4dc5e8346eb087bbf1e2ae2d8774f6a0f078e
 
 post_install() {
 	vlicense LICENSE

From 69dec4368791880838dd0c7c46e5191b17ec4907 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 29 Sep 2023 22:50:26 -0300
Subject: [PATCH 04/27] python3-QtPy: update to 2.4.0, adopt.

---
 srcpkgs/python3-QtPy/patches/fix-test.patch | 11 +++++++
 srcpkgs/python3-QtPy/template               | 36 +++++++++++----------
 2 files changed, 30 insertions(+), 17 deletions(-)
 create mode 100644 srcpkgs/python3-QtPy/patches/fix-test.patch

diff --git a/srcpkgs/python3-QtPy/patches/fix-test.patch b/srcpkgs/python3-QtPy/patches/fix-test.patch
new file mode 100644
index 0000000000000..23987e260c928
--- /dev/null
+++ b/srcpkgs/python3-QtPy/patches/fix-test.patch
@@ -0,0 +1,11 @@
+--- a/qtpy/tests/test_main.py	2023-08-29 13:07:50.000000000 -0300
++++ b/qtpy/tests/test_main.py	2023-09-29 22:04:52.945280612 -0300
+@@ -115,7 +115,7 @@
+     pytest.importorskip(mod, reason=f"Requires {api}")
+     # clean env
+     env = os.environ.copy()
+-    for key in ("QT_API", "USE_QT_API"):
++    for key in ("QT_API", "USE_QT_API", "FORCE_QT_API"):
+         if key in env:
+             del env[key]
+     cmd = f"""
diff --git a/srcpkgs/python3-QtPy/template b/srcpkgs/python3-QtPy/template
index 10563bde6b23d..4f545f6a6e4df 100644
--- a/srcpkgs/python3-QtPy/template
+++ b/srcpkgs/python3-QtPy/template
@@ -1,36 +1,38 @@
 # Template file for 'python3-QtPy'
 pkgname=python3-QtPy
-version=2.3.1
+version=2.4.0
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 # depends on either of PyQt5, PyQt6
 depends="python3"
-# Packages common to both PyQt5 and PyQt6
-_qtcommon="python3-PyQt5-sql python3-PyQt5-svg python3-PyQt5-webengine
- python3-PyQt5-websockets python3-PyQt5-multimedia python3-PyQt5-tools"
-checkdepends="python3-pytest python3-mock python3-pyqt6-declarative
- python3-pyqt6-widgets python3-pyqt6-gui python3-pyqt6-opengl-widgets
- python3-pyqt6-printsupport python3-pyqt6-network python3-pyqt6-devel-tools
- python3-pyqt6-test python3-pyqt6-webchannel python3-pyqt6-xml
- qt6-plugin-sqlite python3-PyQt5-quick python3-PyQt5-xmlpatterns
- python3-PyQt5-location python3-PyQt5-opengl qt5-plugin-sqlite ${_qtcommon}
- ${_qtcommon//PyQt5/pyqt6}"
+# check dependencies common to both PyQt5 and PyQt6
+_qtcommon=":connectivity :multimedia :sensors :serialport :sql :svg :tools
+ :webchannel :webengine :websockets"
+# check dependencies only for PyQt5
+_qt5check="${_qtcommon} :location :opengl :quick :x11extras :xmlpatterns
+ qt5-plugin-sqlite"
+# check dependencies only for PyQt6
+_qt6check="${_qtcommon} :dbus :declarative :devel-tools :gui :network
+ :opengl-widgets :printsupport :quick3d :remoteobjects :test :widgets :xml
+ qt6-plugin-sqlite"
+checkdepends="python3-pytest-cov python3-pytest-qt font-liberation-ttf
+ ${_qt5check//:/python3-PyQt5-} ${_qt6check//:/python3-pyqt6-}"
 short_desc="Abstraction layer on top of various Python Qt bindings"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="MIT"
 homepage="https://github.com/spyder-ide/qtpy"
+changelog="https://raw.githubusercontent.com/spyder-ide/qtpy/master/CHANGELOG.md"
 distfiles="${PYPI_SITE}/Q/QtPy/QtPy-${version}.tar.gz"
-checksum=a8c74982d6d172ce124d80cafd39653df78989683f760f2281ba91a6e7b9de8b
+checksum=db2d508167aa6106781565c8da5c6f1487debacba33519cedc35fa8997d424d4
 
 do_check() {
 	local qtapi
 
-	rm -f pytest.ini
-
 	for qtapi in pyqt5 pyqt6; do
-		CI=1 USE_QT_API="${qtapi}" QT_API="${qtapi}" \
-		python3 -m pytest -k 'not test_qttexttospeech' qtpy/tests
+		msg_normal "... running pytest with QT_API=$qtapi\n"
+		FORCE_QT_API=1 QT_API="${qtapi}" \
+		python3 -m pytest -k 'not test_qttexttospeech'
 	done
 }
 

From 05448d241d58b1c1ba6fcc5c007b4b1657ece05a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 14:23:56 -0300
Subject: [PATCH 05/27] python3-dateutil: fix deprecation warning

---
 .../avoid-deprecated-utcfromtimestamp.patch   | 25 +++++++++++++++++++
 srcpkgs/python3-dateutil/template             |  2 +-
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch

diff --git a/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
new file mode 100644
index 0000000000000..9ac4acc89947d
--- /dev/null
+++ b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
@@ -0,0 +1,25 @@
+Taken from https://github.com/dateutil/dateutil/pull/1285
+
+From f2293200747fb03d56c6c5997bfebeabe703576f Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Fri, 2 Jun 2023 14:06:41 +0100
+Subject: [PATCH 1/2] avoid deprecated utcfromtimestamp
+
+Fixes #1284
+---
+ src/dateutil/tz/tz.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/dateutil/tz/tz.py b/src/dateutil/tz/tz.py
+index c67f56d46..617591446 100644
+--- a/dateutil/tz/tz.py
++++ b/dateutil/tz/tz.py
+@@ -34,7 +34,7 @@
+ from warnings import warn
+ 
+ ZERO = datetime.timedelta(0)
+-EPOCH = datetime.datetime.utcfromtimestamp(0)
++EPOCH = datetime.datetime(1970, 1, 1, 0, 0)
+ EPOCHORDINAL = EPOCH.toordinal()
+ 
+ 
diff --git a/srcpkgs/python3-dateutil/template b/srcpkgs/python3-dateutil/template
index 1d86829608a45..c5b2ad5b03e6e 100644
--- a/srcpkgs/python3-dateutil/template
+++ b/srcpkgs/python3-dateutil/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-dateutil'
 pkgname=python3-dateutil
 version=2.8.2
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools_scm"
 depends="python3-six tzdata"

From 8dd5ff13bea0c6528b728ad5f6f86f4a6c94aed6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 22:11:00 -0300
Subject: [PATCH 06/27] python3-tornado: update to 6.3.3.

---
 .../patches/3288-utcnow-deprecation.patch     | 378 ++++++++++++++++++
 .../patches/3335-utcnow-deprecation.patch     |  81 ++++
 srcpkgs/python3-tornado/template              |   6 +-
 3 files changed, 462 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
 create mode 100644 srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..19e7ff9714e5d
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
@@ -0,0 +1,378 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3288
+
+From 4d4d80c1d076dcb4e051c969ae4b66557d3856b8 Mon Sep 17 00:00:00 2001
+From: Ben Darnell <ben@bendarnell.com>
+Date: Thu, 8 Jun 2023 22:52:19 -0400
+Subject: [PATCH] *: Adapt to deprecation of datetime utc methods
+
+Python 3.12 deprecates the utcnow and utcfromtimestamp methods and
+discourages the use of naive datetimes to represent UTC. This was
+previously the main way that Tornado used datetimes (since it was
+the only option available in Python 2 before the introduction
+of datetime.timezone.utc in Python 3.2).
+
+- httpclient_test: Test-only change to test that both kinds of datetimes
+  are supported in If-Modified-Since (this just calls
+  httputil.format_timestamp)
+- httputil: No functional changes, but format_timestamp's
+  support for both naive and aware datetimes is now tested.
+- locale: format_timestamp now supports aware datetimes (in
+  addition to the existing support for naive datetimes).
+- web: Cookie expirations internally use aware datetimes.
+  StaticFileHandler.get_modified_time now supports both and the
+  standard implementation returns aware.
+
+It feels fragile that "naive" and "aware" datetimes are not distinct
+types but subject to data-dependent behavior. This change uses
+"aware" datetimes throughout Tornado, but some operations (comparisons
+and subtraction) fail with mixed datetime types and if I missed any
+in this change may cause errors if naive datetimes were used (where
+previously naive datetimes would have been required). But that's
+apparently the API we have to work with.
+---
+ tornado/httputil.py             |  3 +-
+ tornado/locale.py               | 12 +++--
+ tornado/test/httpclient_test.py | 12 ++++-
+ tornado/test/httputil_test.py   | 26 +++++++++-
+ tornado/test/locale_test.py     | 88 ++++++++++++++++++---------------
+ tornado/test/web_test.py        | 25 +++++-----
+ tornado/web.py                  | 28 +++++++----
+ 7 files changed, 126 insertions(+), 68 deletions(-)
+
+diff --git a/tornado/httputil.py b/tornado/httputil.py
+index 9c341d47cc..b21d8046c4 100644
+--- a/tornado/httputil.py
++++ b/tornado/httputil.py
+@@ -856,7 +856,8 @@ def format_timestamp(
+ 
+     The argument may be a numeric timestamp as returned by `time.time`,
+     a time tuple as returned by `time.gmtime`, or a `datetime.datetime`
+-    object.
++    object. Naive `datetime.datetime` objects are assumed to represent
++    UTC; aware objects are converted to UTC before formatting.
+ 
+     >>> format_timestamp(1359312200)
+     'Sun, 27 Jan 2013 18:43:20 GMT'
+diff --git a/tornado/locale.py b/tornado/locale.py
+index 55072af28d..c5526703b1 100644
+--- a/tornado/locale.py
++++ b/tornado/locale.py
+@@ -333,7 +333,7 @@ def format_date(
+         shorter: bool = False,
+         full_format: bool = False,
+     ) -> str:
+-        """Formats the given date (which should be GMT).
++        """Formats the given date.
+ 
+         By default, we return a relative time (e.g., "2 minutes ago"). You
+         can return an absolute date string with ``relative=False``.
+@@ -343,10 +343,16 @@ def format_date(
+ 
+         This method is primarily intended for dates in the past.
+         For dates in the future, we fall back to full format.
++
++        .. versionchanged:: 6.4
++           Aware `datetime.datetime` objects are now supported (naive
++           datetimes are still assumed to be UTC).
+         """
+         if isinstance(date, (int, float)):
+-            date = datetime.datetime.utcfromtimestamp(date)
+-        now = datetime.datetime.utcnow()
++            date = datetime.datetime.fromtimestamp(date, datetime.timezone.utc)
++        if date.tzinfo is None:
++            date = date.replace(tzinfo=datetime.timezone.utc)
++        now = datetime.datetime.now(datetime.timezone.utc)
+         if date > now:
+             if relative and (date - now).seconds < 60:
+                 # Due to click skew, things are some things slightly
+diff --git a/tornado/test/httpclient_test.py b/tornado/test/httpclient_test.py
+index a71ec0afb6..a41040e64a 100644
+--- a/tornado/test/httpclient_test.py
++++ b/tornado/test/httpclient_test.py
+@@ -28,7 +28,7 @@
+ from tornado.log import gen_log, app_log
+ from tornado import netutil
+ from tornado.testing import AsyncHTTPTestCase, bind_unused_port, gen_test, ExpectLog
+-from tornado.test.util import skipOnTravis
++from tornado.test.util import skipOnTravis, ignore_deprecation
+ from tornado.web import Application, RequestHandler, url
+ from tornado.httputil import format_timestamp, HTTPHeaders
+ 
+@@ -887,7 +887,15 @@ def test_body_setter(self):
+         self.assertEqual(request.body, utf8("foo"))
+ 
+     def test_if_modified_since(self):
+-        http_date = datetime.datetime.utcnow()
++        http_date = datetime.datetime.now(datetime.timezone.utc)
++        request = HTTPRequest("http://example.com", if_modified_since=http_date)
++        self.assertEqual(
++            request.headers, {"If-Modified-Since": format_timestamp(http_date)}
++        )
++
++    def test_if_modified_since_naive_deprecated(self):
++        with ignore_deprecation():
++            http_date = datetime.datetime.utcnow()
+         request = HTTPRequest("http://example.com", if_modified_since=http_date)
+         self.assertEqual(
+             request.headers, {"If-Modified-Since": format_timestamp(http_date)}
+diff --git a/tornado/test/httputil_test.py b/tornado/test/httputil_test.py
+index 8424491d87..aa9b6ee253 100644
+--- a/tornado/test/httputil_test.py
++++ b/tornado/test/httputil_test.py
+@@ -13,6 +13,7 @@
+ from tornado.escape import utf8, native_str
+ from tornado.log import gen_log
+ from tornado.testing import ExpectLog
++from tornado.test.util import ignore_deprecation
+ 
+ import copy
+ import datetime
+@@ -412,8 +413,29 @@ def test_time_tuple(self):
+         self.assertEqual(9, len(tup))
+         self.check(tup)
+ 
+-    def test_datetime(self):
+-        self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++    def test_utc_naive_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone.utc
++            ).replace(tzinfo=None)
++        )
++
++    def test_utc_naive_datetime_deprecated(self):
++        with ignore_deprecation():
++            self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++
++    def test_utc_aware_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(self.TIMESTAMP, datetime.timezone.utc)
++        )
++
++    def test_other_aware_datetime(self):
++        # Other timezones are ignored; the timezone is always printed as GMT
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone(datetime.timedelta(hours=-4))
++            )
++        )
+ 
+ 
+ # HTTPServerRequest is mainly tested incidentally to the server itself,
+diff --git a/tornado/test/locale_test.py b/tornado/test/locale_test.py
+index ee74cb05e8..a2e0872b8f 100644
+--- a/tornado/test/locale_test.py
++++ b/tornado/test/locale_test.py
+@@ -91,45 +91,55 @@ def test_format_date(self):
+             locale.format_date(date, full_format=True), "April 28, 2013 at 6:35 pm"
+         )
+ 
+-        now = datetime.datetime.utcnow()
+-
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(seconds=2), full_format=False),
+-            "2 seconds ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(minutes=2), full_format=False),
+-            "2 minutes ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(hours=2), full_format=False),
+-            "2 hours ago",
+-        )
+-
+-        self.assertEqual(
+-            locale.format_date(
+-                now - datetime.timedelta(days=1), full_format=False, shorter=True
+-            ),
+-            "yesterday",
+-        )
+-
+-        date = now - datetime.timedelta(days=2)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            locale._weekdays[date.weekday()],
+-        )
+-
+-        date = now - datetime.timedelta(days=300)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d" % (locale._months[date.month - 1], date.day),
+-        )
+-
+-        date = now - datetime.timedelta(days=500)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
+-        )
++        aware_dt = datetime.datetime.now(datetime.timezone.utc)
++        naive_dt = aware_dt.replace(tzinfo=None)
++        for name, now in {"aware": aware_dt, "naive": naive_dt}.items():
++            with self.subTest(dt=name):
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(seconds=2), full_format=False
++                    ),
++                    "2 seconds ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(minutes=2), full_format=False
++                    ),
++                    "2 minutes ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(hours=2), full_format=False
++                    ),
++                    "2 hours ago",
++                )
++
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(days=1),
++                        full_format=False,
++                        shorter=True,
++                    ),
++                    "yesterday",
++                )
++
++                date = now - datetime.timedelta(days=2)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    locale._weekdays[date.weekday()],
++                )
++
++                date = now - datetime.timedelta(days=300)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d" % (locale._months[date.month - 1], date.day),
++                )
++
++                date = now - datetime.timedelta(days=500)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
++                )
+ 
+     def test_friendly_number(self):
+         locale = tornado.locale.get("en_US")
+diff --git a/tornado/test/web_test.py b/tornado/test/web_test.py
+index 56900d9a00..fb9c3417b9 100644
+--- a/tornado/test/web_test.py
++++ b/tornado/test/web_test.py
+@@ -404,10 +404,10 @@ def test_set_cookie_expires_days(self):
+         match = re.match("foo=bar; expires=(?P<expires>.+); Path=/", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=10)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=10
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+     def test_set_cookie_false_flags(self):
+@@ -1697,11 +1697,10 @@ def get(self):
+ 
+     def test_date_header(self):
+         response = self.fetch("/")
+-        parsed = email.utils.parsedate(response.headers["Date"])
+-        assert parsed is not None
+-        header_date = datetime.datetime(*parsed[:6])
++        header_date = email.utils.parsedate_to_datetime(response.headers["Date"])
+         self.assertTrue(
+-            header_date - datetime.datetime.utcnow() < datetime.timedelta(seconds=2)
++            header_date - datetime.datetime.now(datetime.timezone.utc)
++            < datetime.timedelta(seconds=2)
+         )
+ 
+ 
+@@ -3010,10 +3009,12 @@ def test_xsrf_httponly(self):
+         match = re.match(".*; expires=(?P<expires>.+);.*", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=2)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=2
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
++        if header_expires.tzinfo is None:
++            header_expires = header_expires.replace(tzinfo=datetime.timezone.utc)
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+ 
+diff --git a/tornado/web.py b/tornado/web.py
+index 565140493e..439e02c47b 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -647,7 +647,9 @@ def set_cookie(
+         if domain:
+             morsel["domain"] = domain
+         if expires_days is not None and not expires:
+-            expires = datetime.datetime.utcnow() + datetime.timedelta(days=expires_days)
++            expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++                days=expires_days
++            )
+         if expires:
+             morsel["expires"] = httputil.format_timestamp(expires)
+         if path:
+@@ -698,7 +700,9 @@ def clear_cookie(self, name: str, **kwargs: Any) -> None:
+                 raise TypeError(
+                     f"clear_cookie() got an unexpected keyword argument '{excluded_arg}'"
+                 )
+-        expires = datetime.datetime.utcnow() - datetime.timedelta(days=365)
++        expires = datetime.datetime.now(datetime.timezone.utc) - datetime.timedelta(
++            days=365
++        )
+         self.set_cookie(name, value="", expires=expires, **kwargs)
+ 
+     def clear_all_cookies(self, **kwargs: Any) -> None:
+@@ -2812,12 +2816,12 @@ def should_return_304(self) -> bool:
+         # content has not been modified
+         ims_value = self.request.headers.get("If-Modified-Since")
+         if ims_value is not None:
+-            date_tuple = email.utils.parsedate(ims_value)
+-            if date_tuple is not None:
+-                if_since = datetime.datetime(*date_tuple[:6])
+-                assert self.modified is not None
+-                if if_since >= self.modified:
+-                    return True
++            if_since = email.utils.parsedate_to_datetime(ims_value)
++            if if_since.tzinfo is None:
++                if_since = if_since.replace(tzinfo=datetime.timezone.utc)
++            assert self.modified is not None
++            if if_since >= self.modified:
++                return True
+ 
+         return False
+ 
+@@ -2981,6 +2985,10 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         object or None.
+ 
+         .. versionadded:: 3.1
++
++        .. versionchanged:: 6.4
++           Now returns an aware datetime object instead of a naive one.
++           Subclasses that override this method may return either kind.
+         """
+         stat_result = self._stat()
+         # NOTE: Historically, this used stat_result[stat.ST_MTIME],
+@@ -2991,7 +2999,9 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         # consistency with the past (and because we have a unit test
+         # that relies on this), we truncate the float here, although
+         # I'm not sure that's the right thing to do.
+-        modified = datetime.datetime.utcfromtimestamp(int(stat_result.st_mtime))
++        modified = datetime.datetime.fromtimestamp(
++            int(stat_result.st_mtime), datetime.timezone.utc
++        )
+         return modified
+ 
+     def get_content_type(self) -> str:
diff --git a/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..23c210d12f689
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
@@ -0,0 +1,81 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3335
+
+From 0bfca3f2d72a0c6e5d3ba17caac88a79e7b4e0dd Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Tue, 3 Oct 2023 15:08:08 +0100
+Subject: [PATCH] remove calls to utcnow and utcfromtimestamp
+
+---
+ demos/blog/templates/feed.xml |  2 +-
+ demos/s3server/s3server.py    | 16 +++++++++++-----
+ tornado/web.py                |  3 ++-
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/demos/blog/templates/feed.xml b/demos/blog/templates/feed.xml
+index a98826c8d3..4a4a252f60 100644
+--- a/demos/blog/templates/feed.xml
++++ b/demos/blog/templates/feed.xml
+@@ -5,7 +5,7 @@
+   {% if len(entries) > 0 %}
+     <updated>{{ max(e.updated for e in entries).strftime(date_format) }}</updated>
+   {% else %}
+-    <updated>{{ datetime.datetime.utcnow().strftime(date_format) }}</updated>
++    <updated>{{ datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None).strftime(date_format) }}</updated>
+   {% end %}
+   <id>http://{{ request.host }}/</id>
+   <link rel="alternate" href="http://{{ request.host }}/" title="{{ handler.settings["blog_title"] }}" type="text/html"/>
+diff --git a/demos/s3server/s3server.py b/demos/s3server/s3server.py
+index 5c5e6af2ba..104a7c8f81 100644
+--- a/demos/s3server/s3server.py
++++ b/demos/s3server/s3server.py
+@@ -138,7 +138,9 @@ def get(self):
+             buckets.append(
+                 {
+                     "Name": name,
+-                    "CreationDate": datetime.datetime.utcfromtimestamp(info.st_ctime),
++                    "CreationDate": datetime.datetime.fromtimestamp(
++                        info.st_ctime, datetime.timezone.utc
++                    ).replace(tzinfo=None),
+                 }
+             )
+         self.render_xml({"ListAllMyBucketsResult": {"Buckets": {"Bucket": buckets}}})
+@@ -183,9 +185,10 @@ def get(self, bucket_name):
+                 info = os.stat(object_path)
+                 c.update(
+                     {
+-                        "LastModified": datetime.datetime.utcfromtimestamp(
+-                            info.st_mtime
+-                        ),
++                        "LastModified": datetime.datetime.fromtimestamp(
++                            info.st_mtime,
++                            datetime.timezone.utc,
++                        ).replace(tzinfo=None),
+                         "Size": info.st_size,
+                     }
+                 )
+@@ -231,7 +234,10 @@ def get(self, bucket, object_name):
+         info = os.stat(path)
+         self.set_header("Content-Type", "application/unknown")
+         self.set_header(
+-            "Last-Modified", datetime.datetime.utcfromtimestamp(info.st_mtime)
++            "Last-Modified",
++            datetime.datetime.fromtimestamp(
++                info.st_mtime, datetime.timezone.utc
++            ).replace(tzinfo=None),
+         )
+         with open(path, "rb") as object_file:
+             self.finish(object_file.read())
+diff --git a/tornado/web.py b/tornado/web.py
+index 333f736808..4416e2013e 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -2797,7 +2797,8 @@ def set_headers(self) -> None:
+         if cache_time > 0:
+             self.set_header(
+                 "Expires",
+-                datetime.datetime.utcnow() + datetime.timedelta(seconds=cache_time),
++                datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None)
++                + datetime.timedelta(seconds=cache_time),
+             )
+             self.set_header("Cache-Control", "max-age=" + str(cache_time))
+ 
diff --git a/srcpkgs/python3-tornado/template b/srcpkgs/python3-tornado/template
index 103c4cc4f099e..65bc0e55ac83e 100644
--- a/srcpkgs/python3-tornado/template
+++ b/srcpkgs/python3-tornado/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tornado'
 pkgname=python3-tornado
-version=6.3.2
-revision=2
+version=6.3.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="http://www.tornadoweb.org/"
 changelog="https://www.tornadoweb.org/en/stable/releases.html"
 distfiles="${PYPI_SITE}/t/tornado/tornado-${version}.tar.gz"
-checksum=4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba
+checksum=e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe
 
 do_check() {
 	# There is one instance of test_bind_source_ip (the one for

From f1db3cd0361b563655dec6948af499a4126c67fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 07/27] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 srcpkgs/python3-jupyter_core/update           |  3 +++
 3 files changed, 45 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..7f8a56d62bd96
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 092921c77a5d4..57af2b9eff989 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=3
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }
diff --git a/srcpkgs/python3-jupyter_core/update b/srcpkgs/python3-jupyter_core/update
index 25ef51d109a4f..a42c0d0b9f127 100644
--- a/srcpkgs/python3-jupyter_core/update
+++ b/srcpkgs/python3-jupyter_core/update
@@ -1 +1,4 @@
 ignore="*a* *b* *rc*"
+# 5.3.2 breaks jupyter_client
+# (https://github.com/jupyter/jupyter_core/pull/362)
+ignore+=" 5.3.2"

From 123a9bbcb0b39409186fb82d01e4c743ad8e7c47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 08/27] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From fbcc08f8ba2072de9af1160cb28edc3539a0bf2e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 09/27] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 12c384639fe7f..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 3c6de7dd8cadd519ef41fb7e826461a72cd28972 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 10/27] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 059756289a09f..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From d9ac4194b8e98ca08f1fce53f19e3beb74f87264 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 11/27] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index 034398f8cadac..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From 97786034f2f7f53c28cab490b7805a1eafccd084 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 12/27] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 7c2c6425ade007551ed344c3dd62ab07a3a2dd0d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 13/27] python3-jupyter_client: update to 8.3.1, adopt.

---
 .../patches/972-utcnow-deprecation.patch      | 149 ++++++++++++++++++
 srcpkgs/python3-jupyter_client/template       |  26 +--
 2 files changed, 165 insertions(+), 10 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch b/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..47563fbed9ecf
--- /dev/null
+++ b/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch
@@ -0,0 +1,149 @@
+Taken from https://github.com/jupyter/jupyter_client/pull/972/
+
+From 493366dd9e11736c32d32b1d84f5fa56d9ee74ab Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert@physics.uu.se>
+Date: Mon, 11 Sep 2023 06:37:16 +0200
+Subject: [PATCH 1/4] Do not use datetime.utcnow() that is deprecated in Python
+ 3.12
+
+Import session.utcnow() into utils instead of reimplementing it
+---
+ jupyter_client/session.py |  2 +-
+ jupyter_client/utils.py   | 34 +---------------------------------
+ 2 files changed, 2 insertions(+), 34 deletions(-)
+
+diff --git a/jupyter_client/session.py b/jupyter_client/session.py
+index ca9d9bbe..ee172d53 100644
+--- a/jupyter_client/session.py
++++ b/jupyter_client/session.py
+@@ -197,7 +197,7 @@ def default_secure(cfg: t.Any) -> None:  # pragma: no cover
+ 
+ def utcnow() -> datetime:
+     """Return timezone-aware UTC timestamp"""
+-    return datetime.utcnow().replace(tzinfo=utc)  # noqa
++    return datetime.now(utc)  # noqa
+ 
+ 
+ # -----------------------------------------------------------------------------
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index ab1cbcaa..4e2943c0 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -4,10 +4,10 @@
+ - vendor functions from ipython_genutils that should be retired at some point.
+ """
+ import os
+-from datetime import datetime, timedelta, tzinfo
+ 
+ from jupyter_core.utils import ensure_async, run_sync  # noqa: F401  # noqa: F401
+ 
++from .session import utcnow
+ 
+ def _filefind(filename, path_dirs=None):
+     """Find a file by looking through a sequence of paths.
+@@ -84,35 +84,3 @@ def _expand_path(s):
+     if os.name == "nt":
+         s = s.replace("IPYTHON_TEMP", "$\\")
+     return s
+-
+-
+-# constant for zero offset
+-ZERO = timedelta(0)
+-
+-
+-class tzUTC(tzinfo):  # noqa
+-    """tzinfo object for UTC (zero offset)"""
+-
+-    def utcoffset(self, d):
+-        """Compute utcoffset."""
+-        return ZERO
+-
+-    def dst(self, d):
+-        """Compute dst."""
+-        return ZERO
+-
+-
+-UTC = tzUTC()  # type:ignore
+-
+-
+-def utc_aware(unaware):
+-    """decorator for adding UTC tzinfo to datetime's utcfoo methods"""
+-
+-    def utc_method(*args, **kwargs):
+-        dt = unaware(*args, **kwargs)
+-        return dt.replace(tzinfo=UTC)
+-
+-    return utc_method
+-
+-
+-utcnow = utc_aware(datetime.utcnow)
+
+From 5468546499f5071171bcb8bccafe034837cc092d Mon Sep 17 00:00:00 2001
+From: "pre-commit-ci[bot]"
+ <66853113+pre-commit-ci[bot]@users.noreply.github.com>
+Date: Mon, 11 Sep 2023 04:44:48 +0000
+Subject: [PATCH 2/4] [pre-commit.ci] auto fixes from pre-commit.com hooks
+
+for more information, see https://pre-commit.ci
+---
+ jupyter_client/utils.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index 4e2943c0..0186a001 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -9,6 +9,7 @@
+ 
+ from .session import utcnow
+ 
++
+ def _filefind(filename, path_dirs=None):
+     """Find a file by looking through a sequence of paths.
+ 
+
+From d78c153d819fb3da3dc80f916747291b5200a302 Mon Sep 17 00:00:00 2001
+From: David Brochart <david.brochart@gmail.com>
+Date: Mon, 11 Sep 2023 09:22:41 +0200
+Subject: [PATCH 3/4] Remove unneeded noqa
+
+---
+ jupyter_client/session.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jupyter_client/session.py b/jupyter_client/session.py
+index ee172d53..e22c9d44 100644
+--- a/jupyter_client/session.py
++++ b/jupyter_client/session.py
+@@ -197,7 +197,7 @@ def default_secure(cfg: t.Any) -> None:  # pragma: no cover
+ 
+ def utcnow() -> datetime:
+     """Return timezone-aware UTC timestamp"""
+-    return datetime.now(utc)  # noqa
++    return datetime.now(utc)
+ 
+ 
+ # -----------------------------------------------------------------------------
+
+From 7ba40db1c6fb505e95df4cf4c3f9176661f2f270 Mon Sep 17 00:00:00 2001
+From: David Brochart <david.brochart@gmail.com>
+Date: Mon, 11 Sep 2023 09:22:57 +0200
+Subject: [PATCH 4/4] Add noqa
+
+---
+ jupyter_client/utils.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index 0186a001..9f1c38e9 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -7,7 +7,7 @@
+ 
+ from jupyter_core.utils import ensure_async, run_sync  # noqa: F401  # noqa: F401
+ 
+-from .session import utcnow
++from .session import utcnow  # noqa
+ 
+ 
+ def _filefind(filename, path_dirs=None):
diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 0cba01daca6f5..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
-revision=2
+version=8.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 92e21244b21a898d3579818380f6378cfb54facc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 14/27] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 41 +++++++++++++++-------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 68f4678ff2c9a..028b1aa989ba4 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,38 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
-revision=2
+version=6.25.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib
+ python3-PyQt5 python3-PyQt5-svg"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 744427d62ef5c110ce69a0afea8b2390fbc85f1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 15/27] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index 74dc055801347..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 3d780acc0a42438c50189e7607f57ed7738a8bf4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 16/27] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index 2b85205d4179e..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+version=0.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From 11368422621a3cadae9697c915f82f2777e9fdf6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 17/27] python3-mistune: update to 3.0.2, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index 6a448f5c78363..7630964cf1dd1 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8
 
 post_install() {
 	vlicense LICENSE

From 794a9c592a5164e440e2741cf02a00ec69797cd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 18/27] python3-jupyter_nbconvert: update to 7.9.2, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index 1ded2af967487..a580377d0f03f 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=3
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.9.2
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky python3-PyQt5"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=e56cc7588acc4f93e2bb5a34ec69028e4941797b2bfaf6462f18a41d1cc258c9
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	make_check_pre="env JUPYTER_DATA_DIR=${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From ca63fedb6124a4a765ec85078eb79e77468dbdda Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 19/27] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 6917e32eb83c377f944e7f9bd81369b3dce6b4f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 20/27] python3-jupyter_server: update to 2.7.3.

---
 .../patches/pytest-xdist.patch                | 38 ++++++++++++++++++
 .../patches/utcnow-deprecation.patch          | 39 ++++++++++++++++++
 srcpkgs/python3-jupyter_server/template       | 40 +++++++++++--------
 3 files changed, 101 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
 create mode 100644 srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
new file mode 100644
index 0000000000000..4b2c6976a3b4e
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
@@ -0,0 +1,38 @@
+commit 2dfc67655dd589948250c49c093bd25c4f08f77c
+Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
+Date:   Thu May 25 22:28:37 2023 -0300
+
+    Fix test param for pytest-xdist
+
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index fec747afe..8f7f8a463 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -362,15 +362,12 @@ def test_gateway_request_timeout_pad_option(
+     GatewayClient.clear_instance()
+ 
+ 
+-cookie_expire_time = format_datetime(datetime.now(tz=timezone.utc) + timedelta(seconds=180))
+-
+-
+ @pytest.mark.parametrize(
+     "accept_cookies,expire_arg,expire_param,existing_cookies,cookie_exists",
+     [
+         (False, None, None, "EXISTING=1", False),
+         (True, None, None, "EXISTING=1", True),
+-        (True, "Expires", cookie_expire_time, None, True),
++        (True, "Expires", 180, None, True),
+         (True, "Max-Age", "-360", "EXISTING=1", False),
+     ],
+ )
+@@ -389,6 +386,10 @@ def test_gateway_request_with_expiring_cookies(
+ 
+     cookie: SimpleCookie = SimpleCookie()
+     cookie.load("SERVERID=1234567; Path=/")
++    if expire_arg == "Expires":
++        expire_param = format_datetime(
++                datetime.now(tz=timezone.utc) +
++                timedelta(seconds=expire_param))
+     if expire_arg:
+         cookie["SERVERID"][expire_arg] = expire_param
+ 
diff --git a/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
new file mode 100644
index 0000000000000..e5f7a2af5b335
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
@@ -0,0 +1,39 @@
+See: https://github.com/jupyter-server/jupyter_server/issues/1296#issuecomment-1751887150
+
+--- a/jupyter_server/_tz.py
++++ b/jupyter_server/_tz.py
+@@ -5,7 +5,7 @@ Just UTC-awareness right now
+ """
+ # Copyright (c) Jupyter Development Team.
+ # Distributed under the terms of the Modified BSD License.
+-from datetime import datetime, timedelta, tzinfo
++from datetime import datetime, timedelta, tzinfo, timezone
+ 
+ # constant for zero offset
+ ZERO = timedelta(0)
+@@ -39,6 +39,12 @@ def utc_aware(unaware):
+ utcfromtimestamp = utc_aware(datetime.utcfromtimestamp)
+ utcnow = utc_aware(datetime.utcnow)
+ 
++def utcnow() -> datetime:
++    """ Return timezone-aware UTC timestamp"""
++    return datetime.now(timezone.utc)
++
++def utcfromtimestamp(timestamp):
++    return datetime.fromtimestamp(timestamp, timezone.utc)
+ 
+ def isoformat(dt):
+     """Return iso-formatted timestamp
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index 8f7f8a463..598006e29 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -78,7 +78,7 @@ omitted_kernels: Dict[str, bool] = {}
+ 
+ def generate_model(name):
+     """Generate a mocked kernel model.  Caller is responsible for adding model to running_kernels dictionary."""
+-    dt = datetime.utcnow().isoformat() + "Z"  # noqa
++    dt = datetime.now(timezone.utc).isoformat().replace("+00:00", "Z")  # noqa
+     kernel_id = str(uuid.uuid4())
+     model = {
+         "id": kernel_id,
diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 8b1cf9fe7c569..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+version=2.7.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From 000ff797e1307036340a1c1761859a2af1ddf5c6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 21/27] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 490564a7fb8e9..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
-revision=2
+version=0.2.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 6609d774ab0b1eb5077ae98dc8932e0df381f9a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 22/27] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 81fb183100692..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+version=1.0.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From a123c1fae94f8a9a8e551ec1387e3f06278d0795 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 23/27] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 36 ++++++++++++++++------
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index 41f51c913ebb0..5dec10ee2cec4 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,34 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# tests setup fails on CI (no idea why)
+	make_check_args="-p no:unraisableexception"
+fi
+
+do_check() {
+	# test_translation_api.py needs to run in a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest ${make_check_args}
+}
 
 post_install() {
 	vlicense LICENSE

From d28efdd0af130fafa008fb70c793b8a20e1960a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 24/27] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/files/jupyterlab.sh |  1 -
 srcpkgs/jupyterlab/template            | 23 +++++++++++------------
 2 files changed, 11 insertions(+), 13 deletions(-)
 delete mode 100644 srcpkgs/jupyterlab/files/jupyterlab.sh

diff --git a/srcpkgs/jupyterlab/files/jupyterlab.sh b/srcpkgs/jupyterlab/files/jupyterlab.sh
deleted file mode 100644
index a90f35521b9c2..0000000000000
--- a/srcpkgs/jupyterlab/files/jupyterlab.sh
+++ /dev/null
@@ -1 +0,0 @@
-export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index b7159e5a0311b..22b4a953e00c5 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,21 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From aab4ec0c877e03692bf5acd42e97c93db179eaf0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 25/27] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 6aafbbba6d7cb..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 3c14b6338b0bca4501641d649ddfa254806ab5f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 26/27] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 31 +++++++++++++++---------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 9bbbb0488d400..2af1e4875ca39 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+version=6.6.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (pexpect gets ": 5" instead of the
+	# expected "Out[1]: 5" causing a timeout)
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From a282b79ca27df98f46eb83a471a85d684f9103ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 27/27] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index e3ffc5eb87dec..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (27 preceding siblings ...)
  2023-10-09 22:11 ` tornaria
@ 2023-10-09 22:31 ` dkwo
  2023-10-10 13:44 ` tornaria
                   ` (8 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: dkwo @ 2023-10-09 22:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 324 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1753990364

Comment:
btw, currently, `python3-mistune` `python3-jupyter_nbconvert` `jupyterlab_server` and `jupyterlab` give a bunch of `SyntaxWarning: invalid escape sequence`s upon install from Void repo.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (28 preceding siblings ...)
  2023-10-09 22:31 ` dkwo
@ 2023-10-10 13:44 ` tornaria
  2023-10-10 14:21 ` [PR PATCH] [Updated] " tornaria
                   ` (7 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-10 13:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 628 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1755459503

Comment:
> btw, currently, `python3-mistune` `python3-jupyter_nbconvert` `jupyterlab_server` and `jupyterlab` give a bunch of `SyntaxWarning: invalid escape sequence`s upon install from Void repo.

Do you mean the pkgs in this PR, or the packages currently in the binary repo?

I think jupyter notebook is completely broken atm, does it work for you? The packages currently in the repo are so out of date that I don't see any other way out that making sure this PR works ok-ish and merging.

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (29 preceding siblings ...)
  2023-10-10 13:44 ` tornaria
@ 2023-10-10 14:21 ` tornaria
  2023-10-10 15:19 ` tornaria
                   ` (6 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-10 14:21 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 85969 bytes --]

From e3055c3b362ba6529db39f44a1590e8e1a80e3d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/27] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index a77d479475365..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From d02041f1352035e8773c823d79ff6a6e23455e5d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/27] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 2e07727855022..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
-revision=2
+version=0.1.4
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-traitlets"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From eda132696179f2c6707ed3bdf89cb2c2f7843634 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/27] python3-traitlets: update to 5.11.2.

---
 srcpkgs/python3-traitlets/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 0949220e9ae0b..f48119dadca32 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
-revision=2
+version=5.11.2
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=7564b5bf8d38c40fa45498072bf4dc5e8346eb087bbf1e2ae2d8774f6a0f078e
 
 post_install() {
 	vlicense LICENSE

From 951eac1bd6c7be9999f64ed819324db7869c887e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 29 Sep 2023 22:50:26 -0300
Subject: [PATCH 04/27] python3-QtPy: update to 2.4.0, adopt.

---
 srcpkgs/python3-QtPy/patches/fix-test.patch | 11 +++++++
 srcpkgs/python3-QtPy/template               | 36 +++++++++++----------
 2 files changed, 30 insertions(+), 17 deletions(-)
 create mode 100644 srcpkgs/python3-QtPy/patches/fix-test.patch

diff --git a/srcpkgs/python3-QtPy/patches/fix-test.patch b/srcpkgs/python3-QtPy/patches/fix-test.patch
new file mode 100644
index 0000000000000..23987e260c928
--- /dev/null
+++ b/srcpkgs/python3-QtPy/patches/fix-test.patch
@@ -0,0 +1,11 @@
+--- a/qtpy/tests/test_main.py	2023-08-29 13:07:50.000000000 -0300
++++ b/qtpy/tests/test_main.py	2023-09-29 22:04:52.945280612 -0300
+@@ -115,7 +115,7 @@
+     pytest.importorskip(mod, reason=f"Requires {api}")
+     # clean env
+     env = os.environ.copy()
+-    for key in ("QT_API", "USE_QT_API"):
++    for key in ("QT_API", "USE_QT_API", "FORCE_QT_API"):
+         if key in env:
+             del env[key]
+     cmd = f"""
diff --git a/srcpkgs/python3-QtPy/template b/srcpkgs/python3-QtPy/template
index 10563bde6b23d..4f545f6a6e4df 100644
--- a/srcpkgs/python3-QtPy/template
+++ b/srcpkgs/python3-QtPy/template
@@ -1,36 +1,38 @@
 # Template file for 'python3-QtPy'
 pkgname=python3-QtPy
-version=2.3.1
+version=2.4.0
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 # depends on either of PyQt5, PyQt6
 depends="python3"
-# Packages common to both PyQt5 and PyQt6
-_qtcommon="python3-PyQt5-sql python3-PyQt5-svg python3-PyQt5-webengine
- python3-PyQt5-websockets python3-PyQt5-multimedia python3-PyQt5-tools"
-checkdepends="python3-pytest python3-mock python3-pyqt6-declarative
- python3-pyqt6-widgets python3-pyqt6-gui python3-pyqt6-opengl-widgets
- python3-pyqt6-printsupport python3-pyqt6-network python3-pyqt6-devel-tools
- python3-pyqt6-test python3-pyqt6-webchannel python3-pyqt6-xml
- qt6-plugin-sqlite python3-PyQt5-quick python3-PyQt5-xmlpatterns
- python3-PyQt5-location python3-PyQt5-opengl qt5-plugin-sqlite ${_qtcommon}
- ${_qtcommon//PyQt5/pyqt6}"
+# check dependencies common to both PyQt5 and PyQt6
+_qtcommon=":connectivity :multimedia :sensors :serialport :sql :svg :tools
+ :webchannel :webengine :websockets"
+# check dependencies only for PyQt5
+_qt5check="${_qtcommon} :location :opengl :quick :x11extras :xmlpatterns
+ qt5-plugin-sqlite"
+# check dependencies only for PyQt6
+_qt6check="${_qtcommon} :dbus :declarative :devel-tools :gui :network
+ :opengl-widgets :printsupport :quick3d :remoteobjects :test :widgets :xml
+ qt6-plugin-sqlite"
+checkdepends="python3-pytest-cov python3-pytest-qt font-liberation-ttf
+ ${_qt5check//:/python3-PyQt5-} ${_qt6check//:/python3-pyqt6-}"
 short_desc="Abstraction layer on top of various Python Qt bindings"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="MIT"
 homepage="https://github.com/spyder-ide/qtpy"
+changelog="https://raw.githubusercontent.com/spyder-ide/qtpy/master/CHANGELOG.md"
 distfiles="${PYPI_SITE}/Q/QtPy/QtPy-${version}.tar.gz"
-checksum=a8c74982d6d172ce124d80cafd39653df78989683f760f2281ba91a6e7b9de8b
+checksum=db2d508167aa6106781565c8da5c6f1487debacba33519cedc35fa8997d424d4
 
 do_check() {
 	local qtapi
 
-	rm -f pytest.ini
-
 	for qtapi in pyqt5 pyqt6; do
-		CI=1 USE_QT_API="${qtapi}" QT_API="${qtapi}" \
-		python3 -m pytest -k 'not test_qttexttospeech' qtpy/tests
+		msg_normal "... running pytest with QT_API=$qtapi\n"
+		FORCE_QT_API=1 QT_API="${qtapi}" \
+		python3 -m pytest -k 'not test_qttexttospeech'
 	done
 }
 

From dbf21022d4138f7a8beffe8be9986915dc0460a4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 14:23:56 -0300
Subject: [PATCH 05/27] python3-dateutil: fix deprecation warning

---
 .../avoid-deprecated-utcfromtimestamp.patch   | 25 +++++++++++++++++++
 srcpkgs/python3-dateutil/template             |  2 +-
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch

diff --git a/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
new file mode 100644
index 0000000000000..9ac4acc89947d
--- /dev/null
+++ b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
@@ -0,0 +1,25 @@
+Taken from https://github.com/dateutil/dateutil/pull/1285
+
+From f2293200747fb03d56c6c5997bfebeabe703576f Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Fri, 2 Jun 2023 14:06:41 +0100
+Subject: [PATCH 1/2] avoid deprecated utcfromtimestamp
+
+Fixes #1284
+---
+ src/dateutil/tz/tz.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/dateutil/tz/tz.py b/src/dateutil/tz/tz.py
+index c67f56d46..617591446 100644
+--- a/dateutil/tz/tz.py
++++ b/dateutil/tz/tz.py
+@@ -34,7 +34,7 @@
+ from warnings import warn
+ 
+ ZERO = datetime.timedelta(0)
+-EPOCH = datetime.datetime.utcfromtimestamp(0)
++EPOCH = datetime.datetime(1970, 1, 1, 0, 0)
+ EPOCHORDINAL = EPOCH.toordinal()
+ 
+ 
diff --git a/srcpkgs/python3-dateutil/template b/srcpkgs/python3-dateutil/template
index 1d86829608a45..c5b2ad5b03e6e 100644
--- a/srcpkgs/python3-dateutil/template
+++ b/srcpkgs/python3-dateutil/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-dateutil'
 pkgname=python3-dateutil
 version=2.8.2
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools_scm"
 depends="python3-six tzdata"

From 680fa970986b3aec53521f9d4cc24a1219624014 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 22:11:00 -0300
Subject: [PATCH 06/27] python3-tornado: update to 6.3.3.

---
 .../patches/3288-utcnow-deprecation.patch     | 378 ++++++++++++++++++
 .../patches/3335-utcnow-deprecation.patch     |  81 ++++
 srcpkgs/python3-tornado/template              |   6 +-
 3 files changed, 462 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
 create mode 100644 srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..19e7ff9714e5d
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
@@ -0,0 +1,378 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3288
+
+From 4d4d80c1d076dcb4e051c969ae4b66557d3856b8 Mon Sep 17 00:00:00 2001
+From: Ben Darnell <ben@bendarnell.com>
+Date: Thu, 8 Jun 2023 22:52:19 -0400
+Subject: [PATCH] *: Adapt to deprecation of datetime utc methods
+
+Python 3.12 deprecates the utcnow and utcfromtimestamp methods and
+discourages the use of naive datetimes to represent UTC. This was
+previously the main way that Tornado used datetimes (since it was
+the only option available in Python 2 before the introduction
+of datetime.timezone.utc in Python 3.2).
+
+- httpclient_test: Test-only change to test that both kinds of datetimes
+  are supported in If-Modified-Since (this just calls
+  httputil.format_timestamp)
+- httputil: No functional changes, but format_timestamp's
+  support for both naive and aware datetimes is now tested.
+- locale: format_timestamp now supports aware datetimes (in
+  addition to the existing support for naive datetimes).
+- web: Cookie expirations internally use aware datetimes.
+  StaticFileHandler.get_modified_time now supports both and the
+  standard implementation returns aware.
+
+It feels fragile that "naive" and "aware" datetimes are not distinct
+types but subject to data-dependent behavior. This change uses
+"aware" datetimes throughout Tornado, but some operations (comparisons
+and subtraction) fail with mixed datetime types and if I missed any
+in this change may cause errors if naive datetimes were used (where
+previously naive datetimes would have been required). But that's
+apparently the API we have to work with.
+---
+ tornado/httputil.py             |  3 +-
+ tornado/locale.py               | 12 +++--
+ tornado/test/httpclient_test.py | 12 ++++-
+ tornado/test/httputil_test.py   | 26 +++++++++-
+ tornado/test/locale_test.py     | 88 ++++++++++++++++++---------------
+ tornado/test/web_test.py        | 25 +++++-----
+ tornado/web.py                  | 28 +++++++----
+ 7 files changed, 126 insertions(+), 68 deletions(-)
+
+diff --git a/tornado/httputil.py b/tornado/httputil.py
+index 9c341d47cc..b21d8046c4 100644
+--- a/tornado/httputil.py
++++ b/tornado/httputil.py
+@@ -856,7 +856,8 @@ def format_timestamp(
+ 
+     The argument may be a numeric timestamp as returned by `time.time`,
+     a time tuple as returned by `time.gmtime`, or a `datetime.datetime`
+-    object.
++    object. Naive `datetime.datetime` objects are assumed to represent
++    UTC; aware objects are converted to UTC before formatting.
+ 
+     >>> format_timestamp(1359312200)
+     'Sun, 27 Jan 2013 18:43:20 GMT'
+diff --git a/tornado/locale.py b/tornado/locale.py
+index 55072af28d..c5526703b1 100644
+--- a/tornado/locale.py
++++ b/tornado/locale.py
+@@ -333,7 +333,7 @@ def format_date(
+         shorter: bool = False,
+         full_format: bool = False,
+     ) -> str:
+-        """Formats the given date (which should be GMT).
++        """Formats the given date.
+ 
+         By default, we return a relative time (e.g., "2 minutes ago"). You
+         can return an absolute date string with ``relative=False``.
+@@ -343,10 +343,16 @@ def format_date(
+ 
+         This method is primarily intended for dates in the past.
+         For dates in the future, we fall back to full format.
++
++        .. versionchanged:: 6.4
++           Aware `datetime.datetime` objects are now supported (naive
++           datetimes are still assumed to be UTC).
+         """
+         if isinstance(date, (int, float)):
+-            date = datetime.datetime.utcfromtimestamp(date)
+-        now = datetime.datetime.utcnow()
++            date = datetime.datetime.fromtimestamp(date, datetime.timezone.utc)
++        if date.tzinfo is None:
++            date = date.replace(tzinfo=datetime.timezone.utc)
++        now = datetime.datetime.now(datetime.timezone.utc)
+         if date > now:
+             if relative and (date - now).seconds < 60:
+                 # Due to click skew, things are some things slightly
+diff --git a/tornado/test/httpclient_test.py b/tornado/test/httpclient_test.py
+index a71ec0afb6..a41040e64a 100644
+--- a/tornado/test/httpclient_test.py
++++ b/tornado/test/httpclient_test.py
+@@ -28,7 +28,7 @@
+ from tornado.log import gen_log, app_log
+ from tornado import netutil
+ from tornado.testing import AsyncHTTPTestCase, bind_unused_port, gen_test, ExpectLog
+-from tornado.test.util import skipOnTravis
++from tornado.test.util import skipOnTravis, ignore_deprecation
+ from tornado.web import Application, RequestHandler, url
+ from tornado.httputil import format_timestamp, HTTPHeaders
+ 
+@@ -887,7 +887,15 @@ def test_body_setter(self):
+         self.assertEqual(request.body, utf8("foo"))
+ 
+     def test_if_modified_since(self):
+-        http_date = datetime.datetime.utcnow()
++        http_date = datetime.datetime.now(datetime.timezone.utc)
++        request = HTTPRequest("http://example.com", if_modified_since=http_date)
++        self.assertEqual(
++            request.headers, {"If-Modified-Since": format_timestamp(http_date)}
++        )
++
++    def test_if_modified_since_naive_deprecated(self):
++        with ignore_deprecation():
++            http_date = datetime.datetime.utcnow()
+         request = HTTPRequest("http://example.com", if_modified_since=http_date)
+         self.assertEqual(
+             request.headers, {"If-Modified-Since": format_timestamp(http_date)}
+diff --git a/tornado/test/httputil_test.py b/tornado/test/httputil_test.py
+index 8424491d87..aa9b6ee253 100644
+--- a/tornado/test/httputil_test.py
++++ b/tornado/test/httputil_test.py
+@@ -13,6 +13,7 @@
+ from tornado.escape import utf8, native_str
+ from tornado.log import gen_log
+ from tornado.testing import ExpectLog
++from tornado.test.util import ignore_deprecation
+ 
+ import copy
+ import datetime
+@@ -412,8 +413,29 @@ def test_time_tuple(self):
+         self.assertEqual(9, len(tup))
+         self.check(tup)
+ 
+-    def test_datetime(self):
+-        self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++    def test_utc_naive_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone.utc
++            ).replace(tzinfo=None)
++        )
++
++    def test_utc_naive_datetime_deprecated(self):
++        with ignore_deprecation():
++            self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++
++    def test_utc_aware_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(self.TIMESTAMP, datetime.timezone.utc)
++        )
++
++    def test_other_aware_datetime(self):
++        # Other timezones are ignored; the timezone is always printed as GMT
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone(datetime.timedelta(hours=-4))
++            )
++        )
+ 
+ 
+ # HTTPServerRequest is mainly tested incidentally to the server itself,
+diff --git a/tornado/test/locale_test.py b/tornado/test/locale_test.py
+index ee74cb05e8..a2e0872b8f 100644
+--- a/tornado/test/locale_test.py
++++ b/tornado/test/locale_test.py
+@@ -91,45 +91,55 @@ def test_format_date(self):
+             locale.format_date(date, full_format=True), "April 28, 2013 at 6:35 pm"
+         )
+ 
+-        now = datetime.datetime.utcnow()
+-
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(seconds=2), full_format=False),
+-            "2 seconds ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(minutes=2), full_format=False),
+-            "2 minutes ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(hours=2), full_format=False),
+-            "2 hours ago",
+-        )
+-
+-        self.assertEqual(
+-            locale.format_date(
+-                now - datetime.timedelta(days=1), full_format=False, shorter=True
+-            ),
+-            "yesterday",
+-        )
+-
+-        date = now - datetime.timedelta(days=2)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            locale._weekdays[date.weekday()],
+-        )
+-
+-        date = now - datetime.timedelta(days=300)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d" % (locale._months[date.month - 1], date.day),
+-        )
+-
+-        date = now - datetime.timedelta(days=500)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
+-        )
++        aware_dt = datetime.datetime.now(datetime.timezone.utc)
++        naive_dt = aware_dt.replace(tzinfo=None)
++        for name, now in {"aware": aware_dt, "naive": naive_dt}.items():
++            with self.subTest(dt=name):
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(seconds=2), full_format=False
++                    ),
++                    "2 seconds ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(minutes=2), full_format=False
++                    ),
++                    "2 minutes ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(hours=2), full_format=False
++                    ),
++                    "2 hours ago",
++                )
++
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(days=1),
++                        full_format=False,
++                        shorter=True,
++                    ),
++                    "yesterday",
++                )
++
++                date = now - datetime.timedelta(days=2)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    locale._weekdays[date.weekday()],
++                )
++
++                date = now - datetime.timedelta(days=300)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d" % (locale._months[date.month - 1], date.day),
++                )
++
++                date = now - datetime.timedelta(days=500)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
++                )
+ 
+     def test_friendly_number(self):
+         locale = tornado.locale.get("en_US")
+diff --git a/tornado/test/web_test.py b/tornado/test/web_test.py
+index 56900d9a00..fb9c3417b9 100644
+--- a/tornado/test/web_test.py
++++ b/tornado/test/web_test.py
+@@ -404,10 +404,10 @@ def test_set_cookie_expires_days(self):
+         match = re.match("foo=bar; expires=(?P<expires>.+); Path=/", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=10)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=10
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+     def test_set_cookie_false_flags(self):
+@@ -1697,11 +1697,10 @@ def get(self):
+ 
+     def test_date_header(self):
+         response = self.fetch("/")
+-        parsed = email.utils.parsedate(response.headers["Date"])
+-        assert parsed is not None
+-        header_date = datetime.datetime(*parsed[:6])
++        header_date = email.utils.parsedate_to_datetime(response.headers["Date"])
+         self.assertTrue(
+-            header_date - datetime.datetime.utcnow() < datetime.timedelta(seconds=2)
++            header_date - datetime.datetime.now(datetime.timezone.utc)
++            < datetime.timedelta(seconds=2)
+         )
+ 
+ 
+@@ -3010,10 +3009,12 @@ def test_xsrf_httponly(self):
+         match = re.match(".*; expires=(?P<expires>.+);.*", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=2)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=2
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
++        if header_expires.tzinfo is None:
++            header_expires = header_expires.replace(tzinfo=datetime.timezone.utc)
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+ 
+diff --git a/tornado/web.py b/tornado/web.py
+index 565140493e..439e02c47b 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -647,7 +647,9 @@ def set_cookie(
+         if domain:
+             morsel["domain"] = domain
+         if expires_days is not None and not expires:
+-            expires = datetime.datetime.utcnow() + datetime.timedelta(days=expires_days)
++            expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++                days=expires_days
++            )
+         if expires:
+             morsel["expires"] = httputil.format_timestamp(expires)
+         if path:
+@@ -698,7 +700,9 @@ def clear_cookie(self, name: str, **kwargs: Any) -> None:
+                 raise TypeError(
+                     f"clear_cookie() got an unexpected keyword argument '{excluded_arg}'"
+                 )
+-        expires = datetime.datetime.utcnow() - datetime.timedelta(days=365)
++        expires = datetime.datetime.now(datetime.timezone.utc) - datetime.timedelta(
++            days=365
++        )
+         self.set_cookie(name, value="", expires=expires, **kwargs)
+ 
+     def clear_all_cookies(self, **kwargs: Any) -> None:
+@@ -2812,12 +2816,12 @@ def should_return_304(self) -> bool:
+         # content has not been modified
+         ims_value = self.request.headers.get("If-Modified-Since")
+         if ims_value is not None:
+-            date_tuple = email.utils.parsedate(ims_value)
+-            if date_tuple is not None:
+-                if_since = datetime.datetime(*date_tuple[:6])
+-                assert self.modified is not None
+-                if if_since >= self.modified:
+-                    return True
++            if_since = email.utils.parsedate_to_datetime(ims_value)
++            if if_since.tzinfo is None:
++                if_since = if_since.replace(tzinfo=datetime.timezone.utc)
++            assert self.modified is not None
++            if if_since >= self.modified:
++                return True
+ 
+         return False
+ 
+@@ -2981,6 +2985,10 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         object or None.
+ 
+         .. versionadded:: 3.1
++
++        .. versionchanged:: 6.4
++           Now returns an aware datetime object instead of a naive one.
++           Subclasses that override this method may return either kind.
+         """
+         stat_result = self._stat()
+         # NOTE: Historically, this used stat_result[stat.ST_MTIME],
+@@ -2991,7 +2999,9 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         # consistency with the past (and because we have a unit test
+         # that relies on this), we truncate the float here, although
+         # I'm not sure that's the right thing to do.
+-        modified = datetime.datetime.utcfromtimestamp(int(stat_result.st_mtime))
++        modified = datetime.datetime.fromtimestamp(
++            int(stat_result.st_mtime), datetime.timezone.utc
++        )
+         return modified
+ 
+     def get_content_type(self) -> str:
diff --git a/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..23c210d12f689
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
@@ -0,0 +1,81 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3335
+
+From 0bfca3f2d72a0c6e5d3ba17caac88a79e7b4e0dd Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Tue, 3 Oct 2023 15:08:08 +0100
+Subject: [PATCH] remove calls to utcnow and utcfromtimestamp
+
+---
+ demos/blog/templates/feed.xml |  2 +-
+ demos/s3server/s3server.py    | 16 +++++++++++-----
+ tornado/web.py                |  3 ++-
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/demos/blog/templates/feed.xml b/demos/blog/templates/feed.xml
+index a98826c8d3..4a4a252f60 100644
+--- a/demos/blog/templates/feed.xml
++++ b/demos/blog/templates/feed.xml
+@@ -5,7 +5,7 @@
+   {% if len(entries) > 0 %}
+     <updated>{{ max(e.updated for e in entries).strftime(date_format) }}</updated>
+   {% else %}
+-    <updated>{{ datetime.datetime.utcnow().strftime(date_format) }}</updated>
++    <updated>{{ datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None).strftime(date_format) }}</updated>
+   {% end %}
+   <id>http://{{ request.host }}/</id>
+   <link rel="alternate" href="http://{{ request.host }}/" title="{{ handler.settings["blog_title"] }}" type="text/html"/>
+diff --git a/demos/s3server/s3server.py b/demos/s3server/s3server.py
+index 5c5e6af2ba..104a7c8f81 100644
+--- a/demos/s3server/s3server.py
++++ b/demos/s3server/s3server.py
+@@ -138,7 +138,9 @@ def get(self):
+             buckets.append(
+                 {
+                     "Name": name,
+-                    "CreationDate": datetime.datetime.utcfromtimestamp(info.st_ctime),
++                    "CreationDate": datetime.datetime.fromtimestamp(
++                        info.st_ctime, datetime.timezone.utc
++                    ).replace(tzinfo=None),
+                 }
+             )
+         self.render_xml({"ListAllMyBucketsResult": {"Buckets": {"Bucket": buckets}}})
+@@ -183,9 +185,10 @@ def get(self, bucket_name):
+                 info = os.stat(object_path)
+                 c.update(
+                     {
+-                        "LastModified": datetime.datetime.utcfromtimestamp(
+-                            info.st_mtime
+-                        ),
++                        "LastModified": datetime.datetime.fromtimestamp(
++                            info.st_mtime,
++                            datetime.timezone.utc,
++                        ).replace(tzinfo=None),
+                         "Size": info.st_size,
+                     }
+                 )
+@@ -231,7 +234,10 @@ def get(self, bucket, object_name):
+         info = os.stat(path)
+         self.set_header("Content-Type", "application/unknown")
+         self.set_header(
+-            "Last-Modified", datetime.datetime.utcfromtimestamp(info.st_mtime)
++            "Last-Modified",
++            datetime.datetime.fromtimestamp(
++                info.st_mtime, datetime.timezone.utc
++            ).replace(tzinfo=None),
+         )
+         with open(path, "rb") as object_file:
+             self.finish(object_file.read())
+diff --git a/tornado/web.py b/tornado/web.py
+index 333f736808..4416e2013e 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -2797,7 +2797,8 @@ def set_headers(self) -> None:
+         if cache_time > 0:
+             self.set_header(
+                 "Expires",
+-                datetime.datetime.utcnow() + datetime.timedelta(seconds=cache_time),
++                datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None)
++                + datetime.timedelta(seconds=cache_time),
+             )
+             self.set_header("Cache-Control", "max-age=" + str(cache_time))
+ 
diff --git a/srcpkgs/python3-tornado/template b/srcpkgs/python3-tornado/template
index 103c4cc4f099e..65bc0e55ac83e 100644
--- a/srcpkgs/python3-tornado/template
+++ b/srcpkgs/python3-tornado/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tornado'
 pkgname=python3-tornado
-version=6.3.2
-revision=2
+version=6.3.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="http://www.tornadoweb.org/"
 changelog="https://www.tornadoweb.org/en/stable/releases.html"
 distfiles="${PYPI_SITE}/t/tornado/tornado-${version}.tar.gz"
-checksum=4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba
+checksum=e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe
 
 do_check() {
 	# There is one instance of test_bind_source_ip (the one for

From b17840ad7525f542ca56c94da2b377554e723913 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 07/27] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 srcpkgs/python3-jupyter_core/update           |  3 +++
 3 files changed, 45 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..7f8a56d62bd96
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 092921c77a5d4..57af2b9eff989 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=3
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }
diff --git a/srcpkgs/python3-jupyter_core/update b/srcpkgs/python3-jupyter_core/update
index 25ef51d109a4f..a42c0d0b9f127 100644
--- a/srcpkgs/python3-jupyter_core/update
+++ b/srcpkgs/python3-jupyter_core/update
@@ -1 +1,4 @@
 ignore="*a* *b* *rc*"
+# 5.3.2 breaks jupyter_client
+# (https://github.com/jupyter/jupyter_core/pull/362)
+ignore+=" 5.3.2"

From 6f2d65d637b37615cf2882bbd71dda537e8b4de0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 08/27] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..a2d35ce419788
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3987"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From eea7b1d44ced937db672007983ae3df5250a55de Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 09/27] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 12c384639fe7f..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From f9ca957b80bf03d210c75b01e2b5a1dfd80d6484 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 10/27] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 059756289a09f..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From 869174ac492e01e7b80ebb99cf29143b2e2de749 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 11/27] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index 034398f8cadac..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From 9549934fb1abb452c0890f16840f79536a458b82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 12/27] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From 10c5a65c8074df504a3df954bbf781c5aab86728 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 13/27] python3-jupyter_client: update to 8.3.1, adopt.

---
 .../patches/972-utcnow-deprecation.patch      | 149 ++++++++++++++++++
 srcpkgs/python3-jupyter_client/template       |  26 +--
 2 files changed, 165 insertions(+), 10 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch b/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..47563fbed9ecf
--- /dev/null
+++ b/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch
@@ -0,0 +1,149 @@
+Taken from https://github.com/jupyter/jupyter_client/pull/972/
+
+From 493366dd9e11736c32d32b1d84f5fa56d9ee74ab Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert@physics.uu.se>
+Date: Mon, 11 Sep 2023 06:37:16 +0200
+Subject: [PATCH 1/4] Do not use datetime.utcnow() that is deprecated in Python
+ 3.12
+
+Import session.utcnow() into utils instead of reimplementing it
+---
+ jupyter_client/session.py |  2 +-
+ jupyter_client/utils.py   | 34 +---------------------------------
+ 2 files changed, 2 insertions(+), 34 deletions(-)
+
+diff --git a/jupyter_client/session.py b/jupyter_client/session.py
+index ca9d9bbe..ee172d53 100644
+--- a/jupyter_client/session.py
++++ b/jupyter_client/session.py
+@@ -197,7 +197,7 @@ def default_secure(cfg: t.Any) -> None:  # pragma: no cover
+ 
+ def utcnow() -> datetime:
+     """Return timezone-aware UTC timestamp"""
+-    return datetime.utcnow().replace(tzinfo=utc)  # noqa
++    return datetime.now(utc)  # noqa
+ 
+ 
+ # -----------------------------------------------------------------------------
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index ab1cbcaa..4e2943c0 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -4,10 +4,10 @@
+ - vendor functions from ipython_genutils that should be retired at some point.
+ """
+ import os
+-from datetime import datetime, timedelta, tzinfo
+ 
+ from jupyter_core.utils import ensure_async, run_sync  # noqa: F401  # noqa: F401
+ 
++from .session import utcnow
+ 
+ def _filefind(filename, path_dirs=None):
+     """Find a file by looking through a sequence of paths.
+@@ -84,35 +84,3 @@ def _expand_path(s):
+     if os.name == "nt":
+         s = s.replace("IPYTHON_TEMP", "$\\")
+     return s
+-
+-
+-# constant for zero offset
+-ZERO = timedelta(0)
+-
+-
+-class tzUTC(tzinfo):  # noqa
+-    """tzinfo object for UTC (zero offset)"""
+-
+-    def utcoffset(self, d):
+-        """Compute utcoffset."""
+-        return ZERO
+-
+-    def dst(self, d):
+-        """Compute dst."""
+-        return ZERO
+-
+-
+-UTC = tzUTC()  # type:ignore
+-
+-
+-def utc_aware(unaware):
+-    """decorator for adding UTC tzinfo to datetime's utcfoo methods"""
+-
+-    def utc_method(*args, **kwargs):
+-        dt = unaware(*args, **kwargs)
+-        return dt.replace(tzinfo=UTC)
+-
+-    return utc_method
+-
+-
+-utcnow = utc_aware(datetime.utcnow)
+
+From 5468546499f5071171bcb8bccafe034837cc092d Mon Sep 17 00:00:00 2001
+From: "pre-commit-ci[bot]"
+ <66853113+pre-commit-ci[bot]@users.noreply.github.com>
+Date: Mon, 11 Sep 2023 04:44:48 +0000
+Subject: [PATCH 2/4] [pre-commit.ci] auto fixes from pre-commit.com hooks
+
+for more information, see https://pre-commit.ci
+---
+ jupyter_client/utils.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index 4e2943c0..0186a001 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -9,6 +9,7 @@
+ 
+ from .session import utcnow
+ 
++
+ def _filefind(filename, path_dirs=None):
+     """Find a file by looking through a sequence of paths.
+ 
+
+From d78c153d819fb3da3dc80f916747291b5200a302 Mon Sep 17 00:00:00 2001
+From: David Brochart <david.brochart@gmail.com>
+Date: Mon, 11 Sep 2023 09:22:41 +0200
+Subject: [PATCH 3/4] Remove unneeded noqa
+
+---
+ jupyter_client/session.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jupyter_client/session.py b/jupyter_client/session.py
+index ee172d53..e22c9d44 100644
+--- a/jupyter_client/session.py
++++ b/jupyter_client/session.py
+@@ -197,7 +197,7 @@ def default_secure(cfg: t.Any) -> None:  # pragma: no cover
+ 
+ def utcnow() -> datetime:
+     """Return timezone-aware UTC timestamp"""
+-    return datetime.now(utc)  # noqa
++    return datetime.now(utc)
+ 
+ 
+ # -----------------------------------------------------------------------------
+
+From 7ba40db1c6fb505e95df4cf4c3f9176661f2f270 Mon Sep 17 00:00:00 2001
+From: David Brochart <david.brochart@gmail.com>
+Date: Mon, 11 Sep 2023 09:22:57 +0200
+Subject: [PATCH 4/4] Add noqa
+
+---
+ jupyter_client/utils.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index 0186a001..9f1c38e9 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -7,7 +7,7 @@
+ 
+ from jupyter_core.utils import ensure_async, run_sync  # noqa: F401  # noqa: F401
+ 
+-from .session import utcnow
++from .session import utcnow  # noqa
+ 
+ 
+ def _filefind(filename, path_dirs=None):
diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 0cba01daca6f5..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
-revision=2
+version=8.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From cfebb0329d8a93cdcd7e061ca9a2a22d52192f9f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 14/27] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 41 +++++++++++++++-------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 68f4678ff2c9a..028b1aa989ba4 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,38 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
-revision=2
+version=6.25.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib
+ python3-PyQt5 python3-PyQt5-svg"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 22be9c1f27aedac8540e5b7826a32ba70cb48ba6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 15/27] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index 74dc055801347..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 71a59234db049ba10e552b54b4287d652a8c03f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 16/27] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index 2b85205d4179e..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+version=0.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From f69be4bcc2c0c0e50529fc14af3cf67b585d59af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 17/27] python3-mistune: update to 3.0.2, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index 6a448f5c78363..7630964cf1dd1 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8
 
 post_install() {
 	vlicense LICENSE

From 51ab26445bc97d636bfa1486e81bcd181a57107f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 18/27] python3-jupyter_nbconvert: update to 7.9.2, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index 1ded2af967487..a580377d0f03f 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=3
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.9.2
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky python3-PyQt5"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=e56cc7588acc4f93e2bb5a34ec69028e4941797b2bfaf6462f18a41d1cc258c9
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	make_check_pre="env JUPYTER_DATA_DIR=${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From c47b6702bfeb7930c2287fc70924ef46b42b4bc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 19/27] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From 8edda6fbe1d870e2c5618b633211607815fd33fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 20/27] python3-jupyter_server: update to 2.7.3.

---
 .../patches/pytest-xdist.patch                | 38 ++++++++++++++++++
 .../patches/utcnow-deprecation.patch          | 39 ++++++++++++++++++
 srcpkgs/python3-jupyter_server/template       | 40 +++++++++++--------
 3 files changed, 101 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
 create mode 100644 srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
new file mode 100644
index 0000000000000..4b2c6976a3b4e
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
@@ -0,0 +1,38 @@
+commit 2dfc67655dd589948250c49c093bd25c4f08f77c
+Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
+Date:   Thu May 25 22:28:37 2023 -0300
+
+    Fix test param for pytest-xdist
+
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index fec747afe..8f7f8a463 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -362,15 +362,12 @@ def test_gateway_request_timeout_pad_option(
+     GatewayClient.clear_instance()
+ 
+ 
+-cookie_expire_time = format_datetime(datetime.now(tz=timezone.utc) + timedelta(seconds=180))
+-
+-
+ @pytest.mark.parametrize(
+     "accept_cookies,expire_arg,expire_param,existing_cookies,cookie_exists",
+     [
+         (False, None, None, "EXISTING=1", False),
+         (True, None, None, "EXISTING=1", True),
+-        (True, "Expires", cookie_expire_time, None, True),
++        (True, "Expires", 180, None, True),
+         (True, "Max-Age", "-360", "EXISTING=1", False),
+     ],
+ )
+@@ -389,6 +386,10 @@ def test_gateway_request_with_expiring_cookies(
+ 
+     cookie: SimpleCookie = SimpleCookie()
+     cookie.load("SERVERID=1234567; Path=/")
++    if expire_arg == "Expires":
++        expire_param = format_datetime(
++                datetime.now(tz=timezone.utc) +
++                timedelta(seconds=expire_param))
+     if expire_arg:
+         cookie["SERVERID"][expire_arg] = expire_param
+ 
diff --git a/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
new file mode 100644
index 0000000000000..e5f7a2af5b335
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
@@ -0,0 +1,39 @@
+See: https://github.com/jupyter-server/jupyter_server/issues/1296#issuecomment-1751887150
+
+--- a/jupyter_server/_tz.py
++++ b/jupyter_server/_tz.py
+@@ -5,7 +5,7 @@ Just UTC-awareness right now
+ """
+ # Copyright (c) Jupyter Development Team.
+ # Distributed under the terms of the Modified BSD License.
+-from datetime import datetime, timedelta, tzinfo
++from datetime import datetime, timedelta, tzinfo, timezone
+ 
+ # constant for zero offset
+ ZERO = timedelta(0)
+@@ -39,6 +39,12 @@ def utc_aware(unaware):
+ utcfromtimestamp = utc_aware(datetime.utcfromtimestamp)
+ utcnow = utc_aware(datetime.utcnow)
+ 
++def utcnow() -> datetime:
++    """ Return timezone-aware UTC timestamp"""
++    return datetime.now(timezone.utc)
++
++def utcfromtimestamp(timestamp):
++    return datetime.fromtimestamp(timestamp, timezone.utc)
+ 
+ def isoformat(dt):
+     """Return iso-formatted timestamp
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index 8f7f8a463..598006e29 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -78,7 +78,7 @@ omitted_kernels: Dict[str, bool] = {}
+ 
+ def generate_model(name):
+     """Generate a mocked kernel model.  Caller is responsible for adding model to running_kernels dictionary."""
+-    dt = datetime.utcnow().isoformat() + "Z"  # noqa
++    dt = datetime.now(timezone.utc).isoformat().replace("+00:00", "Z")  # noqa
+     kernel_id = str(uuid.uuid4())
+     model = {
+         "id": kernel_id,
diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 8b1cf9fe7c569..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+version=2.7.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From 5d3ad9a184fb19a6279254665a9d702a7aafe634 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 21/27] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 490564a7fb8e9..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
-revision=2
+version=0.2.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From 82604bce2950868f0c4acb29c6e2342bb50b96d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 22/27] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 81fb183100692..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+version=1.0.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From fc481ce6d401742b889d5dc46bcf2347229c79ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 23/27] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 36 ++++++++++++++++------
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index 41f51c913ebb0..5dec10ee2cec4 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,34 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# tests setup fails on CI (no idea why)
+	make_check_args="-p no:unraisableexception"
+fi
+
+do_check() {
+	# test_translation_api.py needs to run in a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest ${make_check_args}
+}
 
 post_install() {
 	vlicense LICENSE

From c8b91b31b2ff14ce34b448cdf2e6ed694e45beda Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 24/27] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/files/jupyterlab.sh |  1 -
 srcpkgs/jupyterlab/template            | 23 +++++++++++------------
 2 files changed, 11 insertions(+), 13 deletions(-)
 delete mode 100644 srcpkgs/jupyterlab/files/jupyterlab.sh

diff --git a/srcpkgs/jupyterlab/files/jupyterlab.sh b/srcpkgs/jupyterlab/files/jupyterlab.sh
deleted file mode 100644
index a90f35521b9c2..0000000000000
--- a/srcpkgs/jupyterlab/files/jupyterlab.sh
+++ /dev/null
@@ -1 +0,0 @@
-export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index b7159e5a0311b..22b4a953e00c5 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,21 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From af11d493619d99d0219f25f5f28c5eb5c21fdf58 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 25/27] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 6aafbbba6d7cb..6e386070f27c5 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="python3-jupyter_client python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 467dfefea614732fcc4d6e643110ef05adaa2fb7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 26/27] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 31 +++++++++++++++---------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 9bbbb0488d400..1b286c83e5a57 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+version=6.6.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these two tests are flaky on CI, even with @flaky sometimes fail
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 --deselect=jupyter_console/tests/test_console.py::test_display_text
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From e58e024bc93f5372227b24cd977b0b02a7422864 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 27/27] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index e3ffc5eb87dec..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Updated] [RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (30 preceding siblings ...)
  2023-10-10 14:21 ` [PR PATCH] [Updated] " tornaria
@ 2023-10-10 15:19 ` tornaria
  2023-10-10 16:22 ` Updates " tornaria
                   ` (5 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-10 15:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1282 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages jupyter
https://github.com/void-linux/void-packages/pull/44160

[RFC] [WIP] updates to jupyter,  jupyterlab, notebook, etc.
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/44160.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-jupyter-44160.patch --]
[-- Type: text/x-diff, Size: 85944 bytes --]

From e18faa452f8ac320f31a5d85a2f4c2b9222c45f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 12:31:11 -0300
Subject: [PATCH 01/27] python3-send2trash: update to 1.8.2.

---
 srcpkgs/python3-send2trash/template | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-send2trash/template b/srcpkgs/python3-send2trash/template
index a77d479475365..34c635ff1e178 100644
--- a/srcpkgs/python3-send2trash/template
+++ b/srcpkgs/python3-send2trash/template
@@ -1,17 +1,25 @@
 # Template file for 'python3-send2trash'
 pkgname=python3-send2trash
-version=1.8.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-pytest"
+version=1.8.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
+checkdepends="python3-pytest"
 short_desc="Python3 library to natively send files to trash"
 maintainer="Eloi Torrents <eloitor@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/hsoft/send2trash"
-distfiles="https://github.com/hsoft/send2trash/archive/${version}.tar.gz"
-checksum=937b038abd9f1e7b8c5d7a116be5dc4663beb71df74dcccffe56cacf992c7a9c
-make_check=ci-skip # fails "test_trash_topdir_failure" due to root
+changelog="https://raw.githubusercontent.com/arsenetar/send2trash/master/CHANGES.rst"
+distfiles="${PYPI_SITE}/S/Send2Trash/Send2Trash-${version}.tar.gz"
+checksum=c132d59fa44b9ca2b1699af5c86f57ce9f4c5eb56629d5d55fbb7a35f84e2312
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# this test fails on CI (due to root)
+	make_check_args="
+	 --deselect=tests/test_plat_other.py::test_trash_topdir_failure
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From 041ea70eda4ba042928fd84a7b9abff49499cdb8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:14 -0300
Subject: [PATCH 02/27] python3-comm: update to 0.1.4.

---
 srcpkgs/python3-comm/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/python3-comm/template b/srcpkgs/python3-comm/template
index 2e07727855022..13ad0328ee940 100644
--- a/srcpkgs/python3-comm/template
+++ b/srcpkgs/python3-comm/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-comm'
 pkgname=python3-comm
-version=0.1.3
-revision=2
+version=0.1.4
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-traitlets"
@@ -12,7 +12,7 @@ license="BSD-3-Clause"
 homepage="https://github.com/ipython/comm/"
 changelog="https://raw.githubusercontent.com/ipython/comm/main/CHANGELOG.md"
 distfiles="https://github.com/ipython/comm/archive/refs/tags/v$version.tar.gz"
-checksum=9bdea650a6194bf1628b17c2668bf74bf5295c87a7528a8aa4fe4472904b26f2
+checksum=4b7c0b56439d6835c1f4abf31b81c931fd6a6eba9e38f11f74ac80d1a720bed7
 
 post_install() {
 	vlicense LICENSE

From 67f0cb3c19f36733c19d1a9182ad4f5d757102f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 10:30:19 -0300
Subject: [PATCH 03/27] python3-traitlets: update to 5.11.2.

---
 srcpkgs/python3-traitlets/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/python3-traitlets/template b/srcpkgs/python3-traitlets/template
index 0949220e9ae0b..f48119dadca32 100644
--- a/srcpkgs/python3-traitlets/template
+++ b/srcpkgs/python3-traitlets/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-traitlets'
 pkgname=python3-traitlets
-version=5.10.0
-revision=2
+version=5.11.2
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3"
@@ -10,9 +10,9 @@ short_desc="Configuration system for Python applications"
 maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/traitlets"
-changelog="https://github.com/ipython/traitlets/raw/main/CHANGELOG.md"
+changelog="https://raw.githubusercontent.com/ipython/traitlets/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/t/traitlets/traitlets-${version}.tar.gz"
-checksum=f584ea209240466e66e91f3c81aa7d004ba4cf794990b0c775938a1544217cd1
+checksum=7564b5bf8d38c40fa45498072bf4dc5e8346eb087bbf1e2ae2d8774f6a0f078e
 
 post_install() {
 	vlicense LICENSE

From f6b1dc91fd718b83ce3852f0b11d690736fc4637 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 29 Sep 2023 22:50:26 -0300
Subject: [PATCH 04/27] python3-QtPy: update to 2.4.0, adopt.

---
 srcpkgs/python3-QtPy/patches/fix-test.patch | 11 +++++++
 srcpkgs/python3-QtPy/template               | 36 +++++++++++----------
 2 files changed, 30 insertions(+), 17 deletions(-)
 create mode 100644 srcpkgs/python3-QtPy/patches/fix-test.patch

diff --git a/srcpkgs/python3-QtPy/patches/fix-test.patch b/srcpkgs/python3-QtPy/patches/fix-test.patch
new file mode 100644
index 0000000000000..23987e260c928
--- /dev/null
+++ b/srcpkgs/python3-QtPy/patches/fix-test.patch
@@ -0,0 +1,11 @@
+--- a/qtpy/tests/test_main.py	2023-08-29 13:07:50.000000000 -0300
++++ b/qtpy/tests/test_main.py	2023-09-29 22:04:52.945280612 -0300
+@@ -115,7 +115,7 @@
+     pytest.importorskip(mod, reason=f"Requires {api}")
+     # clean env
+     env = os.environ.copy()
+-    for key in ("QT_API", "USE_QT_API"):
++    for key in ("QT_API", "USE_QT_API", "FORCE_QT_API"):
+         if key in env:
+             del env[key]
+     cmd = f"""
diff --git a/srcpkgs/python3-QtPy/template b/srcpkgs/python3-QtPy/template
index 10563bde6b23d..4f545f6a6e4df 100644
--- a/srcpkgs/python3-QtPy/template
+++ b/srcpkgs/python3-QtPy/template
@@ -1,36 +1,38 @@
 # Template file for 'python3-QtPy'
 pkgname=python3-QtPy
-version=2.3.1
+version=2.4.0
 revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 # depends on either of PyQt5, PyQt6
 depends="python3"
-# Packages common to both PyQt5 and PyQt6
-_qtcommon="python3-PyQt5-sql python3-PyQt5-svg python3-PyQt5-webengine
- python3-PyQt5-websockets python3-PyQt5-multimedia python3-PyQt5-tools"
-checkdepends="python3-pytest python3-mock python3-pyqt6-declarative
- python3-pyqt6-widgets python3-pyqt6-gui python3-pyqt6-opengl-widgets
- python3-pyqt6-printsupport python3-pyqt6-network python3-pyqt6-devel-tools
- python3-pyqt6-test python3-pyqt6-webchannel python3-pyqt6-xml
- qt6-plugin-sqlite python3-PyQt5-quick python3-PyQt5-xmlpatterns
- python3-PyQt5-location python3-PyQt5-opengl qt5-plugin-sqlite ${_qtcommon}
- ${_qtcommon//PyQt5/pyqt6}"
+# check dependencies common to both PyQt5 and PyQt6
+_qtcommon=":connectivity :multimedia :sensors :serialport :sql :svg :tools
+ :webchannel :webengine :websockets"
+# check dependencies only for PyQt5
+_qt5check="${_qtcommon} :location :opengl :quick :x11extras :xmlpatterns
+ qt5-plugin-sqlite"
+# check dependencies only for PyQt6
+_qt6check="${_qtcommon} :dbus :declarative :devel-tools :gui :network
+ :opengl-widgets :printsupport :quick3d :remoteobjects :test :widgets :xml
+ qt6-plugin-sqlite"
+checkdepends="python3-pytest-cov python3-pytest-qt font-liberation-ttf
+ ${_qt5check//:/python3-PyQt5-} ${_qt6check//:/python3-pyqt6-}"
 short_desc="Abstraction layer on top of various Python Qt bindings"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="MIT"
 homepage="https://github.com/spyder-ide/qtpy"
+changelog="https://raw.githubusercontent.com/spyder-ide/qtpy/master/CHANGELOG.md"
 distfiles="${PYPI_SITE}/Q/QtPy/QtPy-${version}.tar.gz"
-checksum=a8c74982d6d172ce124d80cafd39653df78989683f760f2281ba91a6e7b9de8b
+checksum=db2d508167aa6106781565c8da5c6f1487debacba33519cedc35fa8997d424d4
 
 do_check() {
 	local qtapi
 
-	rm -f pytest.ini
-
 	for qtapi in pyqt5 pyqt6; do
-		CI=1 USE_QT_API="${qtapi}" QT_API="${qtapi}" \
-		python3 -m pytest -k 'not test_qttexttospeech' qtpy/tests
+		msg_normal "... running pytest with QT_API=$qtapi\n"
+		FORCE_QT_API=1 QT_API="${qtapi}" \
+		python3 -m pytest -k 'not test_qttexttospeech'
 	done
 }
 

From 1748fa8c518b55bf97e8e4d5b08f1ef998be7590 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 14:23:56 -0300
Subject: [PATCH 05/27] python3-dateutil: fix deprecation warning

---
 .../avoid-deprecated-utcfromtimestamp.patch   | 25 +++++++++++++++++++
 srcpkgs/python3-dateutil/template             |  2 +-
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch

diff --git a/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
new file mode 100644
index 0000000000000..9ac4acc89947d
--- /dev/null
+++ b/srcpkgs/python3-dateutil/patches/avoid-deprecated-utcfromtimestamp.patch
@@ -0,0 +1,25 @@
+Taken from https://github.com/dateutil/dateutil/pull/1285
+
+From f2293200747fb03d56c6c5997bfebeabe703576f Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Fri, 2 Jun 2023 14:06:41 +0100
+Subject: [PATCH 1/2] avoid deprecated utcfromtimestamp
+
+Fixes #1284
+---
+ src/dateutil/tz/tz.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/dateutil/tz/tz.py b/src/dateutil/tz/tz.py
+index c67f56d46..617591446 100644
+--- a/dateutil/tz/tz.py
++++ b/dateutil/tz/tz.py
+@@ -34,7 +34,7 @@
+ from warnings import warn
+ 
+ ZERO = datetime.timedelta(0)
+-EPOCH = datetime.datetime.utcfromtimestamp(0)
++EPOCH = datetime.datetime(1970, 1, 1, 0, 0)
+ EPOCHORDINAL = EPOCH.toordinal()
+ 
+ 
diff --git a/srcpkgs/python3-dateutil/template b/srcpkgs/python3-dateutil/template
index 1d86829608a45..c5b2ad5b03e6e 100644
--- a/srcpkgs/python3-dateutil/template
+++ b/srcpkgs/python3-dateutil/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-dateutil'
 pkgname=python3-dateutil
 version=2.8.2
-revision=3
+revision=4
 build_style=python3-module
 hostmakedepends="python3-setuptools_scm"
 depends="python3-six tzdata"

From 405b18c82e43cdba4db37c54e776ce799da66f26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 7 Oct 2023 22:11:00 -0300
Subject: [PATCH 06/27] python3-tornado: update to 6.3.3.

---
 .../patches/3288-utcnow-deprecation.patch     | 378 ++++++++++++++++++
 .../patches/3335-utcnow-deprecation.patch     |  81 ++++
 srcpkgs/python3-tornado/template              |   6 +-
 3 files changed, 462 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
 create mode 100644 srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..19e7ff9714e5d
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3288-utcnow-deprecation.patch
@@ -0,0 +1,378 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3288
+
+From 4d4d80c1d076dcb4e051c969ae4b66557d3856b8 Mon Sep 17 00:00:00 2001
+From: Ben Darnell <ben@bendarnell.com>
+Date: Thu, 8 Jun 2023 22:52:19 -0400
+Subject: [PATCH] *: Adapt to deprecation of datetime utc methods
+
+Python 3.12 deprecates the utcnow and utcfromtimestamp methods and
+discourages the use of naive datetimes to represent UTC. This was
+previously the main way that Tornado used datetimes (since it was
+the only option available in Python 2 before the introduction
+of datetime.timezone.utc in Python 3.2).
+
+- httpclient_test: Test-only change to test that both kinds of datetimes
+  are supported in If-Modified-Since (this just calls
+  httputil.format_timestamp)
+- httputil: No functional changes, but format_timestamp's
+  support for both naive and aware datetimes is now tested.
+- locale: format_timestamp now supports aware datetimes (in
+  addition to the existing support for naive datetimes).
+- web: Cookie expirations internally use aware datetimes.
+  StaticFileHandler.get_modified_time now supports both and the
+  standard implementation returns aware.
+
+It feels fragile that "naive" and "aware" datetimes are not distinct
+types but subject to data-dependent behavior. This change uses
+"aware" datetimes throughout Tornado, but some operations (comparisons
+and subtraction) fail with mixed datetime types and if I missed any
+in this change may cause errors if naive datetimes were used (where
+previously naive datetimes would have been required). But that's
+apparently the API we have to work with.
+---
+ tornado/httputil.py             |  3 +-
+ tornado/locale.py               | 12 +++--
+ tornado/test/httpclient_test.py | 12 ++++-
+ tornado/test/httputil_test.py   | 26 +++++++++-
+ tornado/test/locale_test.py     | 88 ++++++++++++++++++---------------
+ tornado/test/web_test.py        | 25 +++++-----
+ tornado/web.py                  | 28 +++++++----
+ 7 files changed, 126 insertions(+), 68 deletions(-)
+
+diff --git a/tornado/httputil.py b/tornado/httputil.py
+index 9c341d47cc..b21d8046c4 100644
+--- a/tornado/httputil.py
++++ b/tornado/httputil.py
+@@ -856,7 +856,8 @@ def format_timestamp(
+ 
+     The argument may be a numeric timestamp as returned by `time.time`,
+     a time tuple as returned by `time.gmtime`, or a `datetime.datetime`
+-    object.
++    object. Naive `datetime.datetime` objects are assumed to represent
++    UTC; aware objects are converted to UTC before formatting.
+ 
+     >>> format_timestamp(1359312200)
+     'Sun, 27 Jan 2013 18:43:20 GMT'
+diff --git a/tornado/locale.py b/tornado/locale.py
+index 55072af28d..c5526703b1 100644
+--- a/tornado/locale.py
++++ b/tornado/locale.py
+@@ -333,7 +333,7 @@ def format_date(
+         shorter: bool = False,
+         full_format: bool = False,
+     ) -> str:
+-        """Formats the given date (which should be GMT).
++        """Formats the given date.
+ 
+         By default, we return a relative time (e.g., "2 minutes ago"). You
+         can return an absolute date string with ``relative=False``.
+@@ -343,10 +343,16 @@ def format_date(
+ 
+         This method is primarily intended for dates in the past.
+         For dates in the future, we fall back to full format.
++
++        .. versionchanged:: 6.4
++           Aware `datetime.datetime` objects are now supported (naive
++           datetimes are still assumed to be UTC).
+         """
+         if isinstance(date, (int, float)):
+-            date = datetime.datetime.utcfromtimestamp(date)
+-        now = datetime.datetime.utcnow()
++            date = datetime.datetime.fromtimestamp(date, datetime.timezone.utc)
++        if date.tzinfo is None:
++            date = date.replace(tzinfo=datetime.timezone.utc)
++        now = datetime.datetime.now(datetime.timezone.utc)
+         if date > now:
+             if relative and (date - now).seconds < 60:
+                 # Due to click skew, things are some things slightly
+diff --git a/tornado/test/httpclient_test.py b/tornado/test/httpclient_test.py
+index a71ec0afb6..a41040e64a 100644
+--- a/tornado/test/httpclient_test.py
++++ b/tornado/test/httpclient_test.py
+@@ -28,7 +28,7 @@
+ from tornado.log import gen_log, app_log
+ from tornado import netutil
+ from tornado.testing import AsyncHTTPTestCase, bind_unused_port, gen_test, ExpectLog
+-from tornado.test.util import skipOnTravis
++from tornado.test.util import skipOnTravis, ignore_deprecation
+ from tornado.web import Application, RequestHandler, url
+ from tornado.httputil import format_timestamp, HTTPHeaders
+ 
+@@ -887,7 +887,15 @@ def test_body_setter(self):
+         self.assertEqual(request.body, utf8("foo"))
+ 
+     def test_if_modified_since(self):
+-        http_date = datetime.datetime.utcnow()
++        http_date = datetime.datetime.now(datetime.timezone.utc)
++        request = HTTPRequest("http://example.com", if_modified_since=http_date)
++        self.assertEqual(
++            request.headers, {"If-Modified-Since": format_timestamp(http_date)}
++        )
++
++    def test_if_modified_since_naive_deprecated(self):
++        with ignore_deprecation():
++            http_date = datetime.datetime.utcnow()
+         request = HTTPRequest("http://example.com", if_modified_since=http_date)
+         self.assertEqual(
+             request.headers, {"If-Modified-Since": format_timestamp(http_date)}
+diff --git a/tornado/test/httputil_test.py b/tornado/test/httputil_test.py
+index 8424491d87..aa9b6ee253 100644
+--- a/tornado/test/httputil_test.py
++++ b/tornado/test/httputil_test.py
+@@ -13,6 +13,7 @@
+ from tornado.escape import utf8, native_str
+ from tornado.log import gen_log
+ from tornado.testing import ExpectLog
++from tornado.test.util import ignore_deprecation
+ 
+ import copy
+ import datetime
+@@ -412,8 +413,29 @@ def test_time_tuple(self):
+         self.assertEqual(9, len(tup))
+         self.check(tup)
+ 
+-    def test_datetime(self):
+-        self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++    def test_utc_naive_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone.utc
++            ).replace(tzinfo=None)
++        )
++
++    def test_utc_naive_datetime_deprecated(self):
++        with ignore_deprecation():
++            self.check(datetime.datetime.utcfromtimestamp(self.TIMESTAMP))
++
++    def test_utc_aware_datetime(self):
++        self.check(
++            datetime.datetime.fromtimestamp(self.TIMESTAMP, datetime.timezone.utc)
++        )
++
++    def test_other_aware_datetime(self):
++        # Other timezones are ignored; the timezone is always printed as GMT
++        self.check(
++            datetime.datetime.fromtimestamp(
++                self.TIMESTAMP, datetime.timezone(datetime.timedelta(hours=-4))
++            )
++        )
+ 
+ 
+ # HTTPServerRequest is mainly tested incidentally to the server itself,
+diff --git a/tornado/test/locale_test.py b/tornado/test/locale_test.py
+index ee74cb05e8..a2e0872b8f 100644
+--- a/tornado/test/locale_test.py
++++ b/tornado/test/locale_test.py
+@@ -91,45 +91,55 @@ def test_format_date(self):
+             locale.format_date(date, full_format=True), "April 28, 2013 at 6:35 pm"
+         )
+ 
+-        now = datetime.datetime.utcnow()
+-
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(seconds=2), full_format=False),
+-            "2 seconds ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(minutes=2), full_format=False),
+-            "2 minutes ago",
+-        )
+-        self.assertEqual(
+-            locale.format_date(now - datetime.timedelta(hours=2), full_format=False),
+-            "2 hours ago",
+-        )
+-
+-        self.assertEqual(
+-            locale.format_date(
+-                now - datetime.timedelta(days=1), full_format=False, shorter=True
+-            ),
+-            "yesterday",
+-        )
+-
+-        date = now - datetime.timedelta(days=2)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            locale._weekdays[date.weekday()],
+-        )
+-
+-        date = now - datetime.timedelta(days=300)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d" % (locale._months[date.month - 1], date.day),
+-        )
+-
+-        date = now - datetime.timedelta(days=500)
+-        self.assertEqual(
+-            locale.format_date(date, full_format=False, shorter=True),
+-            "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
+-        )
++        aware_dt = datetime.datetime.now(datetime.timezone.utc)
++        naive_dt = aware_dt.replace(tzinfo=None)
++        for name, now in {"aware": aware_dt, "naive": naive_dt}.items():
++            with self.subTest(dt=name):
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(seconds=2), full_format=False
++                    ),
++                    "2 seconds ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(minutes=2), full_format=False
++                    ),
++                    "2 minutes ago",
++                )
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(hours=2), full_format=False
++                    ),
++                    "2 hours ago",
++                )
++
++                self.assertEqual(
++                    locale.format_date(
++                        now - datetime.timedelta(days=1),
++                        full_format=False,
++                        shorter=True,
++                    ),
++                    "yesterday",
++                )
++
++                date = now - datetime.timedelta(days=2)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    locale._weekdays[date.weekday()],
++                )
++
++                date = now - datetime.timedelta(days=300)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d" % (locale._months[date.month - 1], date.day),
++                )
++
++                date = now - datetime.timedelta(days=500)
++                self.assertEqual(
++                    locale.format_date(date, full_format=False, shorter=True),
++                    "%s %d, %d" % (locale._months[date.month - 1], date.day, date.year),
++                )
+ 
+     def test_friendly_number(self):
+         locale = tornado.locale.get("en_US")
+diff --git a/tornado/test/web_test.py b/tornado/test/web_test.py
+index 56900d9a00..fb9c3417b9 100644
+--- a/tornado/test/web_test.py
++++ b/tornado/test/web_test.py
+@@ -404,10 +404,10 @@ def test_set_cookie_expires_days(self):
+         match = re.match("foo=bar; expires=(?P<expires>.+); Path=/", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=10)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=10
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+     def test_set_cookie_false_flags(self):
+@@ -1697,11 +1697,10 @@ def get(self):
+ 
+     def test_date_header(self):
+         response = self.fetch("/")
+-        parsed = email.utils.parsedate(response.headers["Date"])
+-        assert parsed is not None
+-        header_date = datetime.datetime(*parsed[:6])
++        header_date = email.utils.parsedate_to_datetime(response.headers["Date"])
+         self.assertTrue(
+-            header_date - datetime.datetime.utcnow() < datetime.timedelta(seconds=2)
++            header_date - datetime.datetime.now(datetime.timezone.utc)
++            < datetime.timedelta(seconds=2)
+         )
+ 
+ 
+@@ -3010,10 +3009,12 @@ def test_xsrf_httponly(self):
+         match = re.match(".*; expires=(?P<expires>.+);.*", header)
+         assert match is not None
+ 
+-        expires = datetime.datetime.utcnow() + datetime.timedelta(days=2)
+-        parsed = email.utils.parsedate(match.groupdict()["expires"])
+-        assert parsed is not None
+-        header_expires = datetime.datetime(*parsed[:6])
++        expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++            days=2
++        )
++        header_expires = email.utils.parsedate_to_datetime(match.groupdict()["expires"])
++        if header_expires.tzinfo is None:
++            header_expires = header_expires.replace(tzinfo=datetime.timezone.utc)
+         self.assertTrue(abs((expires - header_expires).total_seconds()) < 10)
+ 
+ 
+diff --git a/tornado/web.py b/tornado/web.py
+index 565140493e..439e02c47b 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -647,7 +647,9 @@ def set_cookie(
+         if domain:
+             morsel["domain"] = domain
+         if expires_days is not None and not expires:
+-            expires = datetime.datetime.utcnow() + datetime.timedelta(days=expires_days)
++            expires = datetime.datetime.now(datetime.timezone.utc) + datetime.timedelta(
++                days=expires_days
++            )
+         if expires:
+             morsel["expires"] = httputil.format_timestamp(expires)
+         if path:
+@@ -698,7 +700,9 @@ def clear_cookie(self, name: str, **kwargs: Any) -> None:
+                 raise TypeError(
+                     f"clear_cookie() got an unexpected keyword argument '{excluded_arg}'"
+                 )
+-        expires = datetime.datetime.utcnow() - datetime.timedelta(days=365)
++        expires = datetime.datetime.now(datetime.timezone.utc) - datetime.timedelta(
++            days=365
++        )
+         self.set_cookie(name, value="", expires=expires, **kwargs)
+ 
+     def clear_all_cookies(self, **kwargs: Any) -> None:
+@@ -2812,12 +2816,12 @@ def should_return_304(self) -> bool:
+         # content has not been modified
+         ims_value = self.request.headers.get("If-Modified-Since")
+         if ims_value is not None:
+-            date_tuple = email.utils.parsedate(ims_value)
+-            if date_tuple is not None:
+-                if_since = datetime.datetime(*date_tuple[:6])
+-                assert self.modified is not None
+-                if if_since >= self.modified:
+-                    return True
++            if_since = email.utils.parsedate_to_datetime(ims_value)
++            if if_since.tzinfo is None:
++                if_since = if_since.replace(tzinfo=datetime.timezone.utc)
++            assert self.modified is not None
++            if if_since >= self.modified:
++                return True
+ 
+         return False
+ 
+@@ -2981,6 +2985,10 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         object or None.
+ 
+         .. versionadded:: 3.1
++
++        .. versionchanged:: 6.4
++           Now returns an aware datetime object instead of a naive one.
++           Subclasses that override this method may return either kind.
+         """
+         stat_result = self._stat()
+         # NOTE: Historically, this used stat_result[stat.ST_MTIME],
+@@ -2991,7 +2999,9 @@ def get_modified_time(self) -> Optional[datetime.datetime]:
+         # consistency with the past (and because we have a unit test
+         # that relies on this), we truncate the float here, although
+         # I'm not sure that's the right thing to do.
+-        modified = datetime.datetime.utcfromtimestamp(int(stat_result.st_mtime))
++        modified = datetime.datetime.fromtimestamp(
++            int(stat_result.st_mtime), datetime.timezone.utc
++        )
+         return modified
+ 
+     def get_content_type(self) -> str:
diff --git a/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..23c210d12f689
--- /dev/null
+++ b/srcpkgs/python3-tornado/patches/3335-utcnow-deprecation.patch
@@ -0,0 +1,81 @@
+Taken from https://github.com/tornadoweb/tornado/pull/3335
+
+From 0bfca3f2d72a0c6e5d3ba17caac88a79e7b4e0dd Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Tue, 3 Oct 2023 15:08:08 +0100
+Subject: [PATCH] remove calls to utcnow and utcfromtimestamp
+
+---
+ demos/blog/templates/feed.xml |  2 +-
+ demos/s3server/s3server.py    | 16 +++++++++++-----
+ tornado/web.py                |  3 ++-
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/demos/blog/templates/feed.xml b/demos/blog/templates/feed.xml
+index a98826c8d3..4a4a252f60 100644
+--- a/demos/blog/templates/feed.xml
++++ b/demos/blog/templates/feed.xml
+@@ -5,7 +5,7 @@
+   {% if len(entries) > 0 %}
+     <updated>{{ max(e.updated for e in entries).strftime(date_format) }}</updated>
+   {% else %}
+-    <updated>{{ datetime.datetime.utcnow().strftime(date_format) }}</updated>
++    <updated>{{ datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None).strftime(date_format) }}</updated>
+   {% end %}
+   <id>http://{{ request.host }}/</id>
+   <link rel="alternate" href="http://{{ request.host }}/" title="{{ handler.settings["blog_title"] }}" type="text/html"/>
+diff --git a/demos/s3server/s3server.py b/demos/s3server/s3server.py
+index 5c5e6af2ba..104a7c8f81 100644
+--- a/demos/s3server/s3server.py
++++ b/demos/s3server/s3server.py
+@@ -138,7 +138,9 @@ def get(self):
+             buckets.append(
+                 {
+                     "Name": name,
+-                    "CreationDate": datetime.datetime.utcfromtimestamp(info.st_ctime),
++                    "CreationDate": datetime.datetime.fromtimestamp(
++                        info.st_ctime, datetime.timezone.utc
++                    ).replace(tzinfo=None),
+                 }
+             )
+         self.render_xml({"ListAllMyBucketsResult": {"Buckets": {"Bucket": buckets}}})
+@@ -183,9 +185,10 @@ def get(self, bucket_name):
+                 info = os.stat(object_path)
+                 c.update(
+                     {
+-                        "LastModified": datetime.datetime.utcfromtimestamp(
+-                            info.st_mtime
+-                        ),
++                        "LastModified": datetime.datetime.fromtimestamp(
++                            info.st_mtime,
++                            datetime.timezone.utc,
++                        ).replace(tzinfo=None),
+                         "Size": info.st_size,
+                     }
+                 )
+@@ -231,7 +234,10 @@ def get(self, bucket, object_name):
+         info = os.stat(path)
+         self.set_header("Content-Type", "application/unknown")
+         self.set_header(
+-            "Last-Modified", datetime.datetime.utcfromtimestamp(info.st_mtime)
++            "Last-Modified",
++            datetime.datetime.fromtimestamp(
++                info.st_mtime, datetime.timezone.utc
++            ).replace(tzinfo=None),
+         )
+         with open(path, "rb") as object_file:
+             self.finish(object_file.read())
+diff --git a/tornado/web.py b/tornado/web.py
+index 333f736808..4416e2013e 100644
+--- a/tornado/web.py
++++ b/tornado/web.py
+@@ -2797,7 +2797,8 @@ def set_headers(self) -> None:
+         if cache_time > 0:
+             self.set_header(
+                 "Expires",
+-                datetime.datetime.utcnow() + datetime.timedelta(seconds=cache_time),
++                datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None)
++                + datetime.timedelta(seconds=cache_time),
+             )
+             self.set_header("Cache-Control", "max-age=" + str(cache_time))
+ 
diff --git a/srcpkgs/python3-tornado/template b/srcpkgs/python3-tornado/template
index 103c4cc4f099e..65bc0e55ac83e 100644
--- a/srcpkgs/python3-tornado/template
+++ b/srcpkgs/python3-tornado/template
@@ -1,7 +1,7 @@
 # Template file for 'python3-tornado'
 pkgname=python3-tornado
-version=6.3.2
-revision=2
+version=6.3.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="python3-setuptools python3-wheel"
 makedepends="python3-devel"
@@ -13,7 +13,7 @@ license="Apache-2.0"
 homepage="http://www.tornadoweb.org/"
 changelog="https://www.tornadoweb.org/en/stable/releases.html"
 distfiles="${PYPI_SITE}/t/tornado/tornado-${version}.tar.gz"
-checksum=4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba
+checksum=e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe
 
 do_check() {
 	# There is one instance of test_bind_source_ip (the one for

From b454c4fb5d9a7ab6e0656d976b80afe03fd46a01 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 21:17:12 -0300
Subject: [PATCH 07/27] python3-jupyter_core: update to 5.3.1, adopt.

---
 .../patches/platform_dirs_true.patch          | 24 +++++++++++++++++
 srcpkgs/python3-jupyter_core/template         | 26 +++++++++++++------
 srcpkgs/python3-jupyter_core/update           |  3 +++
 3 files changed, 45 insertions(+), 8 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch

diff --git a/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
new file mode 100644
index 0000000000000..7f8a56d62bd96
--- /dev/null
+++ b/srcpkgs/python3-jupyter_core/patches/platform_dirs_true.patch
@@ -0,0 +1,24 @@
+Default to using platformdirs
+
+--- a/jupyter_core/paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/paths.py	2023-06-04 00:49:36.985844333 -0300
+@@ -53,7 +53,7 @@
+     We plan for this to default to False in jupyter_core version 5 and to True
+     in jupyter_core version 6.
+     """
+-    return envset("JUPYTER_PLATFORM_DIRS", False)  # type:ignore[return-value]
++    return envset("JUPYTER_PLATFORM_DIRS", True)  # type:ignore[return-value]
+ 
+ 
+ def get_home_dir() -> str:
+--- a/jupyter_core/tests/test_paths.py	2020-02-01 21:00:00.000000000 -0300
++++ b/jupyter_core/tests/test_paths.py	2023-06-04 00:49:05.967219753 -0300
+@@ -86,7 +86,7 @@
+     return os.path.abspath(os.path.realpath(os.path.expanduser(path)))
+ 
+ 
+-home_jupyter = realpath("~/.jupyter")
++home_jupyter = realpath("~/.config/jupyter")
+ 
+ 
+ def test_envset():
diff --git a/srcpkgs/python3-jupyter_core/template b/srcpkgs/python3-jupyter_core/template
index 092921c77a5d4..57af2b9eff989 100644
--- a/srcpkgs/python3-jupyter_core/template
+++ b/srcpkgs/python3-jupyter_core/template
@@ -1,20 +1,30 @@
 # Template file for 'python3-jupyter_core'
 pkgname=python3-jupyter_core
-version=5.0.0
-revision=3
+version=5.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
+hostmakedepends="hatchling"
 depends="python3-traitlets python3-platformdirs"
+checkdepends="$depends python3-pytest python3-pip"
 short_desc="Jupyter core package"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://jupyter.org"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_core/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_core/jupyter_core-${version}.tar.gz"
-checksum=4ed68b7c606197c7e344a24b7195eef57898157075a69655a886074b6beb7043
+checksum=5ba5c7938a7f97a6b0481463f7ff0dbac7c15ba48cf46fa4035ca6e838aa1aba
 conflicts="python-jupyter_core<=4.4.0_3"
-# checks create a cycle with python3-jypter_client and python3-ipython_ipykernel
-make_check=no
+
+do_check() {
+	# Running via PYTHONPATH breaks a few tests so we use a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest
+}
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }
diff --git a/srcpkgs/python3-jupyter_core/update b/srcpkgs/python3-jupyter_core/update
index 25ef51d109a4f..a42c0d0b9f127 100644
--- a/srcpkgs/python3-jupyter_core/update
+++ b/srcpkgs/python3-jupyter_core/update
@@ -1 +1,4 @@
 ignore="*a* *b* *rc*"
+# 5.3.2 breaks jupyter_client
+# (https://github.com/jupyter/jupyter_core/pull/362)
+ignore+=" 5.3.2"

From aa3c634c73f3c4fabf9751b1454fe2a6bcfea3f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 18:39:23 -0300
Subject: [PATCH 08/27] New package: python3-jupyter_events-0.7.0

---
 srcpkgs/python3-jupyter_events/template | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_events/template

diff --git a/srcpkgs/python3-jupyter_events/template b/srcpkgs/python3-jupyter_events/template
new file mode 100644
index 0000000000000..4453d49c37034
--- /dev/null
+++ b/srcpkgs/python3-jupyter_events/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jupyter_events'
+pkgname=python3-jupyter_events
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jsonschema python3-json-logger python3-yaml python3-traitlets
+ python3-click python3-rich python3-rfc3339-validator python3-rfc3986-validator"
+checkdepends="$depends python3-pytest-asyncio python3-pytest-console-scripts"
+short_desc="Configurable event system for Jupyter applications and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter/jupyter_events"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_events/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_events/jupyter_events-${version}.tar.gz"
+checksum=7be27f54b8388c03eefea123a4f79247c5b9381c49fb1cd48615ee191eb12615
+
+post_install() {
+	vlicense LICENSE
+}

From bc9ae57872cf5a6354711f12a3263c977a71e6b0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 23 May 2023 23:15:56 -0300
Subject: [PATCH 09/27] python3-jupyter_nbformat: update to 5.9.2, adopt.

---
 srcpkgs/python3-jupyter_nbformat/template | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_nbformat/template b/srcpkgs/python3-jupyter_nbformat/template
index 12c384639fe7f..357d1053e002a 100644
--- a/srcpkgs/python3-jupyter_nbformat/template
+++ b/srcpkgs/python3-jupyter_nbformat/template
@@ -1,21 +1,21 @@
 # Template file for 'python3-jupyter_nbformat'
 pkgname=python3-jupyter_nbformat
-version=5.3.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jsonschema python3-traitlets
- python3-ipython_genutils python3-jupyter_core
- python3-fastjsonschema"
-checkdepends="python3-pytest python3-testpath $depends"
+version=5.9.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-nodejs-version"
+depends="python3-fastjsonschema python3-jsonschema python3-jupyter_core
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-testpath python3-pep440"
 short_desc="Jupyter notebook format"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbformat"
+changelog="https://raw.githubusercontent.com/jupyter/nbformat/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbformat/nbformat-${version}.tar.gz"
-checksum=fcc5ab8cb74e20b19570b5be809e2dba9b82836fd2761a89066ad43394ba29f5
+checksum=5f98b5ba1997dff175e77e0c17d5c10a96eaed2cbd1de3533d1fc35d5e111192
 conflicts="python-jupyter_nbformat<=4.4.0_3"
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 5f0effd334fc6bb6301cd2b7b4592e43e472a0c8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 17:54:18 -0300
Subject: [PATCH 10/27] python3-jupyter_widgetsnbextension: update to 4.0.9,
 adopt.

---
 .../python3-jupyter_widgetsnbextension/template | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyter_widgetsnbextension/template b/srcpkgs/python3-jupyter_widgetsnbextension/template
index 059756289a09f..6015ea6e8d69a 100644
--- a/srcpkgs/python3-jupyter_widgetsnbextension/template
+++ b/srcpkgs/python3-jupyter_widgetsnbextension/template
@@ -1,19 +1,16 @@
 # Template file for 'python3-jupyter_widgetsnbextension'
 pkgname=python3-jupyter_widgetsnbextension
-version=3.5.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook"
-checkdepends="$depends"
+version=4.0.9
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 short_desc="Interactive HTML widgets for Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://pypi.org/project/widgetsnbextension/"
 distfiles="${PYPI_SITE}/w/widgetsnbextension/widgetsnbextension-${version}.tar.gz"
-checksum=079f87d87270bce047512400efd70238820751a11d2d8cb137a5a5bdbaf255c7
-replaces="python-jupyter_widgetsnbextension-data>=0"
-conf_files="/etc/jupyter/nbconfig/notebook.d/widgetsnbextension.json"
+checksum=3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385
+make_check=no  # Upstream defines no tests
 
 post_install() {
 	# /usr/etc is intended for *example configuration*

From 8a4c56f38f613add634a44f9bc389f38943bf718 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 13:25:40 -0300
Subject: [PATCH 11/27] python3-jupyterlab_pygments: update to 0.2.2.

---
 srcpkgs/python3-jupyterlab_pygments/template | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_pygments/template b/srcpkgs/python3-jupyterlab_pygments/template
index 034398f8cadac..cf382fcb45af2 100644
--- a/srcpkgs/python3-jupyterlab_pygments/template
+++ b/srcpkgs/python3-jupyterlab_pygments/template
@@ -1,18 +1,22 @@
 # Template file for 'python3-jupyterlab_pygments'
 pkgname=python3-jupyterlab_pygments
-version=0.1.2
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=0.2.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-jupyter_packaging"
 depends="python3-Pygments"
 short_desc="Pygments theme making use of JupyterLab CSS variables"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyterlab/jupyterlab_pygments"
 distfiles="${PYPI_SITE}/j/jupyterlab_pygments/jupyterlab_pygments-${version}.tar.gz"
-checksum=cfcda0873626150932f438eccf0f8bf22bfa92345b814890ab360d666b254146
-# Upstream defines no tests
-make_check=no
+checksum=7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d
+make_check=no  # Upstream defines no tests
+
+post_patch() {
+	# jupyterlab not really needed for building
+	vsed -i -e 's|, "jupyterlab~=3.1"||' pyproject.toml
+}
 
 post_install() {
 	vlicense LICENSE

From 18ab7befe3f23e8f1ac631aa9b5d9658945e827a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 23:01:30 -0300
Subject: [PATCH 12/27] New package: python3-pytest-jupyter-0.7.0

---
 srcpkgs/python3-pytest-jupyter/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/python3-pytest-jupyter/template

diff --git a/srcpkgs/python3-pytest-jupyter/template b/srcpkgs/python3-pytest-jupyter/template
new file mode 100644
index 0000000000000..c93ad7314446c
--- /dev/null
+++ b/srcpkgs/python3-pytest-jupyter/template
@@ -0,0 +1,25 @@
+# Template file for 'python3-pytest-jupyter'
+pkgname=python3-pytest-jupyter
+version=0.7.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_core python3-pytest-timeout"
+checkdepends="$depends"
+short_desc="Pytest plugins for Jupyter libraries and extensions"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/pytest-jupyter"
+changelog="https://raw.githubusercontent.com/jupyter-server/pytest-jupyter/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/p/pytest_jupyter/pytest_jupyter-${version}.tar.gz"
+checksum=6403b7f6f5eaaa5a9faffd73d2ff1097106a7dc5c3204292212487fc9fb71843
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a check cycle
+	checkdepends+=" python3-ipython_ipykernel python3-jupyter_server"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

From b71645912a28df3b63b45eb769bb05d53e083f5a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 May 2023 22:43:07 -0300
Subject: [PATCH 13/27] python3-jupyter_client: update to 8.3.1, adopt.

---
 .../patches/972-utcnow-deprecation.patch      | 149 ++++++++++++++++++
 srcpkgs/python3-jupyter_client/template       |  26 +--
 2 files changed, 165 insertions(+), 10 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch b/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch
new file mode 100644
index 0000000000000..47563fbed9ecf
--- /dev/null
+++ b/srcpkgs/python3-jupyter_client/patches/972-utcnow-deprecation.patch
@@ -0,0 +1,149 @@
+Taken from https://github.com/jupyter/jupyter_client/pull/972/
+
+From 493366dd9e11736c32d32b1d84f5fa56d9ee74ab Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert@physics.uu.se>
+Date: Mon, 11 Sep 2023 06:37:16 +0200
+Subject: [PATCH 1/4] Do not use datetime.utcnow() that is deprecated in Python
+ 3.12
+
+Import session.utcnow() into utils instead of reimplementing it
+---
+ jupyter_client/session.py |  2 +-
+ jupyter_client/utils.py   | 34 +---------------------------------
+ 2 files changed, 2 insertions(+), 34 deletions(-)
+
+diff --git a/jupyter_client/session.py b/jupyter_client/session.py
+index ca9d9bbe..ee172d53 100644
+--- a/jupyter_client/session.py
++++ b/jupyter_client/session.py
+@@ -197,7 +197,7 @@ def default_secure(cfg: t.Any) -> None:  # pragma: no cover
+ 
+ def utcnow() -> datetime:
+     """Return timezone-aware UTC timestamp"""
+-    return datetime.utcnow().replace(tzinfo=utc)  # noqa
++    return datetime.now(utc)  # noqa
+ 
+ 
+ # -----------------------------------------------------------------------------
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index ab1cbcaa..4e2943c0 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -4,10 +4,10 @@
+ - vendor functions from ipython_genutils that should be retired at some point.
+ """
+ import os
+-from datetime import datetime, timedelta, tzinfo
+ 
+ from jupyter_core.utils import ensure_async, run_sync  # noqa: F401  # noqa: F401
+ 
++from .session import utcnow
+ 
+ def _filefind(filename, path_dirs=None):
+     """Find a file by looking through a sequence of paths.
+@@ -84,35 +84,3 @@ def _expand_path(s):
+     if os.name == "nt":
+         s = s.replace("IPYTHON_TEMP", "$\\")
+     return s
+-
+-
+-# constant for zero offset
+-ZERO = timedelta(0)
+-
+-
+-class tzUTC(tzinfo):  # noqa
+-    """tzinfo object for UTC (zero offset)"""
+-
+-    def utcoffset(self, d):
+-        """Compute utcoffset."""
+-        return ZERO
+-
+-    def dst(self, d):
+-        """Compute dst."""
+-        return ZERO
+-
+-
+-UTC = tzUTC()  # type:ignore
+-
+-
+-def utc_aware(unaware):
+-    """decorator for adding UTC tzinfo to datetime's utcfoo methods"""
+-
+-    def utc_method(*args, **kwargs):
+-        dt = unaware(*args, **kwargs)
+-        return dt.replace(tzinfo=UTC)
+-
+-    return utc_method
+-
+-
+-utcnow = utc_aware(datetime.utcnow)
+
+From 5468546499f5071171bcb8bccafe034837cc092d Mon Sep 17 00:00:00 2001
+From: "pre-commit-ci[bot]"
+ <66853113+pre-commit-ci[bot]@users.noreply.github.com>
+Date: Mon, 11 Sep 2023 04:44:48 +0000
+Subject: [PATCH 2/4] [pre-commit.ci] auto fixes from pre-commit.com hooks
+
+for more information, see https://pre-commit.ci
+---
+ jupyter_client/utils.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index 4e2943c0..0186a001 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -9,6 +9,7 @@
+ 
+ from .session import utcnow
+ 
++
+ def _filefind(filename, path_dirs=None):
+     """Find a file by looking through a sequence of paths.
+ 
+
+From d78c153d819fb3da3dc80f916747291b5200a302 Mon Sep 17 00:00:00 2001
+From: David Brochart <david.brochart@gmail.com>
+Date: Mon, 11 Sep 2023 09:22:41 +0200
+Subject: [PATCH 3/4] Remove unneeded noqa
+
+---
+ jupyter_client/session.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jupyter_client/session.py b/jupyter_client/session.py
+index ee172d53..e22c9d44 100644
+--- a/jupyter_client/session.py
++++ b/jupyter_client/session.py
+@@ -197,7 +197,7 @@ def default_secure(cfg: t.Any) -> None:  # pragma: no cover
+ 
+ def utcnow() -> datetime:
+     """Return timezone-aware UTC timestamp"""
+-    return datetime.now(utc)  # noqa
++    return datetime.now(utc)
+ 
+ 
+ # -----------------------------------------------------------------------------
+
+From 7ba40db1c6fb505e95df4cf4c3f9176661f2f270 Mon Sep 17 00:00:00 2001
+From: David Brochart <david.brochart@gmail.com>
+Date: Mon, 11 Sep 2023 09:22:57 +0200
+Subject: [PATCH 4/4] Add noqa
+
+---
+ jupyter_client/utils.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/jupyter_client/utils.py b/jupyter_client/utils.py
+index 0186a001..9f1c38e9 100644
+--- a/jupyter_client/utils.py
++++ b/jupyter_client/utils.py
+@@ -7,7 +7,7 @@
+ 
+ from jupyter_core.utils import ensure_async, run_sync  # noqa: F401  # noqa: F401
+ 
+-from .session import utcnow
++from .session import utcnow  # noqa
+ 
+ 
+ def _filefind(filename, path_dirs=None):
diff --git a/srcpkgs/python3-jupyter_client/template b/srcpkgs/python3-jupyter_client/template
index 0cba01daca6f5..3484b2a96bec0 100644
--- a/srcpkgs/python3-jupyter_client/template
+++ b/srcpkgs/python3-jupyter_client/template
@@ -1,21 +1,27 @@
 # Template file for 'python3-jupyter_client'
 pkgname=python3-jupyter_client
-version=7.4.5
-revision=2
+version=8.3.1
+revision=1
 build_style=python3-pep517
-hostmakedepends="python3-flit_core hatchling"
-depends="python3-traitlets python3-jupyter_core python3-pyzmq
- python3-dateutil python3-tornado python3-nest_asyncio python3-entrypoints"
+hostmakedepends="hatchling"
+depends="python3-dateutil python3-jupyter_core python3-pyzmq python3-tornado"
+checkdepends="$depends inetutils-ifconfig iproute2 openssh
+ python3-pytest-jupyter  python3-pytest-timeout"
 short_desc="Jupyter protocol client APIs"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_client"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_client/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_client/jupyter_client-${version}.tar.gz"
-checksum=63eae06c40e1f2d9afa14447511fddc065c95dea3f2491fda2acccf91221954a
+checksum=60294b2d5b869356c893f57b1a877ea6510d60d45cf4b38057f1672d85699ac9
 conflicts="python-jupyter_client<=5.2.4_2"
-# checks create a cycle with python3-jupyter_core and python3-ipython_ipykernel
-make_check=no
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipython_ipykernel"
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From f09d202ea4015692d160c81df891dd15f66a9de6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 2 May 2023 01:07:04 -0300
Subject: [PATCH 14/27] python3-ipython_ipykernel: update to 6.25.2, adopt.

---
 srcpkgs/python3-ipython_ipykernel/template | 41 +++++++++++++++-------
 1 file changed, 29 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-ipython_ipykernel/template b/srcpkgs/python3-ipython_ipykernel/template
index 68f4678ff2c9a..028b1aa989ba4 100644
--- a/srcpkgs/python3-ipython_ipykernel/template
+++ b/srcpkgs/python3-ipython_ipykernel/template
@@ -1,21 +1,38 @@
 # Template file for 'python3-ipython_ipykernel'
 pkgname=python3-ipython_ipykernel
-version=6.19.2
-revision=2
+version=6.25.2
+revision=1
 build_style=python3-pep517
-hostmakedepends="hatchling python3-jupyter_client python3-jupyter_core
- python3-platformdirs"
-depends="python3-ipython python3-traitlets python3-jupyter_client python3-tornado
- python3-matplotlib-inline python3-nest_asyncio python3-packaging python3-psutil
- python3 python3-comm python3-pyzmq"
-short_desc="IPython kernel for Jupyter (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+# these tests fail in 6.25.2
+make_check_args="
+ --deselect ipykernel/tests/test_eventloop.py::test_asyncio_interrupt
+ --deselect ipykernel/tests/test_embed_kernel.py::test_embed_kernel_func
+ --deselect ipykernel/tests/test_kernelspec.py::test_install_kernelspec"
+hostmakedepends="hatchling python3-jupyter_client"
+depends="python3-comm python3-ipython python3-jupyter_client
+ python3-nest_asyncio python3-packaging python3-psutil python3-tornado"
+checkdepends="$depends python3-flaky python3-pytest-asyncio
+ python3-pytest-timeout python3-trio python3-curio python3-matplotlib
+ python3-PyQt5 python3-PyQt5-svg"
+short_desc="IPython kernel for Jupyter"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/ipython/ipykernel"
+changelog="https://raw.githubusercontent.com/ipython/ipykernel/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/i/ipykernel/ipykernel-${version}.tar.gz"
-checksum=1ab68d3d3654196266baa93990055413e167263ffbe4cfe834f871bcd3d3506d
-make_check=no # cycle with python3-jupyter_core and python3-jupyter_client
+checksum=f468ddd1f17acb48c8ce67fcfa49ba6d46d4f9ac0438c1f441be7c3d1372230b
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-ipyparallel"
+else
+	# These tests require ipyparallel
+	make_check_args+="
+	 --ignore ipykernel/tests/test_pickleutil.py
+	 --deselect ipykernel/tests/test_ipkernel_direct.py::test_do_apply
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md LICENSE
+	vlicense LICENSE
 }

From 79bdf2c8590d3e86f177684f5195ad40ba8068c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:03:23 -0300
Subject: [PATCH 15/27] python3-jupyter_ipywidgets: update to 8.1.1, adopt.

---
 srcpkgs/python3-jupyter_ipywidgets/template | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-jupyter_ipywidgets/template b/srcpkgs/python3-jupyter_ipywidgets/template
index 74dc055801347..55d14cac26b21 100644
--- a/srcpkgs/python3-jupyter_ipywidgets/template
+++ b/srcpkgs/python3-jupyter_ipywidgets/template
@@ -1,17 +1,18 @@
 # Template file for 'python3-jupyter_ipywidgets'
 pkgname=python3-jupyter_ipywidgets
-version=7.6.3
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_widgetsnbextension python3-ipython_ipykernel python3-traitlets"
-checkdepends="python3-pytest $depends"
+version=8.1.1
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel"
+depends="python3-ipython_ipykernel"
+checkdepends="$depends python3-pytest python3-jsonschema python3-pytz"
 short_desc="IPython widgets for the Jupyter notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter-widgets/ipywidgets"
+changelog="https://raw.githubusercontent.com/jupyter-widgets/ipywidgets/main/docs/source/changelog.md"
 distfiles="${PYPI_SITE}/i/ipywidgets/ipywidgets-${version}.tar.gz"
-checksum=9f1a43e620530f9e570e4a493677d25f08310118d315b00e25a18f12913c41f0
+checksum=40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8
 
 post_install() {
 	vlicense LICENSE

From 1fb707095e324f15c324b94c21203f519486a247 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 23:14:20 -0300
Subject: [PATCH 16/27] python3-nbclient: update to 0.8.0.

---
 srcpkgs/python3-nbclient/template | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/python3-nbclient/template b/srcpkgs/python3-nbclient/template
index 2b85205d4179e..9b2556aa53670 100644
--- a/srcpkgs/python3-nbclient/template
+++ b/srcpkgs/python3-nbclient/template
@@ -1,19 +1,25 @@
 # Template file for 'python3-nbclient'
 pkgname=python3-nbclient
-version=0.7.0
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-traitlets python3-jupyter_client
- python3-jupyter_nbformat python3-async_generator python3-nest_asyncio"
+version=0.8.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_client python3-jupyter_nbformat"
+checkdepends="$depends python3-pytest-asyncio python3-testpath
+ python3-flaky python3-jupyter_ipywidgets python3-xmltodict"
 short_desc="Client library for executing Jupyter notebooks"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
 homepage="https://nbclient.readthedocs.io/en/latest/"
+changelog="https://raw.githubusercontent.com/jupyter/nbclient/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclient/nbclient-${version}.tar.gz"
-checksum=a1d844efd6da9bc39d2209bf996dbd8e07bf0f36b796edfabaa8f8a9ab77c3aa
-# Package might need to be installed for testing
-make_check=no
+checksum=f9b179cd4b2d7bca965f900a2ebf0db4a12ebff2f36a711cb66861e4ae158e55
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_nbconvert"
+fi
 
 post_install() {
 	vlicense LICENSE

From d9b79a6ebb66f6424ade873e353be83cb671309c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 15 Jun 2023 17:05:06 -0300
Subject: [PATCH 17/27] python3-mistune: update to 3.0.2, adopt.

---
 srcpkgs/python3-mistune/template | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python3-mistune/template b/srcpkgs/python3-mistune/template
index 6a448f5c78363..7630964cf1dd1 100644
--- a/srcpkgs/python3-mistune/template
+++ b/srcpkgs/python3-mistune/template
@@ -1,16 +1,18 @@
 # Template file for 'python3-mistune'
 pkgname=python3-mistune
-version=0.8.4
-revision=7
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=3.0.2
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3"
-short_desc="Fast markdown parser for Python3"
-maintainer="Orphaned <orphan@voidlinux.org>"
+checkdepends="python3-pytest"
+short_desc="Markdown parser for Python"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://github.com/lepture/mistune"
+homepage="https://mistune.lepture.com/"
+changelog="https://raw.githubusercontent.com/lepture/mistune/master/docs/changes.rst"
 distfiles="${PYPI_SITE}/m/mistune/mistune-${version}.tar.gz"
-checksum=59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e
+checksum=fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8
 
 post_install() {
 	vlicense LICENSE

From 786b2913a8b2a067c9a5fa71531bf88d4c23a52d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 15:11:44 -0300
Subject: [PATCH 18/27] python3-jupyter_nbconvert: update to 7.9.2, adopt.

---
 .../files/README.voidlinux                    |  2 -
 srcpkgs/python3-jupyter_nbconvert/template    | 40 +++++++++++--------
 2 files changed, 24 insertions(+), 18 deletions(-)
 delete mode 100644 srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux

diff --git a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux b/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
deleted file mode 100644
index 5efba6bbb86f1..0000000000000
--- a/srcpkgs/python3-jupyter_nbconvert/files/README.voidlinux
+++ /dev/null
@@ -1,2 +0,0 @@
-To convert notebooks to formats other than HTML and markdown install
-python3-Sphinx and/or pandoc.
diff --git a/srcpkgs/python3-jupyter_nbconvert/template b/srcpkgs/python3-jupyter_nbconvert/template
index 1ded2af967487..a580377d0f03f 100644
--- a/srcpkgs/python3-jupyter_nbconvert/template
+++ b/srcpkgs/python3-jupyter_nbconvert/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_nbconvert'
 pkgname=python3-jupyter_nbconvert
-version=6.4.5
-revision=3
-build_style=python3-module
-# WebPDF export depends on unpackaged pyppeteer
-make_check_args="-m not(network) -k not(test_webpdf_without_chromium)"
-hostmakedepends="python3-setuptools"
-depends="python3-mistune python3-Jinja2 python3-jupyterlab_pygments
- python3-nbclient python3-jupyter_core python3-entrypoints python3-testpath
- python3-bleach python3-pandocfilters python3-defusedxml
- python3-BeautifulSoup4"
-checkdepends="python3-pytest python3-ipython_ipykernel
- python3-jupyter_ipywidgets python3-Pebble pandoc inkscape $depends"
+version=7.9.2
+revision=1
+build_style=python3-pep517
+# these two tests require nbconvert.tests (not installed)
+make_check_args="-k not((test_convert_full_qualified_name)or(test_post_processor))"
+hostmakedepends="hatchling"
+depends="python3-BeautifulSoup4 python3-bleach python3-defusedxml
+ python3-Jinja2 python3-jupyter_core python3-jupyterlab_pygments
+ python3-MarkupSafe python3-mistune python3-nbclient
+ python3-jupyter_nbformat python3-packaging python3-pandocfilters
+ python3-tinycss2"
+checkdepends="$depends python3-pytest python3-jupyter_ipywidgets
+ asciidoc inkscape pandoc python3-flaky python3-PyQt5"
 short_desc="Converting Jupyter notebooks"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/nbconvert"
+changelog="https://raw.githubusercontent.com/jupyter/nbconvert/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbconvert/nbconvert-${version}.tar.gz"
-checksum=21163a8e2073c07109ca8f398836e45efdba2aacea68d6f75a8a545fef070d4e
-conflicts="python-jupyter_nbconvert<=5.4.1_2"
+checksum=e56cc7588acc4f93e2bb5a34ec69028e4941797b2bfaf6462f18a41d1cc258c9
+
+pre_check() {
+	# templates must be in $JUPYTER_DATA_DIR/nbconvert/templates
+	# but they are in ${wrksrc}/share/templates
+	# fix with a symlink  share/nbconvert -> share/.
+	[ -d share/nbconvert ] || ln -s . share/nbconvert
+	make_check_pre="env JUPYTER_DATA_DIR=${wrksrc}/share"
+}
 
 post_install() {
 	vlicense LICENSE
-	vdoc "${FILESDIR}/README.voidlinux"
 }

From 2011aa54a28165b446b23e9e40a8ee3aab48a6c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 19:05:16 -0300
Subject: [PATCH 19/27] New package: python3-jupyter_server_terminals-0.4.4

---
 .../python3-jupyter_server_terminals/template | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 srcpkgs/python3-jupyter_server_terminals/template

diff --git a/srcpkgs/python3-jupyter_server_terminals/template b/srcpkgs/python3-jupyter_server_terminals/template
new file mode 100644
index 0000000000000..799e4396f8325
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server_terminals/template
@@ -0,0 +1,26 @@
+# Template file for 'python3-jupyter_server_terminals'
+pkgname=python3-jupyter_server_terminals
+version=0.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-terminado"
+checkdepends="$depends python3-pytest-jupyter"
+short_desc="Jupyter server extension providing support for terminals"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="BSD-3-Clause"
+homepage="https://github.com/jupyter-server/jupyter_server_terminals"
+changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server_terminals/main/CHANGELOG.md"
+distfiles="${PYPI_SITE}/j/jupyter_server_terminals/jupyter_server_terminals-${version}.tar.gz"
+checksum=57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d
+make_check=extended  # avoid a circular dependency
+
+if [ "$XBPS_CHECK_PKGS" = full ]; then
+	# this would cause a build-time circular dependency
+	checkdepends+=" python3-jupyter_server"
+fi
+
+post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
+	vlicense LICENSE
+}

From a840c44dd66ae7a44e5ffcaa1d6286ed1ef0ede2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 22:30:26 -0300
Subject: [PATCH 20/27] python3-jupyter_server: update to 2.7.3.

---
 .../patches/pytest-xdist.patch                | 38 ++++++++++++++++++
 .../patches/utcnow-deprecation.patch          | 39 ++++++++++++++++++
 srcpkgs/python3-jupyter_server/template       | 40 +++++++++++--------
 3 files changed, 101 insertions(+), 16 deletions(-)
 create mode 100644 srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
 create mode 100644 srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch

diff --git a/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
new file mode 100644
index 0000000000000..4b2c6976a3b4e
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/pytest-xdist.patch
@@ -0,0 +1,38 @@
+commit 2dfc67655dd589948250c49c093bd25c4f08f77c
+Author: Gonzalo Tornaría <tornaria@cmat.edu.uy>
+Date:   Thu May 25 22:28:37 2023 -0300
+
+    Fix test param for pytest-xdist
+
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index fec747afe..8f7f8a463 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -362,15 +362,12 @@ def test_gateway_request_timeout_pad_option(
+     GatewayClient.clear_instance()
+ 
+ 
+-cookie_expire_time = format_datetime(datetime.now(tz=timezone.utc) + timedelta(seconds=180))
+-
+-
+ @pytest.mark.parametrize(
+     "accept_cookies,expire_arg,expire_param,existing_cookies,cookie_exists",
+     [
+         (False, None, None, "EXISTING=1", False),
+         (True, None, None, "EXISTING=1", True),
+-        (True, "Expires", cookie_expire_time, None, True),
++        (True, "Expires", 180, None, True),
+         (True, "Max-Age", "-360", "EXISTING=1", False),
+     ],
+ )
+@@ -389,6 +386,10 @@ def test_gateway_request_with_expiring_cookies(
+ 
+     cookie: SimpleCookie = SimpleCookie()
+     cookie.load("SERVERID=1234567; Path=/")
++    if expire_arg == "Expires":
++        expire_param = format_datetime(
++                datetime.now(tz=timezone.utc) +
++                timedelta(seconds=expire_param))
+     if expire_arg:
+         cookie["SERVERID"][expire_arg] = expire_param
+ 
diff --git a/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
new file mode 100644
index 0000000000000..e5f7a2af5b335
--- /dev/null
+++ b/srcpkgs/python3-jupyter_server/patches/utcnow-deprecation.patch
@@ -0,0 +1,39 @@
+See: https://github.com/jupyter-server/jupyter_server/issues/1296#issuecomment-1751887150
+
+--- a/jupyter_server/_tz.py
++++ b/jupyter_server/_tz.py
+@@ -5,7 +5,7 @@ Just UTC-awareness right now
+ """
+ # Copyright (c) Jupyter Development Team.
+ # Distributed under the terms of the Modified BSD License.
+-from datetime import datetime, timedelta, tzinfo
++from datetime import datetime, timedelta, tzinfo, timezone
+ 
+ # constant for zero offset
+ ZERO = timedelta(0)
+@@ -39,6 +39,12 @@ def utc_aware(unaware):
+ utcfromtimestamp = utc_aware(datetime.utcfromtimestamp)
+ utcnow = utc_aware(datetime.utcnow)
+ 
++def utcnow() -> datetime:
++    """ Return timezone-aware UTC timestamp"""
++    return datetime.now(timezone.utc)
++
++def utcfromtimestamp(timestamp):
++    return datetime.fromtimestamp(timestamp, timezone.utc)
+ 
+ def isoformat(dt):
+     """Return iso-formatted timestamp
+diff --git a/tests/test_gateway.py b/tests/test_gateway.py
+index 8f7f8a463..598006e29 100644
+--- a/tests/test_gateway.py
++++ b/tests/test_gateway.py
+@@ -78,7 +78,7 @@ omitted_kernels: Dict[str, bool] = {}
+ 
+ def generate_model(name):
+     """Generate a mocked kernel model.  Caller is responsible for adding model to running_kernels dictionary."""
+-    dt = datetime.utcnow().isoformat() + "Z"  # noqa
++    dt = datetime.now(timezone.utc).isoformat().replace("+00:00", "Z")  # noqa
+     kernel_id = str(uuid.uuid4())
+     model = {
+         "id": kernel_id,
diff --git a/srcpkgs/python3-jupyter_server/template b/srcpkgs/python3-jupyter_server/template
index 8b1cf9fe7c569..b0bd9f2f758bc 100644
--- a/srcpkgs/python3-jupyter_server/template
+++ b/srcpkgs/python3-jupyter_server/template
@@ -1,26 +1,34 @@
 # Template file for 'python3-jupyter_server'
 pkgname=python3-jupyter_server
-version=1.23.1
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-anyio python3-jupyter_client python3-jupyter_nbformat
- python3-jupyter_nbconvert python3-terminado
- python3-prometheus_client python3-traitlets python3-tornado
- python3-Jinja2 python3-send2trash python3-websocket-client"
-checkdepends="${depends} python3-argon2 python3-packaging
- python3-coverage python3-pytest-mock python3-requests
- python3-pytest python3-pytest-timeout python3-pytest-asyncio"
+version=2.7.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="python3-anyio python3-argon2 python3-jupyter_client
+ python3-jupyter_events python3-jupyter_nbconvert
+ python3-jupyter_server_terminals python3-overrides
+ python3-prometheus_client python3-send2trash
+ python3-websocket-client"
+checkdepends="$depends pandoc python3-ipython_ipykernel
+ python3-pytest-console-scripts python3-pytest-jupyter
+ python3-pytest-xdist python3-requests python3-flaky"
 short_desc="Backend to Jupyter web applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter-server/jupyter_server"
 changelog="https://raw.githubusercontent.com/jupyter-server/jupyter_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter-server/jupyter_server-${version}.tar.gz"
-checksum=cee48d9d96cecd0f94b7cb41ecd4f0ab05b01643769f61c5d397b7873bc9a1e2
-# missing pytest-tornasync, pytest-console-scripts
-make_check=no
+checksum=d4916c8581c4ebbc534cebdaa8eca2478d9f3bfdd88eae29fcab0120eac57649
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these tests fail on CI (connect to a tcp address)
+	make_check_args="
+	 --deselect=tests/extension/test_launch.py::test_launch_instance
+	 --deselect=tests/extension/test_launch.py::test_base_url
+	 --deselect=tests/extension/test_launch.py::test_token_file
+	 "
+fi
 
 post_install() {
-	vlicense COPYING.md
+	vlicense LICENSE
 }

From c401c04126d670a627f2f8f23833c014ccf911c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 24 May 2023 12:09:02 -0300
Subject: [PATCH 21/27] python3-notebook_shim: update to 0.2.3.

---
 srcpkgs/python3-notebook_shim/template | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/python3-notebook_shim/template b/srcpkgs/python3-notebook_shim/template
index 490564a7fb8e9..c1e58a8e8159a 100644
--- a/srcpkgs/python3-notebook_shim/template
+++ b/srcpkgs/python3-notebook_shim/template
@@ -1,19 +1,20 @@
 # Template file for 'python3-notebook_shim'
 pkgname=python3-notebook_shim
-version=0.2.2
-revision=2
+version=0.2.3
+revision=1
 build_style=python3-pep517
 hostmakedepends="hatchling"
 depends="python3-jupyter_server"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Shim layer for notebook traits and config"
 maintainer="dkwo <npiazza@disroot.org>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/notebook_shim"
+changelog="https://raw.githubusercontent.com/jupyter/notebook_shim/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook_shim/notebook_shim-${version}.tar.gz"
-checksum=090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f
-make_check=no # missing pytest_tornasync
+checksum=f69388ac283ae008cd506dda10d0288b09a017d822d5e8c7129a152cbd3ce7e9
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	mv "${PKGDESTDIR}/usr/etc" ${PKGDESTDIR}/etc/
 }

From ef07c31000a247fa513cc7e7e747f8c37cfd35c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 25 May 2023 23:12:45 -0300
Subject: [PATCH 22/27] python3-nbclassic: update to 1.0.0.

---
 srcpkgs/python3-nbclassic/template | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/python3-nbclassic/template b/srcpkgs/python3-nbclassic/template
index 81fb183100692..6f6d16a47a4ed 100644
--- a/srcpkgs/python3-nbclassic/template
+++ b/srcpkgs/python3-nbclassic/template
@@ -1,25 +1,25 @@
 # Template file for 'python3-nbclassic'
 pkgname=python3-nbclassic
-version=0.4.8
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyter_notebook python3-jupyter_server"
-checkdepends="${depends} python3-pytest python3-pytest-fixture-config python3-pytest-subtests"
+version=1.0.0
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="python3-jupyter_packaging python3-jupyter_server"
+depends="mathjax2 python3-notebook_shim"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter Notebook as a Jupyter Server Extension"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyter/nbclassic"
+changelog="https://raw.githubusercontent.com/jupyter/nbclassic/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/nbclassic/nbclassic-${version}.tar.gz"
-checksum=c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283
-# missing fixtures: jp_create_notebook jp_fetch
-make_check=no
-
-conf_files="/etc/jupyter/jupyter_server_config.d/*.json"
+checksum=0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3
 
 post_install() {
 	vlicense LICENSE
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 
-	# jupyter honors /etc/juypter; move config files there
-	mv "${DESTDIR}/usr/etc" "${DESTDIR}/etc"
+	# use system mathjax2
+	rm -rf ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
+	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/nbclassic/static/components/MathJax
 }

From 0a916e5f18f106857d2638ff4e03edf306b7fe1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sat, 27 May 2023 17:50:24 -0300
Subject: [PATCH 23/27] python3-jupyterlab_server: update to 2.25.0.

---
 srcpkgs/python3-jupyterlab_server/template | 36 ++++++++++++++++------
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python3-jupyterlab_server/template b/srcpkgs/python3-jupyterlab_server/template
index 41f51c913ebb0..5dec10ee2cec4 100644
--- a/srcpkgs/python3-jupyterlab_server/template
+++ b/srcpkgs/python3-jupyterlab_server/template
@@ -1,18 +1,34 @@
 # Template file for 'python3-jupyterlab_server'
 pkgname=python3-jupyterlab_server
-version=2.10.3
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-jupyter_notebook python3-jupyter_server"
-depends="python3-requests python3-json5 python3-Babel"
-short_desc="Server components for JupyterLab and -like applications"
+version=2.25.0
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-jupyter_server python3-Babel python3-json5 python3-requests"
+checkdepends="$depends python3-pytest-jupyter python3-openapi-core
+ python3-requests-mock python3-strict-rfc3339 python3-ruamel.yaml python3-pip"
+short_desc="Server components for JupyterLab and JL-like applications"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab_server"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab_server/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab_server/jupyterlab_server-${version}.tar.gz"
-checksum=3fb84a5813d6d836ceda773fb2d4e9ef3c7944dbc1b45a8d59d98641a80de80a
-# Tests require unpackaged dependencies
-make_check=no
+checksum=77c2f1f282d610f95e496e20d5bf1d2a7706826dfb7b18f3378ae2870d272fb7
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# tests setup fails on CI (no idea why)
+	make_check_args="-p no:unraisableexception"
+fi
+
+do_check() {
+	# test_translation_api.py needs to run in a venv
+	local testdir="${wrksrc}/.xbps-testdir/$(date +%s)"
+	python3 -m venv --system-site-packages --without-pip "${testdir}"
+
+	local testpy="${testdir}/bin/python3"
+	"${testpy}" -m installer dist/*.whl
+	PATH="${testdir}/bin:${PATH}" "${testpy}" -m pytest ${make_check_args}
+}
 
 post_install() {
 	vlicense LICENSE

From 0dc83d1cf997b4e48124b233c5f216b585c29355 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 28 May 2023 18:19:20 -0300
Subject: [PATCH 24/27] jupyterlab: update to 4.0.6.

---
 srcpkgs/jupyterlab/files/jupyterlab.sh |  1 -
 srcpkgs/jupyterlab/template            | 23 +++++++++++------------
 2 files changed, 11 insertions(+), 13 deletions(-)
 delete mode 100644 srcpkgs/jupyterlab/files/jupyterlab.sh

diff --git a/srcpkgs/jupyterlab/files/jupyterlab.sh b/srcpkgs/jupyterlab/files/jupyterlab.sh
deleted file mode 100644
index a90f35521b9c2..0000000000000
--- a/srcpkgs/jupyterlab/files/jupyterlab.sh
+++ /dev/null
@@ -1 +0,0 @@
-export JUPYTERLAB_DIR=$HOME/.local/share/jupyter/lab
diff --git a/srcpkgs/jupyterlab/template b/srcpkgs/jupyterlab/template
index b7159e5a0311b..22b4a953e00c5 100644
--- a/srcpkgs/jupyterlab/template
+++ b/srcpkgs/jupyterlab/template
@@ -1,22 +1,21 @@
 # Template file for 'jupyterlab'
 pkgname=jupyterlab
-version=3.5.0
-revision=3
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-jupyterlab_server nodejs python3-nbclassic
- python3-requests-unixsocket python3-jupyter_ipywidgets
- python3-notebook_shim"
+version=4.0.6
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling hatch-jupyter-builder"
+depends="nodejs python3-async-lru python3-ipython_ipykernel
+ python3-jupyterlab_server python3-notebook_shim python3-tomli"
+checkdepends="$depends python3-pytest-jupyter python3-pytest-xdist"
 short_desc="JupyterLab computational environment"
 maintainer="dkwo <nicolopiazzalunga@gmail.com>"
 license="custom:jupyterlab"
-homepage="https://jupyter.org"
+homepage="https://github.com/jupyterlab/jupyterlab/"
+changelog="https://raw.githubusercontent.com/jupyterlab/jupyterlab/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyterlab/jupyterlab-${version}.tar.gz"
-checksum=e02556c8ea1b386963c4b464e4618aee153c5416b07ab481425c817a033323a2
-# Tests require unpackaged dependencies
-make_check=no
+checksum=6c43ae5a6a1fd2fdfafcb3454004958bde6da76331abb44cffc6f9e436b19ba1
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	vinstall "${FILESDIR}/jupyterlab.sh" 644 etc/profile.d
 }

From 065f4317f47b5fb5687bfab0c1e48acae49e5f8f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 May 2023 16:40:44 -0300
Subject: [PATCH 25/27] python3-jupyter_notebook: update to 7.0.4.

---
 srcpkgs/python3-jupyter_notebook/template | 30 +++++++++--------------
 srcpkgs/python3-jupyter_notebook/update   |  2 +-
 2 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/srcpkgs/python3-jupyter_notebook/template b/srcpkgs/python3-jupyter_notebook/template
index 6aafbbba6d7cb..1d13333d6ad3b 100644
--- a/srcpkgs/python3-jupyter_notebook/template
+++ b/srcpkgs/python3-jupyter_notebook/template
@@ -1,27 +1,21 @@
 # Template file for 'python3-jupyter_notebook'
 pkgname=python3-jupyter_notebook
-version=6.4.10
-revision=4
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-Jinja2 python3-terminado python3-tornado
- python3-ipython_genutils python3-traitlets python3-jupyter_core
- python3-jupyter_client python3-jupyter_nbformat python3-jupyter_nbconvert
- python3-ipython_ipykernel python3-send2trash python3-prometheus_client
- mathjax2 python3-argon2"
+version=7.0.4
+revision=1
+build_style=python3-pep517
+make_build_args="--skip-dependency-check"
+hostmakedepends="hatchling hatch-jupyter-builder jupyterlab"
+depends="jupyterlab"
+checkdepends="$depends python3-pytest-jupyter"
 short_desc="Jupyter interactive notebook"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
-homepage="https://jupyter.org/"
+homepage="https://github.com/jupyter/notebook"
+changelog="https://raw.githubusercontent.com/jupyter/notebook/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/n/notebook/notebook-${version}.tar.gz"
-checksum=2408a76bc6289283a8eecfca67e298ec83c67db51a4c2e1b713dd180bb39e90e
-conflicts="python-jupyter_notebook<=5.7.0_2"
-# Tests require unpackaged selenium
-make_check=no
+checksum=0c1b458f72ce8774445c8ef9ed2492bd0b9ce9605ac996e2b066114f69795e71
 
 post_install() {
+	mv ${DESTDIR}/usr/etc ${DESTDIR}
 	vlicense LICENSE
-	# use system mathjax
-	rm -rf ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
-	ln -sf /usr/share/mathjax ${DESTDIR}/${py3_sitelib}/notebook/static/components/MathJax
 }
diff --git a/srcpkgs/python3-jupyter_notebook/update b/srcpkgs/python3-jupyter_notebook/update
index 1bb284fed4967..276c9bf787e58 100644
--- a/srcpkgs/python3-jupyter_notebook/update
+++ b/srcpkgs/python3-jupyter_notebook/update
@@ -1,2 +1,2 @@
 pkgname=notebook
-ignore="*a* *b* *rc*"
+#ignore="*a* *b* *rc*"

From 1837c1898522ca2412ccf5b79f23bcc522822ad8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:13:52 -0300
Subject: [PATCH 26/27] python3-jupyter_console: update to 6.6.3, adopt.

---
 srcpkgs/python3-jupyter_console/template | 31 +++++++++++++++---------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/srcpkgs/python3-jupyter_console/template b/srcpkgs/python3-jupyter_console/template
index 9bbbb0488d400..1b286c83e5a57 100644
--- a/srcpkgs/python3-jupyter_console/template
+++ b/srcpkgs/python3-jupyter_console/template
@@ -1,22 +1,29 @@
 # Template file for 'python3-jupyter_console'
 pkgname=python3-jupyter_console
-version=6.4.4
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools"
-depends="python3-ipython python3-ipython_ipykernel python3-jupyter_client
- python3-prompt_toolkit python3-Pygments python3-traitlets"
-checkdepends="$depends python3-pytest"
+version=6.6.3
+revision=1
+build_style=python3-pep517
+hostmakedepends="hatchling"
+depends="python3-ipython_ipykernel python3-ipython python3-jupyter_client
+ python3-jupyter_core python3-prompt_toolkit python3-Pygments python3-pyzmq
+ python3-traitlets"
+checkdepends="$depends python3-pytest python3-flaky"
 short_desc="Jupyter terminal console (Python3)"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/jupyter_console"
+changelog="https://raw.githubusercontent.com/jupyter/jupyter_console/main/CHANGELOG.md"
 distfiles="${PYPI_SITE}/j/jupyter_console/jupyter_console-${version}.tar.gz"
-checksum=172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb
-# alternatives will be a conflict
+checksum=566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539
 conflicts="python-jupyter_console<=6.0.0_2"
-# Tests fail because stdin is not a terminal
-make_check=no
+
+if [ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ]; then
+	# these two tests are flaky on CI, even with @flaky sometimes fail
+	make_check_args="
+	 --deselect=jupyter_console/tests/test_console.py::test_console_starts
+	 --deselect=jupyter_console/tests/test_console.py::test_display_text
+	 "
+fi
 
 post_install() {
 	vlicense LICENSE

From e9b152a3ae32fb43938d4690d9510138f4060ffa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 26 Sep 2023 17:42:33 -0300
Subject: [PATCH 27/27] python3-jupyter_qtconsole: update to 5.4.4, adopt.

---
 srcpkgs/python3-jupyter_qtconsole/template | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python3-jupyter_qtconsole/template b/srcpkgs/python3-jupyter_qtconsole/template
index e3ffc5eb87dec..a7d38b0253ca9 100644
--- a/srcpkgs/python3-jupyter_qtconsole/template
+++ b/srcpkgs/python3-jupyter_qtconsole/template
@@ -1,26 +1,22 @@
 # Template file for 'python3-jupyter_qtconsole'
 pkgname=python3-jupyter_qtconsole
-version=4.7.1
-revision=5
-build_style=python3-module
-hostmakedepends="python3-setuptools"
+version=5.4.4
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-setuptools python3-wheel"
 depends="python3-traitlets python3-jupyter_core python3-jupyter_client
  python3-Pygments python3-ipython_ipykernel python3-ipython_genutils
  python3-PyQt5-svg python3-QtPy"
 checkdepends="$depends python3-pytest-qt python3-flaky"
 short_desc="Jupyter Qt console"
-maintainer="Orphaned <orphan@voidlinux.org>"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="BSD-3-Clause"
 homepage="https://github.com/jupyter/qtconsole"
+changelog="https://raw.githubusercontent.com/jupyter/qtconsole/master/docs/source/changelog.rst"
 distfiles="${PYPI_SITE}/q/qtconsole/qtconsole-${version}.tar.gz"
-checksum=d51c1c51c81fbd1fac62b2d4bdc8b54fb6b7cbe6cbf70c3baeea11516525c956
+checksum=b7ffb53d74f23cee29f4cdb55dd6fabc8ec312d94f3c46ba38e1dde458693dfb
 conflicts="python-jupyter_qtconsole<=4.4.3_2"
 
-do_check() {
-	# flaky test
-	pytest -k 'not test_frontend_to_kernel'
-}
-
 post_install() {
 	vlicense LICENSE
 }

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (31 preceding siblings ...)
  2023-10-10 15:19 ` tornaria
@ 2023-10-10 16:22 ` tornaria
  2023-10-10 16:24 ` tornaria
                   ` (4 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-10 16:22 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1151 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1755787866

Comment:
The jupyter notebook that is now in binary repos seem to not work at all after the update to python 3.12.

This PR at least works for me on these commands:
 - jupyter lab (install `jupyterlab`)
 - jupyter notebook (install `python3-jupyter_notebook`)
 - jupyter console (install `python3-jupyter_console`)
 - jupyter qtconsole (install `python3-jupyter_qtconsole`)

It seems "jupyter nbclassic" is broken atm.

There might be some `depends=...` that I missed in some package... at least installing the one package mentioned above seems to work (unless it's missing a package I happen to have already installed for a different reason).

pip check complains about `jupyter-lsp` and `jupyterlab-widgets` I'll package later.

CI has a test failure, but it seems spurious. The whole thing takes 45 minutes to run CI, should I push again to try my luck? I'd rather worry about improving check later when updating individual packages (let's hope we can keep it more updated than before).

@ahesford 

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (32 preceding siblings ...)
  2023-10-10 16:22 ` Updates " tornaria
@ 2023-10-10 16:24 ` tornaria
  2023-10-10 16:29 ` [PR PATCH] [Merged]: " ahesford
                   ` (3 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-10 16:24 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 473 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1755791158

Comment:
BTW: building everything here locally with -Q works fine. Building with -K has some check-build cycles. The idea is that one builds all packages first with -Q, then one can run full check with -K. Some packages skip a few tests, some the whole testsuite unless they are run with -K (no way out of that due to circular check deps).

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PR PATCH] [Merged]: Updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (33 preceding siblings ...)
  2023-10-10 16:24 ` tornaria
@ 2023-10-10 16:29 ` ahesford
  2023-10-10 17:34 ` dkwo
                   ` (2 subsequent siblings)
  37 siblings, 0 replies; 39+ messages in thread
From: ahesford @ 2023-10-10 16:29 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1112 bytes --]

There's a merged pull request on the void-packages repository

Updates to jupyter,  jupyterlab, notebook, etc.
https://github.com/void-linux/void-packages/pull/44160

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (34 preceding siblings ...)
  2023-10-10 16:29 ` [PR PATCH] [Merged]: " ahesford
@ 2023-10-10 17:34 ` dkwo
  2023-10-10 20:32 ` tornaria
  2023-10-10 21:00 ` dkwo
  37 siblings, 0 replies; 39+ messages in thread
From: dkwo @ 2023-10-10 17:34 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1755925556

Comment:
Thanks a lot! I agree it's better to work out the remaining details separately.

For me it was working before as well via `jupyter lab`, but I had to build some jupyterlab apps in my home, and I meant the current repo.

After the update, only `python3-jupyter_ipywidgets` and `python3-nbclassic` complain of a few `SyntaxWarning: invalid escape sequence '\.'`

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (35 preceding siblings ...)
  2023-10-10 17:34 ` dkwo
@ 2023-10-10 20:32 ` tornaria
  2023-10-10 21:00 ` dkwo
  37 siblings, 0 replies; 39+ messages in thread
From: tornaria @ 2023-10-10 20:32 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 292 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1756184692

Comment:
I saw the syntax warning when installing (pycompile step). Does it happen when using? Does it cause any trouble?

Btw, does nbclassic work for you?

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: Updates to jupyter,  jupyterlab, notebook, etc.
  2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
                   ` (36 preceding siblings ...)
  2023-10-10 20:32 ` tornaria
@ 2023-10-10 21:00 ` dkwo
  37 siblings, 0 replies; 39+ messages in thread
From: dkwo @ 2023-10-10 21:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 2709 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/44160#issuecomment-1756248686

Comment:
no, I do not see any trouble (also nbclassic has them).

the command `jupyter nbclassic` does not work, neither does `sage -n jupyter`. the former gives
```
[I ServerApp] Package nbclassic took 0.0000s to import
[W ServerApp] A `_jupyter_server_extension_points` function was not found in nbclassic. Instead, a `_jupyter_server_extension_paths` function was found and will be used for now. This function name will be deprecated in future releases of Jupyter Server.
[I ServerApp] nbclassic | extension was successfully linked.                                                                           
Read the migration plan to Notebook 7 to learn about the new features and the actions to take if you are using extensions.
https://jupyter-notebook.readthedocs.io/en/latest/migrate_to_notebook7.html
Please note that updating to Notebook 7 might break some of your extensions.
[I ServerApp] nbclassic | extension was successfully loaded.
[I ServerApp] Serving notebooks from local directory: /home/dkwo
[I ServerApp] Jupyter Server 2.7.3 is running at:
[I ServerApp] http://localhost:8888/tree?token=...
[C ServerApp] 
    To access the server, open this file in a browser:
        file:///home/dkwo/.local/share/jupyter/runtime/jpserver-28527-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/tree?token=...
        http://127.0.0.1:8888/tree?token=...
[E ServerApp] Uncaught exception GET /tree?token=... (127.0.0.1)
    HTTPServerRequest(protocol='http', host='localhost:8888', method='GET', uri='/tree?token=...', version='HTTP/1.1', remote_ip='127.0.0.1')
    Traceback (most recent call last):
      File "/usr/lib/python3.12/site-packages/tornado/web.py", line 1790, in _execute
        result = await result
                 ^^^^^^^^^^^^
      File "/usr/lib/python3.12/site-packages/tornado/gen.py", line 786, in run
        yielded = self.gen.send(value)
                  ^^^^^^^^^^^^^^^^^^^^
      File "/usr/lib/python3.12/site-packages/nbclassic/tree/handlers.py", line 69, in get
        terminals_available=self.settings['terminals_available'],
                            ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
    KeyError: 'terminals_available'
[E NotebookApp] {
      "Host": "localhost:8888",
      "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
      "User-Agent": "Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/118.0"
    }
[E NotebookApp] 500 GET /tree?token=[secret] (...@127.0.0.1) 82.55ms referer=None
```

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2023-10-10 21:00 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-30  2:01 [PR PATCH] [RFC] [WIP] updates to jupyter, jupyterlab, notebook, etc tornaria
2023-05-30  2:15 ` tornaria
2023-05-30 21:51 ` dkwo
2023-05-31  0:10 ` tornaria
2023-06-28 21:30 ` dkwo
2023-07-06  1:43 ` dkwo
2023-07-06  2:08 ` [PR REVIEW] " classabbyamp
2023-08-19  8:42 ` dkwo
2023-08-19  8:42 ` dkwo
2023-08-19 19:00 ` tornaria
2023-09-26  1:47 ` [PR PATCH] [Updated] " tornaria
2023-09-26 13:54 ` tornaria
2023-09-26 19:46 ` tornaria
2023-09-26 20:27 ` tornaria
2023-09-27 13:00 ` tornaria
2023-09-28  1:40 ` tornaria
2023-09-28 23:40 ` tornaria
2023-09-29  0:48 ` tornaria
2023-09-29 12:30 ` tornaria
2023-09-30  2:53 ` tornaria
2023-09-30 15:49 ` tornaria
2023-10-02 19:06 ` dkwo
2023-10-03  0:15 ` tornaria
2023-10-03 15:19 ` dkwo
2023-10-09 21:10 ` [PR PATCH] [Updated] " tornaria
2023-10-09 21:31 ` tornaria
2023-10-09 21:31 ` tornaria
2023-10-09 21:41 ` [PR PATCH] [Updated] " tornaria
2023-10-09 22:11 ` tornaria
2023-10-09 22:31 ` dkwo
2023-10-10 13:44 ` tornaria
2023-10-10 14:21 ` [PR PATCH] [Updated] " tornaria
2023-10-10 15:19 ` tornaria
2023-10-10 16:22 ` Updates " tornaria
2023-10-10 16:24 ` tornaria
2023-10-10 16:29 ` [PR PATCH] [Merged]: " ahesford
2023-10-10 17:34 ` dkwo
2023-10-10 20:32 ` tornaria
2023-10-10 21:00 ` dkwo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).