Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] New package: python-language-server-0.31.4
@ 2019-12-29 12:58 voidlinux-github
  2019-12-29 13:30 ` [PR PATCH] [Updated] " voidlinux-github
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 12:58 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 1813 bytes --]

From 3d3a4cac2e25f5aec414c3a955153ba37f081e9c Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 15:56:14 +0300
Subject: [PATCH] New package: python-language-server-0.31.4

---
 srcpkgs/python-language-server/template | 30 +++++++++++++++++++++++++
 srcpkgs/python3-language-server         |  1 +
 2 files changed, 31 insertions(+)
 create mode 100644 srcpkgs/python-language-server/template
 create mode 120000 srcpkgs/python3-language-server

diff --git a/srcpkgs/python-language-server/template b/srcpkgs/python-language-server/template
new file mode 100644
index 00000000000..5c9592202aa
--- /dev/null
+++ b/srcpkgs/python-language-server/template
@@ -0,0 +1,30 @@
+# Template file for 'python-language-server'
+pkgname=python-language-server
+version=0.31.4
+revision=1
+archs=noarch
+build_style=python-module
+pycompile_module="pyls"
+makedepends="python-setuptools python-future python-jedi python-pluggy
+ python3-setuptools python3-future python3-jedi python3-pluggy"
+short_desc="Python 2 implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=3555ebe496858f896eb32c713ce244d5897da2be52a9c17d199ec4026371ad43
+
+post_install() {
+	vlicense LICENSE
+}
+
+python3-language-server_package() {
+	archs=noarch
+	pycompile_module="pyls"
+	short_desc="${short_desc/2/3}"
+	pkg_install() {
+		vmove usr/bin/pyls3
+		vmove "usr/lib/python3*"
+		vlicense LICENSE
+	}
+}
diff --git a/srcpkgs/python3-language-server b/srcpkgs/python3-language-server
new file mode 120000
index 00000000000..37e473a6397
--- /dev/null
+++ b/srcpkgs/python3-language-server
@@ -0,0 +1 @@
+python-language-server
\ No newline at end of file

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

* Re: [PR PATCH] [Updated] New package: python-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
@ 2019-12-29 13:30 ` voidlinux-github
  2019-12-29 14:38 ` voidlinux-github
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 13:30 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 1969 bytes --]

From 85c17e2f94fd8ed256c0d0eb854bea16bd7d2a29 Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 15:56:14 +0300
Subject: [PATCH] New package: python-language-server-0.31.4.

---
 srcpkgs/python-language-server/template | 34 +++++++++++++++++++++++++
 srcpkgs/python3-language-server         |  1 +
 2 files changed, 35 insertions(+)
 create mode 100644 srcpkgs/python-language-server/template
 create mode 120000 srcpkgs/python3-language-server

diff --git a/srcpkgs/python-language-server/template b/srcpkgs/python-language-server/template
new file mode 100644
index 00000000000..35a4e46e2e0
--- /dev/null
+++ b/srcpkgs/python-language-server/template
@@ -0,0 +1,34 @@
+# Template file for 'python-language-server'
+pkgname=python-language-server
+version=0.31.4
+revision=1
+build_style=python-module
+pycompile_module="pyls"
+short_desc="Python 2 implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=3555ebe496858f896eb32c713ce244d5897da2be52a9c17d199ec4026371ad43
+
+if [ "$CROSS_BUILD" ]; then
+	hostmakedepends="python-setuptools python-future python-jedi python-pluggy
+ python3-setuptools python3-future python3-jedi python3-pluggy"
+else
+	makedepends="python-setuptools python-future python-jedi python-pluggy
+ python3-setuptools python3-future python3-jedi python3-pluggy"
+fi
+
+post_install() {
+	vlicense LICENSE
+}
+
+python3-language-server_package() {
+	pycompile_module="pyls"
+	short_desc="${short_desc/2/3}"
+	pkg_install() {
+		vmove usr/bin/pyls3
+		vmove "usr/lib/python3*"
+		vlicense LICENSE
+	}
+}
diff --git a/srcpkgs/python3-language-server b/srcpkgs/python3-language-server
new file mode 120000
index 00000000000..37e473a6397
--- /dev/null
+++ b/srcpkgs/python3-language-server
@@ -0,0 +1 @@
+python-language-server
\ No newline at end of file

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

* Re: New package: python-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
  2019-12-29 13:30 ` [PR PATCH] [Updated] " voidlinux-github
@ 2019-12-29 14:38 ` voidlinux-github
  2019-12-29 15:53 ` [PR PATCH] [Updated] " voidlinux-github
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 14:38 UTC (permalink / raw)
  To: ml

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

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/17862#issuecomment-569511386

Comment:
No new python2 stuff please

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

* Re: [PR PATCH] [Updated] New package: python-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
  2019-12-29 13:30 ` [PR PATCH] [Updated] " voidlinux-github
  2019-12-29 14:38 ` voidlinux-github
@ 2019-12-29 15:53 ` voidlinux-github
  2019-12-29 15:59 ` voidlinux-github
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 15:53 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 1274 bytes --]

From f5b5a9e33b596433fb88d6a8df0cd6f3dfef5c0f Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 15:56:14 +0300
Subject: [PATCH] New package: python-language-server-0.31.4.

---
 srcpkgs/python-language-server/template | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 srcpkgs/python-language-server/template

diff --git a/srcpkgs/python-language-server/template b/srcpkgs/python-language-server/template
new file mode 100644
index 00000000000..d74579d5256
--- /dev/null
+++ b/srcpkgs/python-language-server/template
@@ -0,0 +1,23 @@
+# Template file for 'python-language-server'
+pkgname=python-language-server
+version=0.31.4
+revision=1
+build_style=python3-module
+pycompile_module=pyls
+_depends="python3-setuptools python3-future python3-jedi python3-pluggy"
+short_desc="Python implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=3555ebe496858f896eb32c713ce244d5897da2be52a9c17d199ec4026371ad43
+
+if [ "$CROSS_BUILD" ]; then
+	hostmakedepends="${_depends}"
+else
+	makedepends="${_depends}"
+fi
+
+post_install() {
+	vlicense LICENSE
+}

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

* Re: New package: python-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (2 preceding siblings ...)
  2019-12-29 15:53 ` [PR PATCH] [Updated] " voidlinux-github
@ 2019-12-29 15:59 ` voidlinux-github
  2019-12-29 16:04 ` [PR PATCH] [Updated] " voidlinux-github
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 15:59 UTC (permalink / raw)
  To: ml

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

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/17862#issuecomment-569518138

Comment:
Rename to python3-language-server

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

* Re: [PR PATCH] [Updated] New package: python-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (3 preceding siblings ...)
  2019-12-29 15:59 ` voidlinux-github
@ 2019-12-29 16:04 ` voidlinux-github
  2019-12-29 16:07 ` voidlinux-github
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 16:04 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 1190 bytes --]

From 0a9d2aa988d7724f3c771ee476b8ea76a61b780d Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 15:56:14 +0300
Subject: [PATCH] New package: python-language-server-0.31.4.

---
 srcpkgs/python-language-server/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 srcpkgs/python-language-server/template

diff --git a/srcpkgs/python-language-server/template b/srcpkgs/python-language-server/template
new file mode 100644
index 00000000000..3dd0be4b943
--- /dev/null
+++ b/srcpkgs/python-language-server/template
@@ -0,0 +1,18 @@
+# Template file for 'python-language-server'
+pkgname=python-language-server
+version=0.31.4
+revision=1
+build_style=python3-module
+pycompile_module=pyls
+hostmakedepends="python3-setuptools"
+makedepends="python3-future python3-jedi python3-pluggy"
+short_desc="Python implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=3555ebe496858f896eb32c713ce244d5897da2be52a9c17d199ec4026371ad43
+
+post_install() {
+	vlicense LICENSE
+}

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

* Re: [PR PATCH] [Updated] New package: python-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (4 preceding siblings ...)
  2019-12-29 16:04 ` [PR PATCH] [Updated] " voidlinux-github
@ 2019-12-29 16:07 ` voidlinux-github
  2019-12-29 16:23 ` New package: python3-language-server-0.31.4 voidlinux-github
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 16:07 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 1197 bytes --]

From 9fe769ec39c29a46de633c375542e2e135377fb3 Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:06:58 +0300
Subject: [PATCH] New package: python3-language-server-0.31.4

---
 srcpkgs/python3-language-server/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 srcpkgs/python3-language-server/template

diff --git a/srcpkgs/python3-language-server/template b/srcpkgs/python3-language-server/template
new file mode 100644
index 00000000000..614d63a5bfe
--- /dev/null
+++ b/srcpkgs/python3-language-server/template
@@ -0,0 +1,18 @@
+# Template file for 'python3-language-server'
+pkgname=python3-language-server
+version=0.31.4
+revision=1
+build_style=python3-module
+pycompile_module=pyls
+hostmakedepends="python3-setuptools"
+makedepends="python3-future python3-jedi python3-pluggy"
+short_desc="Python implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=3555ebe496858f896eb32c713ce244d5897da2be52a9c17d199ec4026371ad43
+
+post_install() {
+	vlicense LICENSE
+}

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

* Re: New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (5 preceding siblings ...)
  2019-12-29 16:07 ` voidlinux-github
@ 2019-12-29 16:23 ` voidlinux-github
  2019-12-29 16:27 ` [PR PATCH] [Updated] " voidlinux-github
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 16:23 UTC (permalink / raw)
  To: ml

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

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/17862#issuecomment-569520352

Comment:
add `wrksrc` for `python-language-server-${version}`; also verify whether run-time `depends=` is being filled correctly, and manually specify any run-time dependencies that are not automatically added.

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

* Re: [PR PATCH] [Updated] New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (6 preceding siblings ...)
  2019-12-29 16:23 ` New package: python3-language-server-0.31.4 voidlinux-github
@ 2019-12-29 16:27 ` voidlinux-github
  2019-12-29 16:40 ` voidlinux-github
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 16:27 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python3-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 1233 bytes --]

From bc5db53657d734177ff76207d4fafe55b5b3c86b Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:06:58 +0300
Subject: [PATCH] New package: python3-language-server-0.31.4.

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

diff --git a/srcpkgs/python3-language-server/template b/srcpkgs/python3-language-server/template
new file mode 100644
index 00000000000..c66aea0c524
--- /dev/null
+++ b/srcpkgs/python3-language-server/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-language-server'
+pkgname=python3-language-server
+version=0.31.4
+revision=1
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+pycompile_module=pyls
+hostmakedepends="python3-setuptools"
+makedepends="python3-future python3-jedi python3-pluggy"
+short_desc="Python implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=3555ebe496858f896eb32c713ce244d5897da2be52a9c17d199ec4026371ad43
+
+post_install() {
+	vlicense LICENSE
+}

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

* Re: [PR PATCH] [Updated] New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (7 preceding siblings ...)
  2019-12-29 16:27 ` [PR PATCH] [Updated] " voidlinux-github
@ 2019-12-29 16:40 ` voidlinux-github
  2019-12-29 16:44 ` voidlinux-github
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 16:40 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python3-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 7012 bytes --]

From a2ce8d8946e2f8b5f579fda3eb9d792c3464f806 Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:31:36 +0300
Subject: [PATCH 1/3] New package: python3-jsonrpc-server-0.3.2.

---
 .../patches/python-3.8.patch                  | 60 +++++++++++++++++++
 srcpkgs/python3-jsonrpc-server/template       | 20 +++++++
 2 files changed, 80 insertions(+)
 create mode 100644 srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
 create mode 100644 srcpkgs/python3-jsonrpc-server/template

diff --git a/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
new file mode 100644
index 00000000000..67d130ebccb
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
@@ -0,0 +1,60 @@
+diff -uprb python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py	2019-11-02 23:24:59.407851208 +0200
+@@ -98,7 +98,7 @@ class Endpoint(object):
+             message (dict): The JSON RPC message sent by the client
+         """
+         if 'jsonrpc' not in message or message['jsonrpc'] != JSONRPC_VERSION:
+-            log.warn("Unknown message type %s", message)
++            log.warning("Unknown message type %s", message)
+             return
+ 
+         if 'id' not in message:
+@@ -135,7 +135,7 @@ class Endpoint(object):
+         try:
+             handler = self._dispatcher[method]
+         except KeyError:
+-            log.warn("Ignoring notification for unknown method %s", method)
++            log.warning("Ignoring notification for unknown method %s", method)
+             return
+ 
+         try:
+@@ -165,7 +165,7 @@ class Endpoint(object):
+         request_future = self._client_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received cancel notification for unknown message id %s", msg_id)
++            log.warning("Received cancel notification for unknown message id %s", msg_id)
+             return
+ 
+         # Will only work if the request hasn't started executing
+@@ -230,12 +230,13 @@ class Endpoint(object):
+         request_future = self._server_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received response to unknown message id %s", msg_id)
++            log.warning("Received response to unknown message id %s", msg_id)
+             return
+ 
+         if error is not None:
+             log.debug("Received error response to message %s: %s", msg_id, error)
+             request_future.set_exception(JsonRpcException.from_dict(error))
++            return
+ 
+         log.debug("Received result for message %s: %s", msg_id, result)
+         request_future.set_result(result)
+diff -uprb python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py python-jsonrpc-server-0.2.0/test/test_endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/test/test_endpoint.py	2019-11-02 23:24:21.033838729 +0200
+@@ -115,9 +115,9 @@ def test_request_cancel(endpoint, consum
+         'params': {'id': MSG_ID}
+     })
+ 
+-    with pytest.raises(exceptions.JsonRpcException) as exc_info:
++    with pytest.raises((exceptions.JsonRpcException, futures.CancelledError)) as exc_info:
+         assert future.result(timeout=2)
+-    assert exc_info.type == exceptions.JsonRpcRequestCancelled
++    assert exc_info.type in (exceptions.JsonRpcRequestCancelled, futures.CancelledError)
+ 
+ 
+ def test_consume_notification(endpoint, dispatcher):
diff --git a/srcpkgs/python3-jsonrpc-server/template b/srcpkgs/python3-jsonrpc-server/template
new file mode 100644
index 00000000000..05f11c870fd
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jsonrpc-server'
+pkgname=python3-jsonrpc-server
+version=0.3.2
+revision=1
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+pycompile_module="pyls_jsonrpc"
+makedepends="python3-setuptools"
+depends="python3 python3-future python3-ujson"
+short_desc="Python library implementing asynchronous JSON RPC server"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-jsonrpc-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=bc762d24d7dccf2fc9cf2ae1746130505544570dd845e6ed887238a5767cf4fe
+patch_args="-Np1"
+
+post_install() {
+	vlicense LICENSE
+}

From 9ad2092f6b260e4f005fa65b71173f330fcbf56e Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:38:58 +0300
Subject: [PATCH 2/3] New package: python3-ultrajson-1.35.

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

diff --git a/srcpkgs/python3-ultrajson/template b/srcpkgs/python3-ultrajson/template
new file mode 100644
index 00000000000..9190899e31a
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-ultrajson'
+pkgname=python3-ultrajson
+version=1.35
+revision=1
+wrksrc="${pkgname/*-}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools python3-devel"
+short_desc="Ultra fast JSON encoder and decoder for Python"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="BSD-3-Clause"
+homepage="https://github.com/esnme/ultrajson"
+distfiles="${homepage}/archive/v${version}.tar.gz"
+checksum=1e7761583065873bed8466a3692fa5539d4f15bebc7af1c8fcc63d322a46804f
+
+post_install() {
+	vlicense LICENSE.txt
+}

From 6b7be6b77c8a25f7d6475d1f29f2a88ca509ae0f Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:40:24 +0300
Subject: [PATCH 3/3] New package: python3-language-server-0.31.4.

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

diff --git a/srcpkgs/python3-language-server/template b/srcpkgs/python3-language-server/template
new file mode 100644
index 00000000000..b432ac47f55
--- /dev/null
+++ b/srcpkgs/python3-language-server/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-language-server'
+pkgname=python3-language-server
+version=0.31.4
+revision=1
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+pycompile_module=pyls
+hostmakedepends="python3-setuptools"
+depends="python3-future python3-jedi python3-pluggy python3-jsonrpc-server python3-ultrajson"
+short_desc="Python implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=3555ebe496858f896eb32c713ce244d5897da2be52a9c17d199ec4026371ad43
+
+post_install() {
+	vlicense LICENSE
+}

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

* Re: [PR PATCH] [Updated] New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (8 preceding siblings ...)
  2019-12-29 16:40 ` voidlinux-github
@ 2019-12-29 16:44 ` voidlinux-github
  2019-12-29 16:59 ` voidlinux-github
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 16:44 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python3-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 7016 bytes --]

From d93b65cab063198bd6ca5b8a4f025dda95f3f17c Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:38:58 +0300
Subject: [PATCH 1/3] New package: python3-ultrajson-1.35.

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

diff --git a/srcpkgs/python3-ultrajson/template b/srcpkgs/python3-ultrajson/template
new file mode 100644
index 00000000000..9190899e31a
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-ultrajson'
+pkgname=python3-ultrajson
+version=1.35
+revision=1
+wrksrc="${pkgname/*-}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools python3-devel"
+short_desc="Ultra fast JSON encoder and decoder for Python"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="BSD-3-Clause"
+homepage="https://github.com/esnme/ultrajson"
+distfiles="${homepage}/archive/v${version}.tar.gz"
+checksum=1e7761583065873bed8466a3692fa5539d4f15bebc7af1c8fcc63d322a46804f
+
+post_install() {
+	vlicense LICENSE.txt
+}

From fcc1b1639a38ad2b75d431372621a267c47a907d Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:40:24 +0300
Subject: [PATCH 2/3] New package: python3-language-server-0.31.4.

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

diff --git a/srcpkgs/python3-language-server/template b/srcpkgs/python3-language-server/template
new file mode 100644
index 00000000000..b432ac47f55
--- /dev/null
+++ b/srcpkgs/python3-language-server/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-language-server'
+pkgname=python3-language-server
+version=0.31.4
+revision=1
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+pycompile_module=pyls
+hostmakedepends="python3-setuptools"
+depends="python3-future python3-jedi python3-pluggy python3-jsonrpc-server python3-ultrajson"
+short_desc="Python implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=3555ebe496858f896eb32c713ce244d5897da2be52a9c17d199ec4026371ad43
+
+post_install() {
+	vlicense LICENSE
+}

From d706f69c443f4bd0307ee604a5465fe3581d5a8d Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:44:41 +0300
Subject: [PATCH 3/3] New package: python3-jsonrpc-server-0.3.2.

---
 .../patches/python-3.8.patch                  | 60 +++++++++++++++++++
 srcpkgs/python3-jsonrpc-server/template       | 20 +++++++
 2 files changed, 80 insertions(+)
 create mode 100644 srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
 create mode 100644 srcpkgs/python3-jsonrpc-server/template

diff --git a/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
new file mode 100644
index 00000000000..67d130ebccb
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
@@ -0,0 +1,60 @@
+diff -uprb python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py	2019-11-02 23:24:59.407851208 +0200
+@@ -98,7 +98,7 @@ class Endpoint(object):
+             message (dict): The JSON RPC message sent by the client
+         """
+         if 'jsonrpc' not in message or message['jsonrpc'] != JSONRPC_VERSION:
+-            log.warn("Unknown message type %s", message)
++            log.warning("Unknown message type %s", message)
+             return
+ 
+         if 'id' not in message:
+@@ -135,7 +135,7 @@ class Endpoint(object):
+         try:
+             handler = self._dispatcher[method]
+         except KeyError:
+-            log.warn("Ignoring notification for unknown method %s", method)
++            log.warning("Ignoring notification for unknown method %s", method)
+             return
+ 
+         try:
+@@ -165,7 +165,7 @@ class Endpoint(object):
+         request_future = self._client_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received cancel notification for unknown message id %s", msg_id)
++            log.warning("Received cancel notification for unknown message id %s", msg_id)
+             return
+ 
+         # Will only work if the request hasn't started executing
+@@ -230,12 +230,13 @@ class Endpoint(object):
+         request_future = self._server_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received response to unknown message id %s", msg_id)
++            log.warning("Received response to unknown message id %s", msg_id)
+             return
+ 
+         if error is not None:
+             log.debug("Received error response to message %s: %s", msg_id, error)
+             request_future.set_exception(JsonRpcException.from_dict(error))
++            return
+ 
+         log.debug("Received result for message %s: %s", msg_id, result)
+         request_future.set_result(result)
+diff -uprb python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py python-jsonrpc-server-0.2.0/test/test_endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/test/test_endpoint.py	2019-11-02 23:24:21.033838729 +0200
+@@ -115,9 +115,9 @@ def test_request_cancel(endpoint, consum
+         'params': {'id': MSG_ID}
+     })
+ 
+-    with pytest.raises(exceptions.JsonRpcException) as exc_info:
++    with pytest.raises((exceptions.JsonRpcException, futures.CancelledError)) as exc_info:
+         assert future.result(timeout=2)
+-    assert exc_info.type == exceptions.JsonRpcRequestCancelled
++    assert exc_info.type in (exceptions.JsonRpcRequestCancelled, futures.CancelledError)
+ 
+ 
+ def test_consume_notification(endpoint, dispatcher):
diff --git a/srcpkgs/python3-jsonrpc-server/template b/srcpkgs/python3-jsonrpc-server/template
new file mode 100644
index 00000000000..d5eb02d7be9
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jsonrpc-server'
+pkgname=python3-jsonrpc-server
+version=0.3.2
+revision=1
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+pycompile_module="pyls_jsonrpc"
+makedepends="python3-setuptools"
+depends="python3 python3-future python3-ultrajson"
+short_desc="Python library implementing asynchronous JSON RPC server"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-jsonrpc-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=bc762d24d7dccf2fc9cf2ae1746130505544570dd845e6ed887238a5767cf4fe
+patch_args="-Np1"
+
+post_install() {
+	vlicense LICENSE
+}

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

* Re: [PR PATCH] [Updated] New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (9 preceding siblings ...)
  2019-12-29 16:44 ` voidlinux-github
@ 2019-12-29 16:59 ` voidlinux-github
  2019-12-29 17:33 ` voidlinux-github
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 16:59 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python3-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 7020 bytes --]

From d93b65cab063198bd6ca5b8a4f025dda95f3f17c Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:38:58 +0300
Subject: [PATCH 1/3] New package: python3-ultrajson-1.35.

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

diff --git a/srcpkgs/python3-ultrajson/template b/srcpkgs/python3-ultrajson/template
new file mode 100644
index 00000000000..9190899e31a
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/template
@@ -0,0 +1,17 @@
+# Template file for 'python3-ultrajson'
+pkgname=python3-ultrajson
+version=1.35
+revision=1
+wrksrc="${pkgname/*-}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools python3-devel"
+short_desc="Ultra fast JSON encoder and decoder for Python"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="BSD-3-Clause"
+homepage="https://github.com/esnme/ultrajson"
+distfiles="${homepage}/archive/v${version}.tar.gz"
+checksum=1e7761583065873bed8466a3692fa5539d4f15bebc7af1c8fcc63d322a46804f
+
+post_install() {
+	vlicense LICENSE.txt
+}

From fcc1b1639a38ad2b75d431372621a267c47a907d Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:40:24 +0300
Subject: [PATCH 2/3] New package: python3-language-server-0.31.4.

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

diff --git a/srcpkgs/python3-language-server/template b/srcpkgs/python3-language-server/template
new file mode 100644
index 00000000000..b432ac47f55
--- /dev/null
+++ b/srcpkgs/python3-language-server/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-language-server'
+pkgname=python3-language-server
+version=0.31.4
+revision=1
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+pycompile_module=pyls
+hostmakedepends="python3-setuptools"
+depends="python3-future python3-jedi python3-pluggy python3-jsonrpc-server python3-ultrajson"
+short_desc="Python implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=3555ebe496858f896eb32c713ce244d5897da2be52a9c17d199ec4026371ad43
+
+post_install() {
+	vlicense LICENSE
+}

From fffce7f5541ca0d6d4031a026fbbbdc315f905b8 Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:44:41 +0300
Subject: [PATCH 3/3] New package: python3-jsonrpc-server-0.3.2.

---
 .../patches/python-3.8.patch                  | 60 +++++++++++++++++++
 srcpkgs/python3-jsonrpc-server/template       | 20 +++++++
 2 files changed, 80 insertions(+)
 create mode 100644 srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
 create mode 100644 srcpkgs/python3-jsonrpc-server/template

diff --git a/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
new file mode 100644
index 00000000000..67d130ebccb
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
@@ -0,0 +1,60 @@
+diff -uprb python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py	2019-11-02 23:24:59.407851208 +0200
+@@ -98,7 +98,7 @@ class Endpoint(object):
+             message (dict): The JSON RPC message sent by the client
+         """
+         if 'jsonrpc' not in message or message['jsonrpc'] != JSONRPC_VERSION:
+-            log.warn("Unknown message type %s", message)
++            log.warning("Unknown message type %s", message)
+             return
+ 
+         if 'id' not in message:
+@@ -135,7 +135,7 @@ class Endpoint(object):
+         try:
+             handler = self._dispatcher[method]
+         except KeyError:
+-            log.warn("Ignoring notification for unknown method %s", method)
++            log.warning("Ignoring notification for unknown method %s", method)
+             return
+ 
+         try:
+@@ -165,7 +165,7 @@ class Endpoint(object):
+         request_future = self._client_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received cancel notification for unknown message id %s", msg_id)
++            log.warning("Received cancel notification for unknown message id %s", msg_id)
+             return
+ 
+         # Will only work if the request hasn't started executing
+@@ -230,12 +230,13 @@ class Endpoint(object):
+         request_future = self._server_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received response to unknown message id %s", msg_id)
++            log.warning("Received response to unknown message id %s", msg_id)
+             return
+ 
+         if error is not None:
+             log.debug("Received error response to message %s: %s", msg_id, error)
+             request_future.set_exception(JsonRpcException.from_dict(error))
++            return
+ 
+         log.debug("Received result for message %s: %s", msg_id, result)
+         request_future.set_result(result)
+diff -uprb python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py python-jsonrpc-server-0.2.0/test/test_endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/test/test_endpoint.py	2019-11-02 23:24:21.033838729 +0200
+@@ -115,9 +115,9 @@ def test_request_cancel(endpoint, consum
+         'params': {'id': MSG_ID}
+     })
+ 
+-    with pytest.raises(exceptions.JsonRpcException) as exc_info:
++    with pytest.raises((exceptions.JsonRpcException, futures.CancelledError)) as exc_info:
+         assert future.result(timeout=2)
+-    assert exc_info.type == exceptions.JsonRpcRequestCancelled
++    assert exc_info.type in (exceptions.JsonRpcRequestCancelled, futures.CancelledError)
+ 
+ 
+ def test_consume_notification(endpoint, dispatcher):
diff --git a/srcpkgs/python3-jsonrpc-server/template b/srcpkgs/python3-jsonrpc-server/template
new file mode 100644
index 00000000000..f6462893147
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jsonrpc-server'
+pkgname=python3-jsonrpc-server
+version=0.3.2
+revision=1
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+pycompile_module="pyls_jsonrpc"
+hostmakedepends="python3-setuptools"
+depends="python3 python3-future python3-ultrajson"
+short_desc="Python library implementing asynchronous JSON RPC server"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-jsonrpc-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=bc762d24d7dccf2fc9cf2ae1746130505544570dd845e6ed887238a5767cf4fe
+patch_args="-Np1"
+
+post_install() {
+	vlicense LICENSE
+}

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

* Re: [PR PATCH] [Updated] New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (10 preceding siblings ...)
  2019-12-29 16:59 ` voidlinux-github
@ 2019-12-29 17:33 ` voidlinux-github
  2019-12-30 13:42 ` voidlinux-github
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-29 17:33 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python3-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 29776 bytes --]

From e468975524f56247da3e518cdb7811faba6bfbbd Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:40:24 +0300
Subject: [PATCH 1/3] New package: python3-language-server-0.31.4.

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

diff --git a/srcpkgs/python3-language-server/template b/srcpkgs/python3-language-server/template
new file mode 100644
index 00000000000..b432ac47f55
--- /dev/null
+++ b/srcpkgs/python3-language-server/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-language-server'
+pkgname=python3-language-server
+version=0.31.4
+revision=1
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+pycompile_module=pyls
+hostmakedepends="python3-setuptools"
+depends="python3-future python3-jedi python3-pluggy python3-jsonrpc-server python3-ultrajson"
+short_desc="Python implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=3555ebe496858f896eb32c713ce244d5897da2be52a9c17d199ec4026371ad43
+
+post_install() {
+	vlicense LICENSE
+}

From 6e622ae01b0d6cbe2067959c8b546277b65d20e8 Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 19:44:41 +0300
Subject: [PATCH 2/3] New package: python3-jsonrpc-server-0.3.2.

---
 .../patches/python-3.8.patch                  | 60 +++++++++++++++++++
 srcpkgs/python3-jsonrpc-server/template       | 20 +++++++
 2 files changed, 80 insertions(+)
 create mode 100644 srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
 create mode 100644 srcpkgs/python3-jsonrpc-server/template

diff --git a/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
new file mode 100644
index 00000000000..67d130ebccb
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
@@ -0,0 +1,60 @@
+diff -uprb python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py	2019-11-02 23:24:59.407851208 +0200
+@@ -98,7 +98,7 @@ class Endpoint(object):
+             message (dict): The JSON RPC message sent by the client
+         """
+         if 'jsonrpc' not in message or message['jsonrpc'] != JSONRPC_VERSION:
+-            log.warn("Unknown message type %s", message)
++            log.warning("Unknown message type %s", message)
+             return
+ 
+         if 'id' not in message:
+@@ -135,7 +135,7 @@ class Endpoint(object):
+         try:
+             handler = self._dispatcher[method]
+         except KeyError:
+-            log.warn("Ignoring notification for unknown method %s", method)
++            log.warning("Ignoring notification for unknown method %s", method)
+             return
+ 
+         try:
+@@ -165,7 +165,7 @@ class Endpoint(object):
+         request_future = self._client_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received cancel notification for unknown message id %s", msg_id)
++            log.warning("Received cancel notification for unknown message id %s", msg_id)
+             return
+ 
+         # Will only work if the request hasn't started executing
+@@ -230,12 +230,13 @@ class Endpoint(object):
+         request_future = self._server_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received response to unknown message id %s", msg_id)
++            log.warning("Received response to unknown message id %s", msg_id)
+             return
+ 
+         if error is not None:
+             log.debug("Received error response to message %s: %s", msg_id, error)
+             request_future.set_exception(JsonRpcException.from_dict(error))
++            return
+ 
+         log.debug("Received result for message %s: %s", msg_id, result)
+         request_future.set_result(result)
+diff -uprb python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py python-jsonrpc-server-0.2.0/test/test_endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/test/test_endpoint.py	2019-11-02 23:24:21.033838729 +0200
+@@ -115,9 +115,9 @@ def test_request_cancel(endpoint, consum
+         'params': {'id': MSG_ID}
+     })
+ 
+-    with pytest.raises(exceptions.JsonRpcException) as exc_info:
++    with pytest.raises((exceptions.JsonRpcException, futures.CancelledError)) as exc_info:
+         assert future.result(timeout=2)
+-    assert exc_info.type == exceptions.JsonRpcRequestCancelled
++    assert exc_info.type in (exceptions.JsonRpcRequestCancelled, futures.CancelledError)
+ 
+ 
+ def test_consume_notification(endpoint, dispatcher):
diff --git a/srcpkgs/python3-jsonrpc-server/template b/srcpkgs/python3-jsonrpc-server/template
new file mode 100644
index 00000000000..99e627b57c6
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jsonrpc-server'
+pkgname=python3-jsonrpc-server
+version=0.3.2
+revision=1
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+pycompile_module="pyls_jsonrpc"
+hostmakedepends="python3-setuptools"
+depends="python3-future python3-ultrajson"
+short_desc="Python library implementing asynchronous JSON RPC server"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-jsonrpc-server"
+distfiles="${homepage}/archive/${version}.tar.gz"
+checksum=bc762d24d7dccf2fc9cf2ae1746130505544570dd845e6ed887238a5767cf4fe
+patch_args="-Np1"
+
+post_install() {
+	vlicense LICENSE
+}

From 6f63c1b39395b1d68819968e09d2970b73765137 Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Sun, 29 Dec 2019 20:33:06 +0300
Subject: [PATCH 3/3] New package: python3-ultrajson-1.35.

---
 ...static-to-C-functions-where-possible.patch | 597 ++++++++++++++++++
 .../patches/lower-stack-usage.patch           |  19 +
 srcpkgs/python3-ultrajson/template            |  19 +
 3 files changed, 635 insertions(+)
 create mode 100644 srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch
 create mode 100644 srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch
 create mode 100644 srcpkgs/python3-ultrajson/template

diff --git a/srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch b/srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch
new file mode 100644
index 00000000000..2e197dd2b99
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch
@@ -0,0 +1,597 @@
+From 6cf6c7ff25c883349e8e9e5468e61498358e2e91 Mon Sep 17 00:00:00 2001
+From: WGH <wgh@torlan.ru>
+Date: Sat, 27 Aug 2016 17:34:22 +0300
+Subject: [PATCH] added "static" to C functions, where possible
+
+1. It reduces clutter in symbol table.
+2. It fixes issues with C99 inline semantics for functions
+   marked as inline (#237, #180, #222), which manifests
+   when compiled with GCC>=5.
+---
+ lib/ultrajsondec.c | 24 ++++++++--------
+ lib/ultrajsonenc.c | 24 ++++++++--------
+ python/JSONtoObj.c | 24 ++++++++--------
+ python/objToJSON.c | 72 +++++++++++++++++++++++-----------------------
+ 4 files changed, 72 insertions(+), 72 deletions(-)
+
+diff --git a/lib/ultrajsondec.c b/lib/ultrajsondec.c
+index 21a732e..19efc60 100644
+--- a/lib/ultrajsondec.c
++++ b/lib/ultrajsondec.c
+@@ -66,7 +66,7 @@ struct DecoderState
+   JSONObjectDecoder *dec;
+ };
+ 
+-JSOBJ FASTCALL_MSVC decode_any( struct DecoderState *ds) FASTCALL_ATTR;
++static JSOBJ FASTCALL_MSVC decode_any( struct DecoderState *ds) FASTCALL_ATTR;
+ typedef JSOBJ (*PFN_DECODER)( struct DecoderState *ds);
+ 
+ static JSOBJ SetError( struct DecoderState *ds, int offset, const char *message)
+@@ -76,13 +76,13 @@ static JSOBJ SetError( struct DecoderState *ds, int offset, const char *message)
+   return NULL;
+ }
+ 
+-double createDouble(double intNeg, double intValue, double frcValue, int frcDecimalCount)
++static double createDouble(double intNeg, double intValue, double frcValue, int frcDecimalCount)
+ {
+   static const double g_pow10[] = {1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001,0.0000001, 0.00000001, 0.000000001, 0.0000000001, 0.00000000001, 0.000000000001, 0.0000000000001, 0.00000000000001, 0.000000000000001};
+   return (intValue + (frcValue * g_pow10[frcDecimalCount])) * intNeg;
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
+ {
+   char *end;
+   double value;
+@@ -99,7 +99,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
+   return ds->dec->newDouble(ds->prv, value);
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
+ {
+   int intNeg = 1;
+   int mantSize = 0;
+@@ -309,7 +309,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
+   return ds->dec->newDouble (ds->prv, createDouble( (double) intNeg, (double) intValue , frcValue, decimalCount) * pow(10.0, expValue * expNeg));
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+   offset ++;
+@@ -329,7 +329,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
+   return SetError(ds, -1, "Unexpected character found when decoding 'true'");
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+   offset ++;
+@@ -351,7 +351,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
+   return SetError(ds, -1, "Unexpected character found when decoding 'false'");
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+   offset ++;
+@@ -371,7 +371,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
+   return SetError(ds, -1, "Unexpected character found when decoding 'null'");
+ }
+ 
+-FASTCALL_ATTR void FASTCALL_MSVC SkipWhitespace(struct DecoderState *ds)
++static FASTCALL_ATTR void FASTCALL_MSVC SkipWhitespace(struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+ 
+@@ -422,7 +422,7 @@ static const JSUINT8 g_decoderLookup[256] =
+   /* 0xf0 */ 4, 4, 4, 4, 4, 4, 4, 4, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR,
+ };
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
+ {
+   JSUTF16 sur[2] = { 0 };
+   int iSur = 0;
+@@ -672,7 +672,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
+   }
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
+ {
+   JSOBJ itemValue;
+   JSOBJ newObj;
+@@ -736,7 +736,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
+   }
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
+ {
+   JSOBJ itemName;
+   JSOBJ itemValue;
+@@ -819,7 +819,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
+   }
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_any(struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_any(struct DecoderState *ds)
+ {
+   for (;;)
+   {
+diff --git a/lib/ultrajsonenc.c b/lib/ultrajsonenc.c
+index 6c1b120..f330171 100644
+--- a/lib/ultrajsonenc.c
++++ b/lib/ultrajsonenc.c
+@@ -112,7 +112,7 @@ static void SetError (JSOBJ obj, JSONObjectEncoder *enc, const char *message)
+ /*
+ FIXME: Keep track of how big these get across several encoder calls and try to make an estimate
+ That way we won't run our head into the wall each call */
+-void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
++static void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
+ {
+   size_t curSize = enc->end - enc->start;
+   size_t newSize = curSize * 2;
+@@ -148,7 +148,7 @@ void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
+   enc->end = enc->start + newSize;
+ }
+ 
+-FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value)
++static FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value)
+ {
+   *(outputOffset++) = g_hexChars[(value & 0xf000) >> 12];
+   *(outputOffset++) = g_hexChars[(value & 0x0f00) >> 8];
+@@ -156,7 +156,7 @@ FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (c
+   *(outputOffset++) = g_hexChars[(value & 0x000f) >> 0];
+ }
+ 
+-int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, const char *end)
++static int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, const char *end)
+ {
+   char *of = (char *) enc->offset;
+ 
+@@ -260,7 +260,7 @@ int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, cons
+   }
+ }
+ 
+-int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end)
++static int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end)
+ {
+   JSUTF32 ucs;
+   char *of = (char *) enc->offset;
+@@ -498,19 +498,19 @@ int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char
+ #define Buffer_AppendCharUnchecked(__enc, __chr) \
+                 *((__enc)->offset++) = __chr; \
+ 
+-FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse(char* begin, char* end)
++static FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse(char* begin, char* end)
+ {
+   char aux;
+   while (end > begin)
+   aux = *end, *end-- = *begin, *begin++ = aux;
+ }
+ 
+-void Buffer_AppendIndentNewlineUnchecked(JSONObjectEncoder *enc)
++static void Buffer_AppendIndentNewlineUnchecked(JSONObjectEncoder *enc)
+ {
+   if (enc->indent > 0) Buffer_AppendCharUnchecked(enc, '\n');
+ }
+ 
+-void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
++static void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+ {
+   int i;
+   if (enc->indent > 0)
+@@ -519,7 +519,7 @@ void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+         Buffer_AppendCharUnchecked(enc, ' ');
+ }
+ 
+-void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
++static void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+ {
+   char* wstr;
+   JSUINT32 uvalue = (value < 0) ? -value : value;
+@@ -535,7 +535,7 @@ void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+   enc->offset += (wstr - (enc->offset));
+ }
+ 
+-void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
++static void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
+ {
+   char* wstr;
+   JSUINT64 uvalue = (value < 0) ? -value : value;
+@@ -551,7 +551,7 @@ void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
+   enc->offset += (wstr - (enc->offset));
+ }
+ 
+-void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
++static void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
+ {
+   char* wstr;
+   JSUINT64 uvalue = value;
+@@ -566,7 +566,7 @@ void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
+   enc->offset += (wstr - (enc->offset));
+ }
+ 
+-int Buffer_AppendDoubleUnchecked(JSOBJ obj, JSONObjectEncoder *enc, double value)
++static int Buffer_AppendDoubleUnchecked(JSOBJ obj, JSONObjectEncoder *enc, double value)
+ {
+   /* if input is larger than thres_max, revert to exponential */
+   const double thres_max = (double) 1e16 - 1;
+@@ -714,7 +714,7 @@ Handle integration functions returning NULL here */
+ FIXME:
+ Perhaps implement recursion detection */
+ 
+-void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName)
++static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName)
+ {
+   const char *value;
+   char *objName;
+diff --git a/python/JSONtoObj.c b/python/JSONtoObj.c
+index 79d9f1a..6cef088 100644
+--- a/python/JSONtoObj.c
++++ b/python/JSONtoObj.c
+@@ -43,7 +43,7 @@ Numeric decoder derived from from TCL library
+ //#define PRINTMARK() fprintf(stderr, "%s: MARK(%d)\n", __FILE__, __LINE__)
+ #define PRINTMARK()
+ 
+-void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
++static void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
+ {
+   PyDict_SetItem (obj, name, value);
+   Py_DECREF( (PyObject *) name);
+@@ -51,59 +51,59 @@ void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
+   return;
+ }
+ 
+-void Object_arrayAddItem(void *prv, JSOBJ obj, JSOBJ value)
++static void Object_arrayAddItem(void *prv, JSOBJ obj, JSOBJ value)
+ {
+   PyList_Append(obj, value);
+   Py_DECREF( (PyObject *) value);
+   return;
+ }
+ 
+-JSOBJ Object_newString(void *prv, wchar_t *start, wchar_t *end)
++static JSOBJ Object_newString(void *prv, wchar_t *start, wchar_t *end)
+ {
+   return PyUnicode_FromWideChar (start, (end - start));
+ }
+ 
+-JSOBJ Object_newTrue(void *prv)
++static JSOBJ Object_newTrue(void *prv)
+ {
+   Py_RETURN_TRUE;
+ }
+ 
+-JSOBJ Object_newFalse(void *prv)
++static JSOBJ Object_newFalse(void *prv)
+ {
+   Py_RETURN_FALSE;
+ }
+ 
+-JSOBJ Object_newNull(void *prv)
++static JSOBJ Object_newNull(void *prv)
+ {
+   Py_RETURN_NONE;
+ }
+ 
+-JSOBJ Object_newObject(void *prv)
++static JSOBJ Object_newObject(void *prv)
+ {
+   return PyDict_New();
+ }
+ 
+-JSOBJ Object_newArray(void *prv)
++static JSOBJ Object_newArray(void *prv)
+ {
+   return PyList_New(0);
+ }
+ 
+-JSOBJ Object_newInteger(void *prv, JSINT32 value)
++static JSOBJ Object_newInteger(void *prv, JSINT32 value)
+ {
+   return PyInt_FromLong( (long) value);
+ }
+ 
+-JSOBJ Object_newLong(void *prv, JSINT64 value)
++static JSOBJ Object_newLong(void *prv, JSINT64 value)
+ {
+   return PyLong_FromLongLong (value);
+ }
+ 
+-JSOBJ Object_newUnsignedLong(void *prv, JSUINT64 value)
++static JSOBJ Object_newUnsignedLong(void *prv, JSUINT64 value)
+ {
+   return PyLong_FromUnsignedLongLong (value);
+ }
+ 
+-JSOBJ Object_newDouble(void *prv, double value)
++static JSOBJ Object_newDouble(void *prv, double value)
+ {
+   return PyFloat_FromDouble(value);
+ }
+diff --git a/python/objToJSON.c b/python/objToJSON.c
+index 04a4575..1960d40 100644
+--- a/python/objToJSON.c
++++ b/python/objToJSON.c
+@@ -226,7 +226,7 @@ static void *PyDateToINT64(JSOBJ _obj, JSONTypeContext *tc, void *outValue, size
+   return NULL;
+ }
+ 
+-int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PyObject *item;
+ 
+@@ -242,21 +242,21 @@ int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-void Tuple_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Tuple_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+ }
+ 
+-JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Tuple_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Tuple_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return NULL;
+ }
+ 
+-int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PyObject *item;
+ 
+@@ -282,7 +282,7 @@ int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->itemValue)
+   {
+@@ -297,17 +297,17 @@ void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   }
+ }
+ 
+-JSOBJ Iter_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Iter_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Iter_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Iter_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return NULL;
+ }
+ 
+-void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->itemValue)
+   {
+@@ -325,7 +325,7 @@ void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   PRINTMARK();
+ }
+ 
+-int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
++static int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
+ {
+   PyObject *obj = (PyObject *) _obj;
+   PyObject *itemValue = GET_TC(tc)->itemValue;
+@@ -401,20 +401,20 @@ int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PRINTMARK();
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Dir_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Dir_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   PRINTMARK();
+   *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
+   return PyString_AS_STRING(GET_TC(tc)->itemName);
+ }
+ 
+-int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->index >= GET_TC(tc)->size)
+   {
+@@ -427,16 +427,16 @@ int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-void List_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void List_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+ }
+ 
+-JSOBJ List_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ List_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return NULL;
+ }
+@@ -447,7 +447,7 @@ char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ // itemValue is borrowed from object (which is dict). No refCounting
+ //=============================================================================
+ 
+-int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+ #if PY_MAJOR_VERSION >= 3
+   PyObject* itemNameTmp;
+@@ -488,7 +488,7 @@ int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+     return 1;
+ }
+ 
+-void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->itemName)
+   {
+@@ -499,18 +499,18 @@ void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   PRINTMARK();
+ }
+ 
+-JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
+   return PyString_AS_STRING(GET_TC(tc)->itemName);
+ }
+ 
+-int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PyObject *items = NULL, *item = NULL, *key = NULL, *value = NULL;
+   Py_ssize_t i, nitems;
+@@ -603,7 +603,7 @@ int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return -1;
+ }
+ 
+-void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   GET_TC(tc)->itemName = NULL;
+   GET_TC(tc)->itemValue = NULL;
+@@ -612,19 +612,19 @@ void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   PRINTMARK();
+ }
+ 
+-JSOBJ SortedDict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ SortedDict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
+   return PyString_AS_STRING(GET_TC(tc)->itemName);
+ }
+ 
+ 
+-void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
++static void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
+ {
+   if (enc->sortKeys) {
+     pc->iterEnd = SortedDict_iterEnd;
+@@ -642,7 +642,7 @@ void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
+   pc->index = 0;
+ }
+ 
+-void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
++static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
+ {
+   PyObject *obj, *exc, *iter;
+   TypeContext *pc;
+@@ -929,7 +929,7 @@ void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder
+   return;
+ }
+ 
+-void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
++static void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   Py_XDECREF(GET_TC(tc)->newObj);
+ 
+@@ -937,33 +937,33 @@ void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
+   tc->prv = NULL;
+ }
+ 
+-const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen)
++static const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen)
+ {
+   return GET_TC(tc)->PyTypeToJSON (obj, tc, NULL, _outLen);
+ }
+ 
+-JSINT64 Object_getLongValue(JSOBJ obj, JSONTypeContext *tc)
++static JSINT64 Object_getLongValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   JSINT64 ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+   return ret;
+ }
+ 
+-JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc)
++static JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   JSUINT64 ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+   return ret;
+ }
+ 
+-JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc)
++static JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   JSINT32 ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+   return ret;
+ }
+ 
+-double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc)
++static double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   double ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+@@ -975,22 +975,22 @@ static void Object_releaseObject(JSOBJ _obj)
+   Py_DECREF( (PyObject *) _obj);
+ }
+ 
+-int Object_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Object_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->iterNext(obj, tc);
+ }
+ 
+-void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   GET_TC(tc)->iterEnd(obj, tc);
+ }
+ 
+-JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->iterGetValue(obj, tc);
+ }
+ 
+-char *Object_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Object_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return GET_TC(tc)->iterGetName(obj, tc, outLen);
+ }
+
diff --git a/srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch b/srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch
new file mode 100644
index 00000000000..de3258cfdeb
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch
@@ -0,0 +1,19 @@
+From: Shiz <hi@shiz.me>
+Bug-Report: https://github.com/esnme/ultrajson/issues/254
+
+musl default thread size is 80 kiB, so using 128 kiB by default will
+overflow the stack and cause segmentation faults.
+
+Allocating 128 kiB on the stack is a rather bad idea anyway, so we'll
+lower it to 8 kiB.
+--- ultrajson-1.35/lib/ultrajson.h
++++ ultrajson-1.35-patched/lib/ultrajson.h
+@@ -77,7 +77,7 @@
+ /*
+ Dictates and limits how much stack space for buffers UltraJSON will use before resorting to provided heap functions */
+ #ifndef JSON_MAX_STACK_BUFFER_SIZE
+-#define JSON_MAX_STACK_BUFFER_SIZE 131072
++#define JSON_MAX_STACK_BUFFER_SIZE 8192
+ #endif
+ 
+ #ifdef _WIN32
diff --git a/srcpkgs/python3-ultrajson/template b/srcpkgs/python3-ultrajson/template
new file mode 100644
index 00000000000..55a8204f186
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/template
@@ -0,0 +1,19 @@
+# Template file for 'python3-ultrajson'
+pkgname=python3-ultrajson
+version=1.35
+revision=1
+wrksrc="${pkgname/*-}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+short_desc="Ultra fast JSON encoder and decoder for Python"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="BSD-3-Clause"
+homepage="https://github.com/esnme/ultrajson"
+distfiles="${homepage}/archive/v${version}.tar.gz"
+checksum=1e7761583065873bed8466a3692fa5539d4f15bebc7af1c8fcc63d322a46804f
+patch_args="-Np1"
+
+post_install() {
+	vlicense LICENSE.txt
+}

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

* Re: New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (11 preceding siblings ...)
  2019-12-29 17:33 ` voidlinux-github
@ 2019-12-30 13:42 ` voidlinux-github
  2019-12-30 16:11 ` [PR PATCH] [Updated] " voidlinux-github
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-30 13:42 UTC (permalink / raw)
  To: ml

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

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/17862#issuecomment-569682227

Comment:
```
$ pyls
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 583, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 900, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 791, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (python-jsonrpc-server 0+unknown (/usr/lib/python3.8/site-packages), Requirement.parse('python-jsonrpc-server>=0.3.2'), {'python-language-server'})
```

There is no need to set pycompile_module, it is computed when not set.
jsonrpc and language-server looks like noarch.

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

* Re: [PR PATCH] [Updated] New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (12 preceding siblings ...)
  2019-12-30 13:42 ` voidlinux-github
@ 2019-12-30 16:11 ` voidlinux-github
  2019-12-30 16:13 ` voidlinux-github
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-30 16:11 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python3-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 33040 bytes --]

From ac529dce197ec36f3c1c6c5c8a852175f6ab1b7f Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Mon, 30 Dec 2019 18:45:07 +0300
Subject: [PATCH 1/5] python-jedi: update to 0.15.2.

---
 srcpkgs/python-jedi/template | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python-jedi/template b/srcpkgs/python-jedi/template
index a994f0e2861..f609fb4464f 100644
--- a/srcpkgs/python-jedi/template
+++ b/srcpkgs/python-jedi/template
@@ -1,21 +1,19 @@
 # Template file for 'python-jedi'
 pkgname=python-jedi
-version=0.15.1
-revision=2
+version=0.15.2
+revision=1
 archs=noarch
-_parsover=0.5.0
 wrksrc="jedi-${version}"
 build_style=python-module
-pycompile_module="jedi"
 hostmakedepends="python-setuptools python3-setuptools"
-depends="python-parso>=${_parsover}"
+depends="python-parso"
 checkdepends="python-parso python3-parso python-pytest python3-pytest"
-short_desc="Autocompletion/static analysis library for Python2"
+short_desc="Autocompletion/static analysis library for Python 2"
 maintainer="Alessio Sergi <al3hex@gmail.com>"
 license="MIT"
 homepage="https://jedi.readthedocs.io/"
 distfiles="${PYPI_SITE}/j/jedi/jedi-${version}.tar.gz"
-checksum=ba859c74fa3c966a22f2aeebe1b74ee27e2a462f56d3f5f7ca4a59af61bfe42e
+checksum=e909527104a903606dd63bea6e8e888833f0ef087057829b89a18364a856f807
 
 post_install() {
 	vlicense LICENSE.txt
@@ -23,11 +21,10 @@ post_install() {
 
 python3-jedi_package() {
 	archs=noarch
-	pycompile_module="jedi"
-	depends="python3-parso>=${_parsover}"
-	short_desc="${short_desc/Python2/Python3}"
+	depends="python3-parso"
+	short_desc="${short_desc/2/3}"
 	pkg_install() {
-		vmove usr/lib/python3*
+		vmove "usr/lib/python3*"
 		vlicense LICENSE.txt
 	}
 }

From a7fe0244bf378533dd9cf9816bbe60213a091dc8 Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Mon, 30 Dec 2019 18:47:08 +0300
Subject: [PATCH 2/5] python-parso: update to 0.5.2.

---
 srcpkgs/python-parso/template | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/python-parso/template b/srcpkgs/python-parso/template
index 1959b42622a..fb71af549a1 100644
--- a/srcpkgs/python-parso/template
+++ b/srcpkgs/python-parso/template
@@ -1,19 +1,17 @@
 # Template file for 'python-parso'
 pkgname=python-parso
-version=0.5.1
-revision=2
+version=0.5.2
+revision=1
 archs=noarch
 wrksrc="parso-${version}"
 build_style=python-module
-pycompile_module="parso"
 hostmakedepends="python-setuptools python3-setuptools"
-depends="python"
-short_desc="Python parser (Python2)"
+short_desc="Python parser (Python 2)"
 maintainer="Alessio Sergi <al3hex@gmail.com>"
 license="MIT"
 homepage="https://github.com/davidhalter/parso"
 distfiles="${PYPI_SITE}/p/parso/parso-${version}.tar.gz"
-checksum=666b0ee4a7a1220f65d367617f2cd3ffddff3e205f3f16a0284df30e774c2a9c
+checksum=55cf25df1a35fd88b878715874d2c4dc1ad3f0eebd1e0266a67e1f55efccfbe1
 
 post_install() {
 	vlicense LICENSE.txt
@@ -21,11 +19,9 @@ post_install() {
 
 python3-parso_package() {
 	archs=noarch
-	depends="python3"
-	pycompile_module="parso"
-	short_desc="${short_desc/Python2/Python3}"
+	short_desc="${short_desc/2/3}"
 	pkg_install() {
-		vmove usr/lib/python3*
+		vmove "usr/lib/python3*"
 		vlicense LICENSE.txt
 	}
 }

From 81501dbae6276fc5468e9a7cc6566bea1209944b Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Mon, 30 Dec 2019 19:10:10 +0300
Subject: [PATCH 3/5] New package: python3-language-server-0.31.4.

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

diff --git a/srcpkgs/python3-language-server/template b/srcpkgs/python3-language-server/template
new file mode 100644
index 00000000000..d5c1aa7fff0
--- /dev/null
+++ b/srcpkgs/python3-language-server/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-language-server'
+pkgname=python3-language-server
+version=0.31.4
+revision=1
+archs=noarch
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3-future python3-jedi python3-pluggy python3-jsonrpc-server python3-ultrajson
+ python3-setuptools"
+short_desc="Python implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${PYPI_SITE}/p/${pkgname/3}/${pkgname/3}-${version}.tar.gz"
+checksum=68d1a5ed20714e45ee417348ae46de45ab4ed32c6c02ad147cbb9d7ea5293adb
+
+post_install() {
+	vlicense LICENSE
+}

From 7a99ffe5d123372abb2d09b360bd57100dc5ff16 Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Mon, 30 Dec 2019 19:10:26 +0300
Subject: [PATCH 4/5] New package: python3-jsonrpc-server-0.3.2.

---
 .../patches/python-3.8.patch                  | 60 +++++++++++++++++++
 srcpkgs/python3-jsonrpc-server/template       | 20 +++++++
 2 files changed, 80 insertions(+)
 create mode 100644 srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
 create mode 100644 srcpkgs/python3-jsonrpc-server/template

diff --git a/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
new file mode 100644
index 00000000000..67d130ebccb
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
@@ -0,0 +1,60 @@
+diff -uprb python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py	2019-11-02 23:24:59.407851208 +0200
+@@ -98,7 +98,7 @@ class Endpoint(object):
+             message (dict): The JSON RPC message sent by the client
+         """
+         if 'jsonrpc' not in message or message['jsonrpc'] != JSONRPC_VERSION:
+-            log.warn("Unknown message type %s", message)
++            log.warning("Unknown message type %s", message)
+             return
+ 
+         if 'id' not in message:
+@@ -135,7 +135,7 @@ class Endpoint(object):
+         try:
+             handler = self._dispatcher[method]
+         except KeyError:
+-            log.warn("Ignoring notification for unknown method %s", method)
++            log.warning("Ignoring notification for unknown method %s", method)
+             return
+ 
+         try:
+@@ -165,7 +165,7 @@ class Endpoint(object):
+         request_future = self._client_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received cancel notification for unknown message id %s", msg_id)
++            log.warning("Received cancel notification for unknown message id %s", msg_id)
+             return
+ 
+         # Will only work if the request hasn't started executing
+@@ -230,12 +230,13 @@ class Endpoint(object):
+         request_future = self._server_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received response to unknown message id %s", msg_id)
++            log.warning("Received response to unknown message id %s", msg_id)
+             return
+ 
+         if error is not None:
+             log.debug("Received error response to message %s: %s", msg_id, error)
+             request_future.set_exception(JsonRpcException.from_dict(error))
++            return
+ 
+         log.debug("Received result for message %s: %s", msg_id, result)
+         request_future.set_result(result)
+diff -uprb python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py python-jsonrpc-server-0.2.0/test/test_endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/test/test_endpoint.py	2019-11-02 23:24:21.033838729 +0200
+@@ -115,9 +115,9 @@ def test_request_cancel(endpoint, consum
+         'params': {'id': MSG_ID}
+     })
+ 
+-    with pytest.raises(exceptions.JsonRpcException) as exc_info:
++    with pytest.raises((exceptions.JsonRpcException, futures.CancelledError)) as exc_info:
+         assert future.result(timeout=2)
+-    assert exc_info.type == exceptions.JsonRpcRequestCancelled
++    assert exc_info.type in (exceptions.JsonRpcRequestCancelled, futures.CancelledError)
+ 
+ 
+ def test_consume_notification(endpoint, dispatcher):
diff --git a/srcpkgs/python3-jsonrpc-server/template b/srcpkgs/python3-jsonrpc-server/template
new file mode 100644
index 00000000000..80d8ec6b39e
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jsonrpc-server'
+pkgname=python3-jsonrpc-server
+version=0.3.2
+revision=1
+archs=noarch
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3-future python3-ultrajson"
+short_desc="Python library implementing asynchronous JSON RPC server"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-jsonrpc-server"
+distfiles="${PYPI_SITE}/p/${pkgname/3}/${pkgname/3}-${version}.tar.gz"
+checksum=05bcf26eac4c98c96afec266acdf563d8f454e12612da9a3f9aabb66c46daf35
+patch_args="-Np1"
+
+post_install() {
+	vlicense LICENSE
+}

From edcc9f360df70721203d6b69ba2de6d179f3c50d Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Mon, 30 Dec 2019 19:10:40 +0300
Subject: [PATCH 5/5] New package: python3-ultrajson-1.35.

---
 ...static-to-C-functions-where-possible.patch | 597 ++++++++++++++++++
 .../patches/lower-stack-usage.patch           |  19 +
 srcpkgs/python3-ultrajson/template            |  15 +
 3 files changed, 631 insertions(+)
 create mode 100644 srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch
 create mode 100644 srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch
 create mode 100644 srcpkgs/python3-ultrajson/template

diff --git a/srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch b/srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch
new file mode 100644
index 00000000000..2e197dd2b99
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch
@@ -0,0 +1,597 @@
+From 6cf6c7ff25c883349e8e9e5468e61498358e2e91 Mon Sep 17 00:00:00 2001
+From: WGH <wgh@torlan.ru>
+Date: Sat, 27 Aug 2016 17:34:22 +0300
+Subject: [PATCH] added "static" to C functions, where possible
+
+1. It reduces clutter in symbol table.
+2. It fixes issues with C99 inline semantics for functions
+   marked as inline (#237, #180, #222), which manifests
+   when compiled with GCC>=5.
+---
+ lib/ultrajsondec.c | 24 ++++++++--------
+ lib/ultrajsonenc.c | 24 ++++++++--------
+ python/JSONtoObj.c | 24 ++++++++--------
+ python/objToJSON.c | 72 +++++++++++++++++++++++-----------------------
+ 4 files changed, 72 insertions(+), 72 deletions(-)
+
+diff --git a/lib/ultrajsondec.c b/lib/ultrajsondec.c
+index 21a732e..19efc60 100644
+--- a/lib/ultrajsondec.c
++++ b/lib/ultrajsondec.c
+@@ -66,7 +66,7 @@ struct DecoderState
+   JSONObjectDecoder *dec;
+ };
+ 
+-JSOBJ FASTCALL_MSVC decode_any( struct DecoderState *ds) FASTCALL_ATTR;
++static JSOBJ FASTCALL_MSVC decode_any( struct DecoderState *ds) FASTCALL_ATTR;
+ typedef JSOBJ (*PFN_DECODER)( struct DecoderState *ds);
+ 
+ static JSOBJ SetError( struct DecoderState *ds, int offset, const char *message)
+@@ -76,13 +76,13 @@ static JSOBJ SetError( struct DecoderState *ds, int offset, const char *message)
+   return NULL;
+ }
+ 
+-double createDouble(double intNeg, double intValue, double frcValue, int frcDecimalCount)
++static double createDouble(double intNeg, double intValue, double frcValue, int frcDecimalCount)
+ {
+   static const double g_pow10[] = {1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001,0.0000001, 0.00000001, 0.000000001, 0.0000000001, 0.00000000001, 0.000000000001, 0.0000000000001, 0.00000000000001, 0.000000000000001};
+   return (intValue + (frcValue * g_pow10[frcDecimalCount])) * intNeg;
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
+ {
+   char *end;
+   double value;
+@@ -99,7 +99,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
+   return ds->dec->newDouble(ds->prv, value);
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
+ {
+   int intNeg = 1;
+   int mantSize = 0;
+@@ -309,7 +309,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
+   return ds->dec->newDouble (ds->prv, createDouble( (double) intNeg, (double) intValue , frcValue, decimalCount) * pow(10.0, expValue * expNeg));
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+   offset ++;
+@@ -329,7 +329,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
+   return SetError(ds, -1, "Unexpected character found when decoding 'true'");
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+   offset ++;
+@@ -351,7 +351,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
+   return SetError(ds, -1, "Unexpected character found when decoding 'false'");
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+   offset ++;
+@@ -371,7 +371,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
+   return SetError(ds, -1, "Unexpected character found when decoding 'null'");
+ }
+ 
+-FASTCALL_ATTR void FASTCALL_MSVC SkipWhitespace(struct DecoderState *ds)
++static FASTCALL_ATTR void FASTCALL_MSVC SkipWhitespace(struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+ 
+@@ -422,7 +422,7 @@ static const JSUINT8 g_decoderLookup[256] =
+   /* 0xf0 */ 4, 4, 4, 4, 4, 4, 4, 4, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR,
+ };
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
+ {
+   JSUTF16 sur[2] = { 0 };
+   int iSur = 0;
+@@ -672,7 +672,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
+   }
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
+ {
+   JSOBJ itemValue;
+   JSOBJ newObj;
+@@ -736,7 +736,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
+   }
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
+ {
+   JSOBJ itemName;
+   JSOBJ itemValue;
+@@ -819,7 +819,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
+   }
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_any(struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_any(struct DecoderState *ds)
+ {
+   for (;;)
+   {
+diff --git a/lib/ultrajsonenc.c b/lib/ultrajsonenc.c
+index 6c1b120..f330171 100644
+--- a/lib/ultrajsonenc.c
++++ b/lib/ultrajsonenc.c
+@@ -112,7 +112,7 @@ static void SetError (JSOBJ obj, JSONObjectEncoder *enc, const char *message)
+ /*
+ FIXME: Keep track of how big these get across several encoder calls and try to make an estimate
+ That way we won't run our head into the wall each call */
+-void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
++static void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
+ {
+   size_t curSize = enc->end - enc->start;
+   size_t newSize = curSize * 2;
+@@ -148,7 +148,7 @@ void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
+   enc->end = enc->start + newSize;
+ }
+ 
+-FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value)
++static FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value)
+ {
+   *(outputOffset++) = g_hexChars[(value & 0xf000) >> 12];
+   *(outputOffset++) = g_hexChars[(value & 0x0f00) >> 8];
+@@ -156,7 +156,7 @@ FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (c
+   *(outputOffset++) = g_hexChars[(value & 0x000f) >> 0];
+ }
+ 
+-int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, const char *end)
++static int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, const char *end)
+ {
+   char *of = (char *) enc->offset;
+ 
+@@ -260,7 +260,7 @@ int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, cons
+   }
+ }
+ 
+-int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end)
++static int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end)
+ {
+   JSUTF32 ucs;
+   char *of = (char *) enc->offset;
+@@ -498,19 +498,19 @@ int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char
+ #define Buffer_AppendCharUnchecked(__enc, __chr) \
+                 *((__enc)->offset++) = __chr; \
+ 
+-FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse(char* begin, char* end)
++static FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse(char* begin, char* end)
+ {
+   char aux;
+   while (end > begin)
+   aux = *end, *end-- = *begin, *begin++ = aux;
+ }
+ 
+-void Buffer_AppendIndentNewlineUnchecked(JSONObjectEncoder *enc)
++static void Buffer_AppendIndentNewlineUnchecked(JSONObjectEncoder *enc)
+ {
+   if (enc->indent > 0) Buffer_AppendCharUnchecked(enc, '\n');
+ }
+ 
+-void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
++static void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+ {
+   int i;
+   if (enc->indent > 0)
+@@ -519,7 +519,7 @@ void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+         Buffer_AppendCharUnchecked(enc, ' ');
+ }
+ 
+-void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
++static void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+ {
+   char* wstr;
+   JSUINT32 uvalue = (value < 0) ? -value : value;
+@@ -535,7 +535,7 @@ void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+   enc->offset += (wstr - (enc->offset));
+ }
+ 
+-void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
++static void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
+ {
+   char* wstr;
+   JSUINT64 uvalue = (value < 0) ? -value : value;
+@@ -551,7 +551,7 @@ void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
+   enc->offset += (wstr - (enc->offset));
+ }
+ 
+-void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
++static void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
+ {
+   char* wstr;
+   JSUINT64 uvalue = value;
+@@ -566,7 +566,7 @@ void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
+   enc->offset += (wstr - (enc->offset));
+ }
+ 
+-int Buffer_AppendDoubleUnchecked(JSOBJ obj, JSONObjectEncoder *enc, double value)
++static int Buffer_AppendDoubleUnchecked(JSOBJ obj, JSONObjectEncoder *enc, double value)
+ {
+   /* if input is larger than thres_max, revert to exponential */
+   const double thres_max = (double) 1e16 - 1;
+@@ -714,7 +714,7 @@ Handle integration functions returning NULL here */
+ FIXME:
+ Perhaps implement recursion detection */
+ 
+-void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName)
++static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName)
+ {
+   const char *value;
+   char *objName;
+diff --git a/python/JSONtoObj.c b/python/JSONtoObj.c
+index 79d9f1a..6cef088 100644
+--- a/python/JSONtoObj.c
++++ b/python/JSONtoObj.c
+@@ -43,7 +43,7 @@ Numeric decoder derived from from TCL library
+ //#define PRINTMARK() fprintf(stderr, "%s: MARK(%d)\n", __FILE__, __LINE__)
+ #define PRINTMARK()
+ 
+-void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
++static void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
+ {
+   PyDict_SetItem (obj, name, value);
+   Py_DECREF( (PyObject *) name);
+@@ -51,59 +51,59 @@ void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
+   return;
+ }
+ 
+-void Object_arrayAddItem(void *prv, JSOBJ obj, JSOBJ value)
++static void Object_arrayAddItem(void *prv, JSOBJ obj, JSOBJ value)
+ {
+   PyList_Append(obj, value);
+   Py_DECREF( (PyObject *) value);
+   return;
+ }
+ 
+-JSOBJ Object_newString(void *prv, wchar_t *start, wchar_t *end)
++static JSOBJ Object_newString(void *prv, wchar_t *start, wchar_t *end)
+ {
+   return PyUnicode_FromWideChar (start, (end - start));
+ }
+ 
+-JSOBJ Object_newTrue(void *prv)
++static JSOBJ Object_newTrue(void *prv)
+ {
+   Py_RETURN_TRUE;
+ }
+ 
+-JSOBJ Object_newFalse(void *prv)
++static JSOBJ Object_newFalse(void *prv)
+ {
+   Py_RETURN_FALSE;
+ }
+ 
+-JSOBJ Object_newNull(void *prv)
++static JSOBJ Object_newNull(void *prv)
+ {
+   Py_RETURN_NONE;
+ }
+ 
+-JSOBJ Object_newObject(void *prv)
++static JSOBJ Object_newObject(void *prv)
+ {
+   return PyDict_New();
+ }
+ 
+-JSOBJ Object_newArray(void *prv)
++static JSOBJ Object_newArray(void *prv)
+ {
+   return PyList_New(0);
+ }
+ 
+-JSOBJ Object_newInteger(void *prv, JSINT32 value)
++static JSOBJ Object_newInteger(void *prv, JSINT32 value)
+ {
+   return PyInt_FromLong( (long) value);
+ }
+ 
+-JSOBJ Object_newLong(void *prv, JSINT64 value)
++static JSOBJ Object_newLong(void *prv, JSINT64 value)
+ {
+   return PyLong_FromLongLong (value);
+ }
+ 
+-JSOBJ Object_newUnsignedLong(void *prv, JSUINT64 value)
++static JSOBJ Object_newUnsignedLong(void *prv, JSUINT64 value)
+ {
+   return PyLong_FromUnsignedLongLong (value);
+ }
+ 
+-JSOBJ Object_newDouble(void *prv, double value)
++static JSOBJ Object_newDouble(void *prv, double value)
+ {
+   return PyFloat_FromDouble(value);
+ }
+diff --git a/python/objToJSON.c b/python/objToJSON.c
+index 04a4575..1960d40 100644
+--- a/python/objToJSON.c
++++ b/python/objToJSON.c
+@@ -226,7 +226,7 @@ static void *PyDateToINT64(JSOBJ _obj, JSONTypeContext *tc, void *outValue, size
+   return NULL;
+ }
+ 
+-int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PyObject *item;
+ 
+@@ -242,21 +242,21 @@ int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-void Tuple_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Tuple_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+ }
+ 
+-JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Tuple_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Tuple_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return NULL;
+ }
+ 
+-int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PyObject *item;
+ 
+@@ -282,7 +282,7 @@ int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->itemValue)
+   {
+@@ -297,17 +297,17 @@ void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   }
+ }
+ 
+-JSOBJ Iter_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Iter_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Iter_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Iter_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return NULL;
+ }
+ 
+-void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->itemValue)
+   {
+@@ -325,7 +325,7 @@ void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   PRINTMARK();
+ }
+ 
+-int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
++static int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
+ {
+   PyObject *obj = (PyObject *) _obj;
+   PyObject *itemValue = GET_TC(tc)->itemValue;
+@@ -401,20 +401,20 @@ int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PRINTMARK();
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Dir_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Dir_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   PRINTMARK();
+   *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
+   return PyString_AS_STRING(GET_TC(tc)->itemName);
+ }
+ 
+-int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->index >= GET_TC(tc)->size)
+   {
+@@ -427,16 +427,16 @@ int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-void List_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void List_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+ }
+ 
+-JSOBJ List_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ List_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return NULL;
+ }
+@@ -447,7 +447,7 @@ char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ // itemValue is borrowed from object (which is dict). No refCounting
+ //=============================================================================
+ 
+-int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+ #if PY_MAJOR_VERSION >= 3
+   PyObject* itemNameTmp;
+@@ -488,7 +488,7 @@ int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+     return 1;
+ }
+ 
+-void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->itemName)
+   {
+@@ -499,18 +499,18 @@ void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   PRINTMARK();
+ }
+ 
+-JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
+   return PyString_AS_STRING(GET_TC(tc)->itemName);
+ }
+ 
+-int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PyObject *items = NULL, *item = NULL, *key = NULL, *value = NULL;
+   Py_ssize_t i, nitems;
+@@ -603,7 +603,7 @@ int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return -1;
+ }
+ 
+-void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   GET_TC(tc)->itemName = NULL;
+   GET_TC(tc)->itemValue = NULL;
+@@ -612,19 +612,19 @@ void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   PRINTMARK();
+ }
+ 
+-JSOBJ SortedDict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ SortedDict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
+   return PyString_AS_STRING(GET_TC(tc)->itemName);
+ }
+ 
+ 
+-void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
++static void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
+ {
+   if (enc->sortKeys) {
+     pc->iterEnd = SortedDict_iterEnd;
+@@ -642,7 +642,7 @@ void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
+   pc->index = 0;
+ }
+ 
+-void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
++static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
+ {
+   PyObject *obj, *exc, *iter;
+   TypeContext *pc;
+@@ -929,7 +929,7 @@ void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder
+   return;
+ }
+ 
+-void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
++static void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   Py_XDECREF(GET_TC(tc)->newObj);
+ 
+@@ -937,33 +937,33 @@ void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
+   tc->prv = NULL;
+ }
+ 
+-const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen)
++static const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen)
+ {
+   return GET_TC(tc)->PyTypeToJSON (obj, tc, NULL, _outLen);
+ }
+ 
+-JSINT64 Object_getLongValue(JSOBJ obj, JSONTypeContext *tc)
++static JSINT64 Object_getLongValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   JSINT64 ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+   return ret;
+ }
+ 
+-JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc)
++static JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   JSUINT64 ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+   return ret;
+ }
+ 
+-JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc)
++static JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   JSINT32 ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+   return ret;
+ }
+ 
+-double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc)
++static double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   double ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+@@ -975,22 +975,22 @@ static void Object_releaseObject(JSOBJ _obj)
+   Py_DECREF( (PyObject *) _obj);
+ }
+ 
+-int Object_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Object_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->iterNext(obj, tc);
+ }
+ 
+-void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   GET_TC(tc)->iterEnd(obj, tc);
+ }
+ 
+-JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->iterGetValue(obj, tc);
+ }
+ 
+-char *Object_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Object_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return GET_TC(tc)->iterGetName(obj, tc, outLen);
+ }
+
diff --git a/srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch b/srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch
new file mode 100644
index 00000000000..de3258cfdeb
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch
@@ -0,0 +1,19 @@
+From: Shiz <hi@shiz.me>
+Bug-Report: https://github.com/esnme/ultrajson/issues/254
+
+musl default thread size is 80 kiB, so using 128 kiB by default will
+overflow the stack and cause segmentation faults.
+
+Allocating 128 kiB on the stack is a rather bad idea anyway, so we'll
+lower it to 8 kiB.
+--- ultrajson-1.35/lib/ultrajson.h
++++ ultrajson-1.35-patched/lib/ultrajson.h
+@@ -77,7 +77,7 @@
+ /*
+ Dictates and limits how much stack space for buffers UltraJSON will use before resorting to provided heap functions */
+ #ifndef JSON_MAX_STACK_BUFFER_SIZE
+-#define JSON_MAX_STACK_BUFFER_SIZE 131072
++#define JSON_MAX_STACK_BUFFER_SIZE 8192
+ #endif
+ 
+ #ifdef _WIN32
diff --git a/srcpkgs/python3-ultrajson/template b/srcpkgs/python3-ultrajson/template
new file mode 100644
index 00000000000..278cc009363
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/template
@@ -0,0 +1,15 @@
+# Template file for 'python3-ultrajson'
+pkgname=python3-ultrajson
+version=1.35
+revision=1
+wrksrc="ujson-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+short_desc="Ultra fast JSON encoder and decoder for Python"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="BSD-3-Clause"
+homepage="https://github.com/esnme/ultrajson"
+distfiles="${PYPI_SITE}/u/ujson/ujson-${version}.tar.gz"
+checksum=f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86
+patch_args="-Np1"

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

* Re: New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (13 preceding siblings ...)
  2019-12-30 16:11 ` [PR PATCH] [Updated] " voidlinux-github
@ 2019-12-30 16:13 ` voidlinux-github
  2019-12-30 16:27 ` voidlinux-github
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-30 16:13 UTC (permalink / raw)
  To: ml

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

New comment by k4leg on void-packages repository

https://github.com/void-linux/void-packages/pull/17862#issuecomment-569721777

Comment:
> ```
> $ pyls
> Traceback (most recent call last):
>   File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 583, in _build_master
>     ws.require(__requires__)
>   File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 900, in require
>     needed = self.resolve(parse_requirements(requirements))
>   File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 791, in resolve
>     raise VersionConflict(dist, req).with_context(dependent_req)
> pkg_resources.ContextualVersionConflict: (python-jsonrpc-server 0+unknown (/usr/lib/python3.8/site-packages), Requirement.parse('python-jsonrpc-server>=0.3.2'), {'python-language-server'})
> ```
> 
> There is no need to set pycompile_module, it is computed when not set.
> jsonrpc and language-server looks like noarch.

Fixed, thanks.

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

* Re: New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (14 preceding siblings ...)
  2019-12-30 16:13 ` voidlinux-github
@ 2019-12-30 16:27 ` voidlinux-github
  2019-12-30 17:17 ` voidlinux-github
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-30 16:27 UTC (permalink / raw)
  To: ml

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

New comment by k4leg on void-packages repository

https://github.com/void-linux/void-packages/pull/17862#issuecomment-569725212

Comment:
Inside the `python3-ultrajson` package there is no BSD license file, and everything is fine.

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

* Re: New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (15 preceding siblings ...)
  2019-12-30 16:27 ` voidlinux-github
@ 2019-12-30 17:17 ` voidlinux-github
  2019-12-30 18:02 ` [PR PATCH] [Updated] " voidlinux-github
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-30 17:17 UTC (permalink / raw)
  To: ml

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

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/17862#issuecomment-569738289

Comment:
There is license as comment in ujson-1.35/python/ujson.c, some templates eg. moreutils creates license file.
Parso should depend on python. Other don't because their dependencies do.

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

* Re: [PR PATCH] [Updated] New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (16 preceding siblings ...)
  2019-12-30 17:17 ` voidlinux-github
@ 2019-12-30 18:02 ` voidlinux-github
  2019-12-30 20:03 ` voidlinux-github
  2019-12-30 20:03 ` [PR PATCH] [Merged]: " voidlinux-github
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-30 18:02 UTC (permalink / raw)
  To: ml

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

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

https://github.com/k4leg/void-packages python-language-server
https://github.com/void-linux/void-packages/pull/17862

New package: python3-language-server-0.31.4


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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python-language-server-17862.patch --]
[-- Type: text/x-diff, Size: 33134 bytes --]

From ac529dce197ec36f3c1c6c5c8a852175f6ab1b7f Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Mon, 30 Dec 2019 18:45:07 +0300
Subject: [PATCH 1/5] python-jedi: update to 0.15.2.

---
 srcpkgs/python-jedi/template | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/srcpkgs/python-jedi/template b/srcpkgs/python-jedi/template
index a994f0e2861..f609fb4464f 100644
--- a/srcpkgs/python-jedi/template
+++ b/srcpkgs/python-jedi/template
@@ -1,21 +1,19 @@
 # Template file for 'python-jedi'
 pkgname=python-jedi
-version=0.15.1
-revision=2
+version=0.15.2
+revision=1
 archs=noarch
-_parsover=0.5.0
 wrksrc="jedi-${version}"
 build_style=python-module
-pycompile_module="jedi"
 hostmakedepends="python-setuptools python3-setuptools"
-depends="python-parso>=${_parsover}"
+depends="python-parso"
 checkdepends="python-parso python3-parso python-pytest python3-pytest"
-short_desc="Autocompletion/static analysis library for Python2"
+short_desc="Autocompletion/static analysis library for Python 2"
 maintainer="Alessio Sergi <al3hex@gmail.com>"
 license="MIT"
 homepage="https://jedi.readthedocs.io/"
 distfiles="${PYPI_SITE}/j/jedi/jedi-${version}.tar.gz"
-checksum=ba859c74fa3c966a22f2aeebe1b74ee27e2a462f56d3f5f7ca4a59af61bfe42e
+checksum=e909527104a903606dd63bea6e8e888833f0ef087057829b89a18364a856f807
 
 post_install() {
 	vlicense LICENSE.txt
@@ -23,11 +21,10 @@ post_install() {
 
 python3-jedi_package() {
 	archs=noarch
-	pycompile_module="jedi"
-	depends="python3-parso>=${_parsover}"
-	short_desc="${short_desc/Python2/Python3}"
+	depends="python3-parso"
+	short_desc="${short_desc/2/3}"
 	pkg_install() {
-		vmove usr/lib/python3*
+		vmove "usr/lib/python3*"
 		vlicense LICENSE.txt
 	}
 }

From 7485f7d3fc383b1312f35268aa523799cb3c0908 Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Mon, 30 Dec 2019 19:10:10 +0300
Subject: [PATCH 2/5] New package: python3-language-server-0.31.4.

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

diff --git a/srcpkgs/python3-language-server/template b/srcpkgs/python3-language-server/template
new file mode 100644
index 00000000000..d5c1aa7fff0
--- /dev/null
+++ b/srcpkgs/python3-language-server/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-language-server'
+pkgname=python3-language-server
+version=0.31.4
+revision=1
+archs=noarch
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3-future python3-jedi python3-pluggy python3-jsonrpc-server python3-ultrajson
+ python3-setuptools"
+short_desc="Python implementation of the Language Server Protocol"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-language-server"
+distfiles="${PYPI_SITE}/p/${pkgname/3}/${pkgname/3}-${version}.tar.gz"
+checksum=68d1a5ed20714e45ee417348ae46de45ab4ed32c6c02ad147cbb9d7ea5293adb
+
+post_install() {
+	vlicense LICENSE
+}

From 8cfc0f4e6b6b1cdb8c19f87ef3d6a029b53e66da Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Mon, 30 Dec 2019 19:10:26 +0300
Subject: [PATCH 3/5] New package: python3-jsonrpc-server-0.3.2.

---
 .../patches/python-3.8.patch                  | 60 +++++++++++++++++++
 srcpkgs/python3-jsonrpc-server/template       | 20 +++++++
 2 files changed, 80 insertions(+)
 create mode 100644 srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
 create mode 100644 srcpkgs/python3-jsonrpc-server/template

diff --git a/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
new file mode 100644
index 00000000000..67d130ebccb
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/patches/python-3.8.patch
@@ -0,0 +1,60 @@
+diff -uprb python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/pyls_jsonrpc/endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/pyls_jsonrpc/endpoint.py	2019-11-02 23:24:59.407851208 +0200
+@@ -98,7 +98,7 @@ class Endpoint(object):
+             message (dict): The JSON RPC message sent by the client
+         """
+         if 'jsonrpc' not in message or message['jsonrpc'] != JSONRPC_VERSION:
+-            log.warn("Unknown message type %s", message)
++            log.warning("Unknown message type %s", message)
+             return
+ 
+         if 'id' not in message:
+@@ -135,7 +135,7 @@ class Endpoint(object):
+         try:
+             handler = self._dispatcher[method]
+         except KeyError:
+-            log.warn("Ignoring notification for unknown method %s", method)
++            log.warning("Ignoring notification for unknown method %s", method)
+             return
+ 
+         try:
+@@ -165,7 +165,7 @@ class Endpoint(object):
+         request_future = self._client_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received cancel notification for unknown message id %s", msg_id)
++            log.warning("Received cancel notification for unknown message id %s", msg_id)
+             return
+ 
+         # Will only work if the request hasn't started executing
+@@ -230,12 +230,13 @@ class Endpoint(object):
+         request_future = self._server_request_futures.pop(msg_id, None)
+ 
+         if not request_future:
+-            log.warn("Received response to unknown message id %s", msg_id)
++            log.warning("Received response to unknown message id %s", msg_id)
+             return
+ 
+         if error is not None:
+             log.debug("Received error response to message %s: %s", msg_id, error)
+             request_future.set_exception(JsonRpcException.from_dict(error))
++            return
+ 
+         log.debug("Received result for message %s: %s", msg_id, result)
+         request_future.set_result(result)
+diff -uprb python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py python-jsonrpc-server-0.2.0/test/test_endpoint.py
+--- python-jsonrpc-server-0.2.0.orig/test/test_endpoint.py	2019-06-27 18:42:22.000000000 +0300
++++ python-jsonrpc-server-0.2.0/test/test_endpoint.py	2019-11-02 23:24:21.033838729 +0200
+@@ -115,9 +115,9 @@ def test_request_cancel(endpoint, consum
+         'params': {'id': MSG_ID}
+     })
+ 
+-    with pytest.raises(exceptions.JsonRpcException) as exc_info:
++    with pytest.raises((exceptions.JsonRpcException, futures.CancelledError)) as exc_info:
+         assert future.result(timeout=2)
+-    assert exc_info.type == exceptions.JsonRpcRequestCancelled
++    assert exc_info.type in (exceptions.JsonRpcRequestCancelled, futures.CancelledError)
+ 
+ 
+ def test_consume_notification(endpoint, dispatcher):
diff --git a/srcpkgs/python3-jsonrpc-server/template b/srcpkgs/python3-jsonrpc-server/template
new file mode 100644
index 00000000000..80d8ec6b39e
--- /dev/null
+++ b/srcpkgs/python3-jsonrpc-server/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-jsonrpc-server'
+pkgname=python3-jsonrpc-server
+version=0.3.2
+revision=1
+archs=noarch
+wrksrc="${pkgname/3}-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+depends="python3-future python3-ultrajson"
+short_desc="Python library implementing asynchronous JSON RPC server"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="MIT"
+homepage="https://github.com/palantir/python-jsonrpc-server"
+distfiles="${PYPI_SITE}/p/${pkgname/3}/${pkgname/3}-${version}.tar.gz"
+checksum=05bcf26eac4c98c96afec266acdf563d8f454e12612da9a3f9aabb66c46daf35
+patch_args="-Np1"
+
+post_install() {
+	vlicense LICENSE
+}

From 0422fc272f2920607ba1dd677524f9cfb3a741fb Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Mon, 30 Dec 2019 20:33:55 +0300
Subject: [PATCH 4/5] python-parso: update to 0.5.2.

---
 srcpkgs/python-parso/template | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/python-parso/template b/srcpkgs/python-parso/template
index 1959b42622a..fa8de0f07d6 100644
--- a/srcpkgs/python-parso/template
+++ b/srcpkgs/python-parso/template
@@ -1,19 +1,18 @@
 # Template file for 'python-parso'
 pkgname=python-parso
-version=0.5.1
-revision=2
+version=0.5.2
+revision=1
 archs=noarch
 wrksrc="parso-${version}"
 build_style=python-module
-pycompile_module="parso"
 hostmakedepends="python-setuptools python3-setuptools"
 depends="python"
-short_desc="Python parser (Python2)"
+short_desc="Python parser (Python 2)"
 maintainer="Alessio Sergi <al3hex@gmail.com>"
 license="MIT"
 homepage="https://github.com/davidhalter/parso"
 distfiles="${PYPI_SITE}/p/parso/parso-${version}.tar.gz"
-checksum=666b0ee4a7a1220f65d367617f2cd3ffddff3e205f3f16a0284df30e774c2a9c
+checksum=55cf25df1a35fd88b878715874d2c4dc1ad3f0eebd1e0266a67e1f55efccfbe1
 
 post_install() {
 	vlicense LICENSE.txt
@@ -22,10 +21,9 @@ post_install() {
 python3-parso_package() {
 	archs=noarch
 	depends="python3"
-	pycompile_module="parso"
-	short_desc="${short_desc/Python2/Python3}"
+	short_desc="${short_desc/2/3}"
 	pkg_install() {
-		vmove usr/lib/python3*
+		vmove "usr/lib/python3*"
 		vlicense LICENSE.txt
 	}
 }

From c9f8e6bfe8eecdd83fcdb61a6dab568ea378737b Mon Sep 17 00:00:00 2001
From: k4leg <d0xi@inbox.ru>
Date: Mon, 30 Dec 2019 21:02:18 +0300
Subject: [PATCH 5/5] New package: python3-ultrajson-1.35.

---
 ...static-to-C-functions-where-possible.patch | 597 ++++++++++++++++++
 .../patches/lower-stack-usage.patch           |  19 +
 srcpkgs/python3-ultrajson/template            |  20 +
 3 files changed, 636 insertions(+)
 create mode 100644 srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch
 create mode 100644 srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch
 create mode 100644 srcpkgs/python3-ultrajson/template

diff --git a/srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch b/srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch
new file mode 100644
index 00000000000..2e197dd2b99
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/patches/added-static-to-C-functions-where-possible.patch
@@ -0,0 +1,597 @@
+From 6cf6c7ff25c883349e8e9e5468e61498358e2e91 Mon Sep 17 00:00:00 2001
+From: WGH <wgh@torlan.ru>
+Date: Sat, 27 Aug 2016 17:34:22 +0300
+Subject: [PATCH] added "static" to C functions, where possible
+
+1. It reduces clutter in symbol table.
+2. It fixes issues with C99 inline semantics for functions
+   marked as inline (#237, #180, #222), which manifests
+   when compiled with GCC>=5.
+---
+ lib/ultrajsondec.c | 24 ++++++++--------
+ lib/ultrajsonenc.c | 24 ++++++++--------
+ python/JSONtoObj.c | 24 ++++++++--------
+ python/objToJSON.c | 72 +++++++++++++++++++++++-----------------------
+ 4 files changed, 72 insertions(+), 72 deletions(-)
+
+diff --git a/lib/ultrajsondec.c b/lib/ultrajsondec.c
+index 21a732e..19efc60 100644
+--- a/lib/ultrajsondec.c
++++ b/lib/ultrajsondec.c
+@@ -66,7 +66,7 @@ struct DecoderState
+   JSONObjectDecoder *dec;
+ };
+ 
+-JSOBJ FASTCALL_MSVC decode_any( struct DecoderState *ds) FASTCALL_ATTR;
++static JSOBJ FASTCALL_MSVC decode_any( struct DecoderState *ds) FASTCALL_ATTR;
+ typedef JSOBJ (*PFN_DECODER)( struct DecoderState *ds);
+ 
+ static JSOBJ SetError( struct DecoderState *ds, int offset, const char *message)
+@@ -76,13 +76,13 @@ static JSOBJ SetError( struct DecoderState *ds, int offset, const char *message)
+   return NULL;
+ }
+ 
+-double createDouble(double intNeg, double intValue, double frcValue, int frcDecimalCount)
++static double createDouble(double intNeg, double intValue, double frcValue, int frcDecimalCount)
+ {
+   static const double g_pow10[] = {1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001,0.0000001, 0.00000001, 0.000000001, 0.0000000001, 0.00000000001, 0.000000000001, 0.0000000000001, 0.00000000000001, 0.000000000000001};
+   return (intValue + (frcValue * g_pow10[frcDecimalCount])) * intNeg;
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
+ {
+   char *end;
+   double value;
+@@ -99,7 +99,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
+   return ds->dec->newDouble(ds->prv, value);
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
+ {
+   int intNeg = 1;
+   int mantSize = 0;
+@@ -309,7 +309,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
+   return ds->dec->newDouble (ds->prv, createDouble( (double) intNeg, (double) intValue , frcValue, decimalCount) * pow(10.0, expValue * expNeg));
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+   offset ++;
+@@ -329,7 +329,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
+   return SetError(ds, -1, "Unexpected character found when decoding 'true'");
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+   offset ++;
+@@ -351,7 +351,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
+   return SetError(ds, -1, "Unexpected character found when decoding 'false'");
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+   offset ++;
+@@ -371,7 +371,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
+   return SetError(ds, -1, "Unexpected character found when decoding 'null'");
+ }
+ 
+-FASTCALL_ATTR void FASTCALL_MSVC SkipWhitespace(struct DecoderState *ds)
++static FASTCALL_ATTR void FASTCALL_MSVC SkipWhitespace(struct DecoderState *ds)
+ {
+   char *offset = ds->start;
+ 
+@@ -422,7 +422,7 @@ static const JSUINT8 g_decoderLookup[256] =
+   /* 0xf0 */ 4, 4, 4, 4, 4, 4, 4, 4, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR,
+ };
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
+ {
+   JSUTF16 sur[2] = { 0 };
+   int iSur = 0;
+@@ -672,7 +672,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
+   }
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
+ {
+   JSOBJ itemValue;
+   JSOBJ newObj;
+@@ -736,7 +736,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
+   }
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
+ {
+   JSOBJ itemName;
+   JSOBJ itemValue;
+@@ -819,7 +819,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
+   }
+ }
+ 
+-FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_any(struct DecoderState *ds)
++static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_any(struct DecoderState *ds)
+ {
+   for (;;)
+   {
+diff --git a/lib/ultrajsonenc.c b/lib/ultrajsonenc.c
+index 6c1b120..f330171 100644
+--- a/lib/ultrajsonenc.c
++++ b/lib/ultrajsonenc.c
+@@ -112,7 +112,7 @@ static void SetError (JSOBJ obj, JSONObjectEncoder *enc, const char *message)
+ /*
+ FIXME: Keep track of how big these get across several encoder calls and try to make an estimate
+ That way we won't run our head into the wall each call */
+-void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
++static void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
+ {
+   size_t curSize = enc->end - enc->start;
+   size_t newSize = curSize * 2;
+@@ -148,7 +148,7 @@ void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
+   enc->end = enc->start + newSize;
+ }
+ 
+-FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value)
++static FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value)
+ {
+   *(outputOffset++) = g_hexChars[(value & 0xf000) >> 12];
+   *(outputOffset++) = g_hexChars[(value & 0x0f00) >> 8];
+@@ -156,7 +156,7 @@ FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (c
+   *(outputOffset++) = g_hexChars[(value & 0x000f) >> 0];
+ }
+ 
+-int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, const char *end)
++static int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, const char *end)
+ {
+   char *of = (char *) enc->offset;
+ 
+@@ -260,7 +260,7 @@ int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, cons
+   }
+ }
+ 
+-int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end)
++static int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end)
+ {
+   JSUTF32 ucs;
+   char *of = (char *) enc->offset;
+@@ -498,19 +498,19 @@ int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char
+ #define Buffer_AppendCharUnchecked(__enc, __chr) \
+                 *((__enc)->offset++) = __chr; \
+ 
+-FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse(char* begin, char* end)
++static FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse(char* begin, char* end)
+ {
+   char aux;
+   while (end > begin)
+   aux = *end, *end-- = *begin, *begin++ = aux;
+ }
+ 
+-void Buffer_AppendIndentNewlineUnchecked(JSONObjectEncoder *enc)
++static void Buffer_AppendIndentNewlineUnchecked(JSONObjectEncoder *enc)
+ {
+   if (enc->indent > 0) Buffer_AppendCharUnchecked(enc, '\n');
+ }
+ 
+-void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
++static void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+ {
+   int i;
+   if (enc->indent > 0)
+@@ -519,7 +519,7 @@ void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+         Buffer_AppendCharUnchecked(enc, ' ');
+ }
+ 
+-void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
++static void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+ {
+   char* wstr;
+   JSUINT32 uvalue = (value < 0) ? -value : value;
+@@ -535,7 +535,7 @@ void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
+   enc->offset += (wstr - (enc->offset));
+ }
+ 
+-void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
++static void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
+ {
+   char* wstr;
+   JSUINT64 uvalue = (value < 0) ? -value : value;
+@@ -551,7 +551,7 @@ void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
+   enc->offset += (wstr - (enc->offset));
+ }
+ 
+-void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
++static void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
+ {
+   char* wstr;
+   JSUINT64 uvalue = value;
+@@ -566,7 +566,7 @@ void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
+   enc->offset += (wstr - (enc->offset));
+ }
+ 
+-int Buffer_AppendDoubleUnchecked(JSOBJ obj, JSONObjectEncoder *enc, double value)
++static int Buffer_AppendDoubleUnchecked(JSOBJ obj, JSONObjectEncoder *enc, double value)
+ {
+   /* if input is larger than thres_max, revert to exponential */
+   const double thres_max = (double) 1e16 - 1;
+@@ -714,7 +714,7 @@ Handle integration functions returning NULL here */
+ FIXME:
+ Perhaps implement recursion detection */
+ 
+-void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName)
++static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName)
+ {
+   const char *value;
+   char *objName;
+diff --git a/python/JSONtoObj.c b/python/JSONtoObj.c
+index 79d9f1a..6cef088 100644
+--- a/python/JSONtoObj.c
++++ b/python/JSONtoObj.c
+@@ -43,7 +43,7 @@ Numeric decoder derived from from TCL library
+ //#define PRINTMARK() fprintf(stderr, "%s: MARK(%d)\n", __FILE__, __LINE__)
+ #define PRINTMARK()
+ 
+-void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
++static void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
+ {
+   PyDict_SetItem (obj, name, value);
+   Py_DECREF( (PyObject *) name);
+@@ -51,59 +51,59 @@ void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
+   return;
+ }
+ 
+-void Object_arrayAddItem(void *prv, JSOBJ obj, JSOBJ value)
++static void Object_arrayAddItem(void *prv, JSOBJ obj, JSOBJ value)
+ {
+   PyList_Append(obj, value);
+   Py_DECREF( (PyObject *) value);
+   return;
+ }
+ 
+-JSOBJ Object_newString(void *prv, wchar_t *start, wchar_t *end)
++static JSOBJ Object_newString(void *prv, wchar_t *start, wchar_t *end)
+ {
+   return PyUnicode_FromWideChar (start, (end - start));
+ }
+ 
+-JSOBJ Object_newTrue(void *prv)
++static JSOBJ Object_newTrue(void *prv)
+ {
+   Py_RETURN_TRUE;
+ }
+ 
+-JSOBJ Object_newFalse(void *prv)
++static JSOBJ Object_newFalse(void *prv)
+ {
+   Py_RETURN_FALSE;
+ }
+ 
+-JSOBJ Object_newNull(void *prv)
++static JSOBJ Object_newNull(void *prv)
+ {
+   Py_RETURN_NONE;
+ }
+ 
+-JSOBJ Object_newObject(void *prv)
++static JSOBJ Object_newObject(void *prv)
+ {
+   return PyDict_New();
+ }
+ 
+-JSOBJ Object_newArray(void *prv)
++static JSOBJ Object_newArray(void *prv)
+ {
+   return PyList_New(0);
+ }
+ 
+-JSOBJ Object_newInteger(void *prv, JSINT32 value)
++static JSOBJ Object_newInteger(void *prv, JSINT32 value)
+ {
+   return PyInt_FromLong( (long) value);
+ }
+ 
+-JSOBJ Object_newLong(void *prv, JSINT64 value)
++static JSOBJ Object_newLong(void *prv, JSINT64 value)
+ {
+   return PyLong_FromLongLong (value);
+ }
+ 
+-JSOBJ Object_newUnsignedLong(void *prv, JSUINT64 value)
++static JSOBJ Object_newUnsignedLong(void *prv, JSUINT64 value)
+ {
+   return PyLong_FromUnsignedLongLong (value);
+ }
+ 
+-JSOBJ Object_newDouble(void *prv, double value)
++static JSOBJ Object_newDouble(void *prv, double value)
+ {
+   return PyFloat_FromDouble(value);
+ }
+diff --git a/python/objToJSON.c b/python/objToJSON.c
+index 04a4575..1960d40 100644
+--- a/python/objToJSON.c
++++ b/python/objToJSON.c
+@@ -226,7 +226,7 @@ static void *PyDateToINT64(JSOBJ _obj, JSONTypeContext *tc, void *outValue, size
+   return NULL;
+ }
+ 
+-int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PyObject *item;
+ 
+@@ -242,21 +242,21 @@ int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-void Tuple_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Tuple_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+ }
+ 
+-JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Tuple_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Tuple_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return NULL;
+ }
+ 
+-int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PyObject *item;
+ 
+@@ -282,7 +282,7 @@ int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->itemValue)
+   {
+@@ -297,17 +297,17 @@ void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   }
+ }
+ 
+-JSOBJ Iter_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Iter_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Iter_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Iter_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return NULL;
+ }
+ 
+-void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->itemValue)
+   {
+@@ -325,7 +325,7 @@ void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   PRINTMARK();
+ }
+ 
+-int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
++static int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
+ {
+   PyObject *obj = (PyObject *) _obj;
+   PyObject *itemValue = GET_TC(tc)->itemValue;
+@@ -401,20 +401,20 @@ int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PRINTMARK();
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Dir_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Dir_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   PRINTMARK();
+   *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
+   return PyString_AS_STRING(GET_TC(tc)->itemName);
+ }
+ 
+-int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->index >= GET_TC(tc)->size)
+   {
+@@ -427,16 +427,16 @@ int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return 1;
+ }
+ 
+-void List_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void List_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+ }
+ 
+-JSOBJ List_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ List_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return NULL;
+ }
+@@ -447,7 +447,7 @@ char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ // itemValue is borrowed from object (which is dict). No refCounting
+ //=============================================================================
+ 
+-int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+ #if PY_MAJOR_VERSION >= 3
+   PyObject* itemNameTmp;
+@@ -488,7 +488,7 @@ int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+     return 1;
+ }
+ 
+-void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   if (GET_TC(tc)->itemName)
+   {
+@@ -499,18 +499,18 @@ void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   PRINTMARK();
+ }
+ 
+-JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
+   return PyString_AS_STRING(GET_TC(tc)->itemName);
+ }
+ 
+-int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   PyObject *items = NULL, *item = NULL, *key = NULL, *value = NULL;
+   Py_ssize_t i, nitems;
+@@ -603,7 +603,7 @@ int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
+   return -1;
+ }
+ 
+-void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   GET_TC(tc)->itemName = NULL;
+   GET_TC(tc)->itemValue = NULL;
+@@ -612,19 +612,19 @@ void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+   PRINTMARK();
+ }
+ 
+-JSOBJ SortedDict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ SortedDict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->itemValue;
+ }
+ 
+-char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
+   return PyString_AS_STRING(GET_TC(tc)->itemName);
+ }
+ 
+ 
+-void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
++static void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
+ {
+   if (enc->sortKeys) {
+     pc->iterEnd = SortedDict_iterEnd;
+@@ -642,7 +642,7 @@ void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
+   pc->index = 0;
+ }
+ 
+-void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
++static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
+ {
+   PyObject *obj, *exc, *iter;
+   TypeContext *pc;
+@@ -929,7 +929,7 @@ void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder
+   return;
+ }
+ 
+-void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
++static void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   Py_XDECREF(GET_TC(tc)->newObj);
+ 
+@@ -937,33 +937,33 @@ void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
+   tc->prv = NULL;
+ }
+ 
+-const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen)
++static const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen)
+ {
+   return GET_TC(tc)->PyTypeToJSON (obj, tc, NULL, _outLen);
+ }
+ 
+-JSINT64 Object_getLongValue(JSOBJ obj, JSONTypeContext *tc)
++static JSINT64 Object_getLongValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   JSINT64 ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+   return ret;
+ }
+ 
+-JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc)
++static JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   JSUINT64 ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+   return ret;
+ }
+ 
+-JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc)
++static JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   JSINT32 ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+   return ret;
+ }
+ 
+-double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc)
++static double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   double ret;
+   GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
+@@ -975,22 +975,22 @@ static void Object_releaseObject(JSOBJ _obj)
+   Py_DECREF( (PyObject *) _obj);
+ }
+ 
+-int Object_iterNext(JSOBJ obj, JSONTypeContext *tc)
++static int Object_iterNext(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->iterNext(obj, tc);
+ }
+ 
+-void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc)
++static void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc)
+ {
+   GET_TC(tc)->iterEnd(obj, tc);
+ }
+ 
+-JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
++static JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
+ {
+   return GET_TC(tc)->iterGetValue(obj, tc);
+ }
+ 
+-char *Object_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
++static char *Object_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
+ {
+   return GET_TC(tc)->iterGetName(obj, tc, outLen);
+ }
+
diff --git a/srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch b/srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch
new file mode 100644
index 00000000000..de3258cfdeb
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/patches/lower-stack-usage.patch
@@ -0,0 +1,19 @@
+From: Shiz <hi@shiz.me>
+Bug-Report: https://github.com/esnme/ultrajson/issues/254
+
+musl default thread size is 80 kiB, so using 128 kiB by default will
+overflow the stack and cause segmentation faults.
+
+Allocating 128 kiB on the stack is a rather bad idea anyway, so we'll
+lower it to 8 kiB.
+--- ultrajson-1.35/lib/ultrajson.h
++++ ultrajson-1.35-patched/lib/ultrajson.h
+@@ -77,7 +77,7 @@
+ /*
+ Dictates and limits how much stack space for buffers UltraJSON will use before resorting to provided heap functions */
+ #ifndef JSON_MAX_STACK_BUFFER_SIZE
+-#define JSON_MAX_STACK_BUFFER_SIZE 131072
++#define JSON_MAX_STACK_BUFFER_SIZE 8192
+ #endif
+ 
+ #ifdef _WIN32
diff --git a/srcpkgs/python3-ultrajson/template b/srcpkgs/python3-ultrajson/template
new file mode 100644
index 00000000000..cdd99fe060e
--- /dev/null
+++ b/srcpkgs/python3-ultrajson/template
@@ -0,0 +1,20 @@
+# Template file for 'python3-ultrajson'
+pkgname=python3-ultrajson
+version=1.35
+revision=1
+wrksrc="ujson-${version}"
+build_style=python3-module
+hostmakedepends="python3-setuptools"
+makedepends="python3-devel"
+short_desc="Ultra fast JSON encoder and decoder for Python"
+maintainer="k4leg <d0xi@inbox.ru>"
+license="BSD-3-Clause"
+homepage="https://github.com/esnme/ultrajson"
+distfiles="${PYPI_SITE}/u/ujson/ujson-${version}.tar.gz"
+checksum=f66073e5506e91d204ab0c614a148d5aa938bdbf104751be66f8ad7a222f5f86
+patch_args="-Np1"
+
+post_install() {
+	sed -n '/Developed/,/terms/p' python/ujson.c > LICENSE
+	vlicense LICENSE
+}

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

* Re: New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (17 preceding siblings ...)
  2019-12-30 18:02 ` [PR PATCH] [Updated] " voidlinux-github
@ 2019-12-30 20:03 ` voidlinux-github
  2019-12-30 20:03 ` [PR PATCH] [Merged]: " voidlinux-github
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-30 20:03 UTC (permalink / raw)
  To: ml

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

New comment by Chocimier on void-packages repository

https://github.com/void-linux/void-packages/pull/17862#issuecomment-569781205

Comment:
Don't forget to exchange patches with upstream.

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

* Re: [PR PATCH] [Merged]: New package: python3-language-server-0.31.4
  2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
                   ` (18 preceding siblings ...)
  2019-12-30 20:03 ` voidlinux-github
@ 2019-12-30 20:03 ` voidlinux-github
  19 siblings, 0 replies; 21+ messages in thread
From: voidlinux-github @ 2019-12-30 20:03 UTC (permalink / raw)
  To: ml

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

There's a merged pull request on the void-packages repository

New package: python3-language-server-0.31.4
https://github.com/void-linux/void-packages/pull/17862

Description:


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

end of thread, other threads:[~2019-12-30 20:03 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-29 12:58 [PR PATCH] New package: python-language-server-0.31.4 voidlinux-github
2019-12-29 13:30 ` [PR PATCH] [Updated] " voidlinux-github
2019-12-29 14:38 ` voidlinux-github
2019-12-29 15:53 ` [PR PATCH] [Updated] " voidlinux-github
2019-12-29 15:59 ` voidlinux-github
2019-12-29 16:04 ` [PR PATCH] [Updated] " voidlinux-github
2019-12-29 16:07 ` voidlinux-github
2019-12-29 16:23 ` New package: python3-language-server-0.31.4 voidlinux-github
2019-12-29 16:27 ` [PR PATCH] [Updated] " voidlinux-github
2019-12-29 16:40 ` voidlinux-github
2019-12-29 16:44 ` voidlinux-github
2019-12-29 16:59 ` voidlinux-github
2019-12-29 17:33 ` voidlinux-github
2019-12-30 13:42 ` voidlinux-github
2019-12-30 16:11 ` [PR PATCH] [Updated] " voidlinux-github
2019-12-30 16:13 ` voidlinux-github
2019-12-30 16:27 ` voidlinux-github
2019-12-30 17:17 ` voidlinux-github
2019-12-30 18:02 ` [PR PATCH] [Updated] " voidlinux-github
2019-12-30 20:03 ` voidlinux-github
2019-12-30 20:03 ` [PR PATCH] [Merged]: " voidlinux-github

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).