All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/5] package/python-uvloop: add support for cython3
@ 2024-02-12  0:40 James Hilliard
  2024-02-12  0:40 ` [Buildroot] [PATCH v3 2/5] package/python-pyyaml: disable cython build James Hilliard
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: James Hilliard @ 2024-02-12  0:40 UTC (permalink / raw)
  To: buildroot
  Cc: Geoffrey Ragot, Joseph Kogut, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, James Hilliard, Jagan Teki,
	Giulio Benetti

Add patches from pending upstream pull request which add cython3
compatibility.

These patches have been in use by gentoo so they should be have
a decent amount of real world testing/usage.

See:
https://github.com/gentoo/gentoo/commit/cd37f8eb287497af5a30b3c68beafc82412cd88d

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v1 -> v2:
  - fix header for check-package
---
 .../0001-Updates-for-Cython3.patch            | 630 ++++++++++++++++++
 ...ebug-has-args-difference-in-python-3.patch |  29 +
 .../0003-fix-tests-on-python-3.8.patch        |  30 +
 .../0004-fix-arg-count-for-wrap.patch         |  51 ++
 4 files changed, 740 insertions(+)
 create mode 100644 package/python-uvloop/0001-Updates-for-Cython3.patch
 create mode 100644 package/python-uvloop/0002-_set_coroutine_debug-has-args-difference-in-python-3.patch
 create mode 100644 package/python-uvloop/0003-fix-tests-on-python-3.8.patch
 create mode 100644 package/python-uvloop/0004-fix-arg-count-for-wrap.patch

diff --git a/package/python-uvloop/0001-Updates-for-Cython3.patch b/package/python-uvloop/0001-Updates-for-Cython3.patch
new file mode 100644
index 0000000000..5ed1c7536f
--- /dev/null
+++ b/package/python-uvloop/0001-Updates-for-Cython3.patch
@@ -0,0 +1,630 @@
+From 087a2983c8022598232cb7ed0a49da334d7af9ff Mon Sep 17 00:00:00 2001
+From: Alan Brooks <12380017+alan-brooks@users.noreply.github.com>
+Date: Thu, 28 Dec 2023 12:18:15 +0000
+Subject: [PATCH] Updates for Cython3 Remove SSL depreciation warnings buillt
+ on debian 12.6 python-3.22 Cython-3.0.7 libuv-1.46.0
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/MagicStack/uvloop/pull/587
+---
+ Makefile                         |  2 +-
+ setup.py                         |  6 ++++--
+ tests/test_process.py            |  4 ++--
+ tests/test_tcp.py                | 19 ++++++++++++-------
+ uvloop/_testbase.py              |  4 +++-
+ uvloop/cbhandles.pyx             |  4 ++--
+ uvloop/dns.pyx                   |  4 ++--
+ uvloop/handles/basetransport.pxd |  4 ++--
+ uvloop/handles/basetransport.pyx |  4 ++--
+ uvloop/handles/handle.pyx        |  2 +-
+ uvloop/handles/pipe.pyx          |  2 +-
+ uvloop/handles/poll.pxd          |  2 +-
+ uvloop/handles/poll.pyx          |  2 +-
+ uvloop/handles/stream.pyx        | 16 ++++++++++------
+ uvloop/handles/udp.pyx           |  4 ++--
+ uvloop/includes/consts.pxi       | 25 -------------------------
+ uvloop/includes/fork_handler.h   |  6 +++++-
+ uvloop/includes/system.h         | 16 ++++++++++++++++
+ uvloop/includes/system.pxd       | 12 ++++--------
+ uvloop/includes/uv.pxd           |  6 +++---
+ uvloop/loop.pxd                  | 28 ++++++++++++++++++++++++----
+ uvloop/loop.pyx                  | 10 +++++-----
+ uvloop/sslproto.pxd              |  4 ++--
+ uvloop/sslproto.pyx              |  4 ++--
+ 24 files changed, 107 insertions(+), 83 deletions(-)
+ delete mode 100644 uvloop/includes/consts.pxi
+ create mode 100755 uvloop/includes/system.h
+
+diff --git a/Makefile b/Makefile
+index 4375e5d..6a0475a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -9,7 +9,7 @@ _default: compile
+ 
+ 
+ clean:
+-	rm -fr dist/ doc/_build/ *.egg-info uvloop/loop.*.pyd
++	rm -fr dist/ doc/_build/ *.egg-info uvloop/loop.*.pyd uvloop/loop_d.*.pyd
+ 	rm -fr uvloop/*.c uvloop/*.html uvloop/*.so
+ 	rm -fr uvloop/handles/*.html uvloop/includes/*.html
+ 	find . -name '__pycache__' | xargs rm -rf
+diff --git a/setup.py b/setup.py
+index ba15af5..8fdf0e5 100644
+--- a/setup.py
++++ b/setup.py
+@@ -21,7 +21,7 @@ from setuptools.command.build_ext import build_ext
+ from setuptools.command.sdist import sdist
+ 
+ 
+-CYTHON_DEPENDENCY = 'Cython(>=0.29.36,<0.30.0)'
++CYTHON_DEPENDENCY = 'Cython(>=0.29.36)'
+ MACHINE = platform.machine()
+ MODULES_CFLAGS = [os.getenv('UVLOOP_OPT_CFLAGS', '-O2')]
+ _ROOT = pathlib.Path(__file__).parent
+@@ -144,7 +144,9 @@ class uvloop_build_ext(build_ext):
+             self.distribution.ext_modules[:] = cythonize(
+                 self.distribution.ext_modules,
+                 compiler_directives=directives,
+-                annotate=self.cython_annotate)
++                annotate=self.cython_annotate,
++                compile_time_env=dict(DEFAULT_FREELIST_SIZE=250, SSL_READ_MAX_SIZE=256 * 1024),
++                emit_linenums=True)
+ 
+         super().finalize_options()
+ 
+diff --git a/tests/test_process.py b/tests/test_process.py
+index bfcbba1..95e1c9e 100644
+--- a/tests/test_process.py
++++ b/tests/test_process.py
+@@ -912,7 +912,7 @@ class Test_UV_Process_Delayed(tb.UVTestCase):
+                 stdin=subprocess.PIPE,
+                 stdout=subprocess.PIPE,
+                 stderr=subprocess.PIPE,
+-                __uvloop_sleep_after_fork=True))
++                uvloop_sleep_after_fork=True))
+         self.assertIsNot(transport, None)
+         self.assertEqual(transport.get_returncode(), 0)
+         self.assertEqual(
+@@ -931,7 +931,7 @@ class Test_UV_Process_Delayed(tb.UVTestCase):
+                 stdin=None,
+                 stdout=subprocess.PIPE,
+                 stderr=subprocess.PIPE,
+-                __uvloop_sleep_after_fork=True))
++                uvloop_sleep_after_fork=True))
+         self.assertIsNot(transport, None)
+         self.assertEqual(transport.get_returncode(), 0)
+         self.assertEqual(
+diff --git a/tests/test_tcp.py b/tests/test_tcp.py
+index 812e62b..213e2d9 100644
+--- a/tests/test_tcp.py
++++ b/tests/test_tcp.py
+@@ -1630,17 +1630,22 @@ class _TestSSL(tb.SSLTestCase):
+             self.fail("unexpected call to connection_made()")
+ 
+     def test_ssl_connect_accepted_socket(self):
+-        if hasattr(ssl, 'PROTOCOL_TLS'):
+-            proto = ssl.PROTOCOL_TLS
++        if hasattr(ssl, 'PROTOCOL_TLS_SERVER'):
++            server_proto = ssl.PROTOCOL_TLS_SERVER
++            client_proto = ssl.PROTOCOL_TLS_CLIENT
+         else:
+-            proto = ssl.PROTOCOL_SSLv23
+-        server_context = ssl.SSLContext(proto)
++            if hasattr(ssl, 'PROTOCOL_TLS'):
++                client_proto = server_proto = ssl.PROTOCOL_TLS
++            else:
++                client_proto = server_proto = ssl.PROTOCOL_SSLv23
++
++        server_context = ssl.SSLContext(server_proto)
+         server_context.load_cert_chain(self.ONLYCERT, self.ONLYKEY)
+         if hasattr(server_context, 'check_hostname'):
+             server_context.check_hostname = False
+         server_context.verify_mode = ssl.CERT_NONE
+ 
+-        client_context = ssl.SSLContext(proto)
++        client_context = ssl.SSLContext(client_proto)
+         if hasattr(server_context, 'check_hostname'):
+             client_context.check_hostname = False
+         client_context.verify_mode = ssl.CERT_NONE
+@@ -2233,7 +2238,7 @@ class _TestSSL(tb.SSLTestCase):
+         sslctx.use_privatekey_file(self.ONLYKEY)
+         sslctx.use_certificate_chain_file(self.ONLYCERT)
+         client_sslctx = self._create_client_ssl_context()
+-        if hasattr(ssl, 'OP_NO_TLSv1_3'):
++        if sys.version_info < (3, 8) and hasattr(ssl, 'OP_NO_TLSv1_3'):
+             client_sslctx.options |= ssl.OP_NO_TLSv1_3
+ 
+         def server(sock):
+@@ -2592,7 +2597,7 @@ class _TestSSL(tb.SSLTestCase):
+         sslctx_openssl.use_privatekey_file(self.ONLYKEY)
+         sslctx_openssl.use_certificate_chain_file(self.ONLYCERT)
+         client_sslctx = self._create_client_ssl_context()
+-        if hasattr(ssl, 'OP_NO_TLSv1_3'):
++        if sys.version_info < (3, 8) and hasattr(ssl, 'OP_NO_TLSv1_3'):
+             client_sslctx.options |= ssl.OP_NO_TLSv1_3
+ 
+         future = None
+diff --git a/uvloop/_testbase.py b/uvloop/_testbase.py
+index c4a7595..e620e15 100644
+--- a/uvloop/_testbase.py
++++ b/uvloop/_testbase.py
+@@ -269,7 +269,9 @@ def find_free_port(start_from=50000):
+ class SSLTestCase:
+ 
+     def _create_server_ssl_context(self, certfile, keyfile=None):
+-        if hasattr(ssl, 'PROTOCOL_TLS'):
++        if hasattr(ssl, 'PROTOCOL_TLS_SERVER'):
++            sslcontext = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
++        elif hasattr(ssl, 'PROTOCOL_TLS'):
+             sslcontext = ssl.SSLContext(ssl.PROTOCOL_TLS)
+         else:
+             sslcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
+diff --git a/uvloop/cbhandles.pyx b/uvloop/cbhandles.pyx
+index 2914b42..8bcc5aa 100644
+--- a/uvloop/cbhandles.pyx
++++ b/uvloop/cbhandles.pyx
+@@ -76,8 +76,8 @@ cdef class Handle:
+                     self.arg1, self.arg2, self.arg3, self.arg4)
+ 
+             else:
+-                raise RuntimeError('invalid Handle.cb_type: {}'.format(
+-                    cb_type))
++                raise RuntimeError('invalid Handle.cb_type: {} {!r}/{!r}'.format(
++                    cb_type, self.args1, self.args2))
+ 
+         except (KeyboardInterrupt, SystemExit):
+             raise
+diff --git a/uvloop/dns.pyx b/uvloop/dns.pyx
+index 7aad631..09b9282 100644
+--- a/uvloop/dns.pyx
++++ b/uvloop/dns.pyx
+@@ -298,7 +298,7 @@ cdef class AddrInfo:
+             uv.uv_freeaddrinfo(self.data)  # returns void
+             self.data = NULL
+ 
+-    cdef void set_data(self, system.addrinfo *data):
++    cdef void set_data(self, system.addrinfo *data) noexcept:
+         self.data = data
+ 
+     cdef unpack(self):
+@@ -326,7 +326,7 @@ cdef class AddrInfo:
+         return result
+ 
+     @staticmethod
+-    cdef int isinstance(object other):
++    cdef int isinstance(object other) noexcept:
+         return type(other) is AddrInfo
+ 
+ 
+diff --git a/uvloop/handles/basetransport.pxd b/uvloop/handles/basetransport.pxd
+index ba356a7..8112622 100644
+--- a/uvloop/handles/basetransport.pxd
++++ b/uvloop/handles/basetransport.pxd
+@@ -47,8 +47,8 @@ cdef class UVBaseTransport(UVSocketHandle):
+     # === overloads ===
+ 
+     cdef _new_socket(self)
+-    cdef size_t _get_write_buffer_size(self)
++    cdef size_t _get_write_buffer_size(self) noexcept
+ 
+-    cdef bint _is_reading(self)
++    cdef bint _is_reading(self) noexcept
+     cdef _start_reading(self)
+     cdef _stop_reading(self)
+diff --git a/uvloop/handles/basetransport.pyx b/uvloop/handles/basetransport.pyx
+index 28b3079..a8592f2 100644
+--- a/uvloop/handles/basetransport.pyx
++++ b/uvloop/handles/basetransport.pyx
+@@ -18,7 +18,7 @@ cdef class UVBaseTransport(UVSocketHandle):
+ 
+         self._closing = 0
+ 
+-    cdef size_t _get_write_buffer_size(self):
++    cdef size_t _get_write_buffer_size(self) noexcept:
+         return 0
+ 
+     cdef inline _schedule_call_connection_made(self):
+@@ -211,7 +211,7 @@ cdef class UVBaseTransport(UVSocketHandle):
+             self._extra_info = {}
+         self._extra_info[name] = obj
+ 
+-    cdef bint _is_reading(self):
++    cdef bint _is_reading(self) noexcept:
+         raise NotImplementedError
+ 
+     cdef _start_reading(self):
+diff --git a/uvloop/handles/handle.pyx b/uvloop/handles/handle.pyx
+index 6efe375..2c96458 100644
+--- a/uvloop/handles/handle.pyx
++++ b/uvloop/handles/handle.pyx
+@@ -363,7 +363,7 @@ cdef void __uv_close_handle_cb(uv.uv_handle_t* handle) noexcept with gil:
+             Py_DECREF(h)  # Was INCREFed in UVHandle._close
+ 
+ 
+-cdef void __close_all_handles(Loop loop):
++cdef void __close_all_handles(Loop loop) noexcept:
+     uv.uv_walk(loop.uvloop,
+                __uv_walk_close_all_handles_cb,
+                <void*>loop)  # void
+diff --git a/uvloop/handles/pipe.pyx b/uvloop/handles/pipe.pyx
+index 195576c..d30a736 100644
+--- a/uvloop/handles/pipe.pyx
++++ b/uvloop/handles/pipe.pyx
+@@ -25,7 +25,7 @@ cdef __pipe_init_uv_handle(UVStream handle, Loop loop):
+ cdef __pipe_open(UVStream handle, int fd):
+     cdef int err
+     err = uv.uv_pipe_open(<uv.uv_pipe_t *>handle._handle,
+-                          <uv.uv_file>fd)
++                          <uv.uv_os_fd_t>fd)
+     if err < 0:
+         exc = convert_error(err)
+         raise exc
+diff --git a/uvloop/handles/poll.pxd b/uvloop/handles/poll.pxd
+index d07030b..c220540 100644
+--- a/uvloop/handles/poll.pxd
++++ b/uvloop/handles/poll.pxd
+@@ -10,7 +10,7 @@ cdef class UVPoll(UVHandle):
+     cdef inline _poll_start(self, int flags)
+     cdef inline _poll_stop(self)
+ 
+-    cdef int is_active(self)
++    cdef int is_active(self) noexcept
+ 
+     cdef is_reading(self)
+     cdef is_writing(self)
+diff --git a/uvloop/handles/poll.pyx b/uvloop/handles/poll.pyx
+index fca5981..c905e9b 100644
+--- a/uvloop/handles/poll.pyx
++++ b/uvloop/handles/poll.pyx
+@@ -29,7 +29,7 @@ cdef class UVPoll(UVHandle):
+         handle._init(loop, fd)
+         return handle
+ 
+-    cdef int is_active(self):
++    cdef int is_active(self) noexcept:
+         return (self.reading_handle is not None or
+                 self.writing_handle is not None)
+ 
+diff --git a/uvloop/handles/stream.pyx b/uvloop/handles/stream.pyx
+index d4e02e3..09df887 100644
+--- a/uvloop/handles/stream.pyx
++++ b/uvloop/handles/stream.pyx
+@@ -1,4 +1,8 @@
+-DEF __PREALLOCED_BUFS = 4
++cdef extern from *:
++    '''
++    enum {__PREALLOCED_BUFS = 4};
++    '''
++    const bint __PREALLOCED_BUFS
+ 
+ 
+ @cython.no_gc_clear
+@@ -279,7 +283,7 @@ cdef class UVStream(UVBaseTransport):
+     cdef inline _close_on_read_error(self):
+         self.__read_error_close = 1
+ 
+-    cdef bint _is_reading(self):
++    cdef bint _is_reading(self) noexcept:
+         return self.__reading
+ 
+     cdef _start_reading(self):
+@@ -578,7 +582,7 @@ cdef class UVStream(UVBaseTransport):
+ 
+         self._maybe_resume_protocol()
+ 
+-    cdef size_t _get_write_buffer_size(self):
++    cdef size_t _get_write_buffer_size(self) noexcept:
+         if self._handle is NULL:
+             return 0
+         return ((<uv.uv_stream_t*>self._handle).write_queue_size +
+@@ -755,7 +759,7 @@ cdef inline bint __uv_stream_on_read_common(
+     UVStream sc,
+     Loop loop,
+     ssize_t nread,
+-):
++) noexcept:
+     if sc._closed:
+         # The stream was closed, there is no reason to
+         # do any work now.
+@@ -818,7 +822,7 @@ cdef inline void __uv_stream_on_read_impl(
+     uv.uv_stream_t* stream,
+     ssize_t nread,
+     const uv.uv_buf_t* buf,
+-):
++) noexcept:
+     cdef:
+         UVStream sc = <UVStream>stream.data
+         Loop loop = sc._loop
+@@ -849,7 +853,7 @@ cdef inline void __uv_stream_on_read_impl(
+ cdef inline void __uv_stream_on_write_impl(
+     uv.uv_write_t* req,
+     int status,
+-):
++) noexcept:
+     cdef:
+         _StreamWriteContext ctx = <_StreamWriteContext> req.data
+         UVStream stream = <UVStream>ctx.stream
+diff --git a/uvloop/handles/udp.pyx b/uvloop/handles/udp.pyx
+index bbe60d5..fdd1d8b 100644
+--- a/uvloop/handles/udp.pyx
++++ b/uvloop/handles/udp.pyx
+@@ -127,12 +127,12 @@ cdef class UDPTransport(UVBaseTransport):
+             exc = convert_error(err)
+             raise exc
+ 
+-    cdef size_t _get_write_buffer_size(self):
++    cdef size_t _get_write_buffer_size(self) noexcept:
+         if self._handle is NULL:
+             return 0
+         return (<uv.uv_udp_t*>self._handle).send_queue_size
+ 
+-    cdef bint _is_reading(self):
++    cdef bint _is_reading(self) noexcept:
+         return self.__receiving
+ 
+     cdef _start_reading(self):
+diff --git a/uvloop/includes/consts.pxi b/uvloop/includes/consts.pxi
+deleted file mode 100644
+index f765053..0000000
+--- a/uvloop/includes/consts.pxi
++++ /dev/null
+@@ -1,25 +0,0 @@
+-DEF UV_STREAM_RECV_BUF_SIZE = 256000  # 250kb
+-
+-DEF FLOW_CONTROL_HIGH_WATER = 64  # KiB
+-DEF FLOW_CONTROL_HIGH_WATER_SSL_READ = 256  # KiB
+-DEF FLOW_CONTROL_HIGH_WATER_SSL_WRITE = 512  # KiB
+-
+-DEF DEFAULT_FREELIST_SIZE = 250
+-DEF DNS_PYADDR_TO_SOCKADDR_CACHE_SIZE = 2048
+-
+-DEF DEBUG_STACK_DEPTH = 10
+-
+-
+-DEF __PROCESS_DEBUG_SLEEP_AFTER_FORK = 1
+-
+-
+-DEF LOG_THRESHOLD_FOR_CONNLOST_WRITES = 5
+-
+-
+-# Number of seconds to wait for SSL handshake to complete
+-# The default timeout matches that of Nginx.
+-DEF SSL_HANDSHAKE_TIMEOUT = 60.0
+-# Number of seconds to wait for SSL shutdown to complete
+-# The default timeout mimics lingering_time
+-DEF SSL_SHUTDOWN_TIMEOUT = 30.0
+-DEF SSL_READ_MAX_SIZE = 256 * 1024
+diff --git a/uvloop/includes/fork_handler.h b/uvloop/includes/fork_handler.h
+index 47bbe03..9d3573a 100644
+--- a/uvloop/includes/fork_handler.h
++++ b/uvloop/includes/fork_handler.h
+@@ -1,7 +1,10 @@
++#ifndef UVLOOP_FORK_HANDLER_H_
++#define UVLOOP_FORK_HANDLER_H_
++
+ volatile uint64_t MAIN_THREAD_ID = 0;
+ volatile int8_t MAIN_THREAD_ID_SET = 0;
+ 
+-typedef void (*OnForkHandler)();
++typedef void (*OnForkHandler)(void);
+ 
+ OnForkHandler __forkHandler = NULL;
+ 
+@@ -36,3 +39,4 @@ void setMainThreadID(uint64_t id) {
+     MAIN_THREAD_ID = id;
+     MAIN_THREAD_ID_SET = 1;
+ }
++#endif
+diff --git a/uvloop/includes/system.h b/uvloop/includes/system.h
+new file mode 100755
+index 0000000..e143bb5
+--- /dev/null
++++ b/uvloop/includes/system.h
+@@ -0,0 +1,16 @@
++#ifndef UVLOOP_SYSTEM_H_
++#define UVLOOP_SYSTEM_H_
++#if defined(_WIN32) || defined(MS_WINDOWS) || defined(_MSC_VER)
++#include "Winsock2.h"
++#include "ws2def.h"
++#include "includes/fork_handler.h"
++#else
++#include "arpa/inet.h"
++#include "sys/socket.h"
++#include "sys/un.h"
++#include "unistd.h"
++#include "pthread.h"
++#endif
++#endif
++
++
+diff --git a/uvloop/includes/system.pxd b/uvloop/includes/system.pxd
+index 367fedd..d1da74e 100644
+--- a/uvloop/includes/system.pxd
++++ b/uvloop/includes/system.pxd
+@@ -1,13 +1,9 @@
+ from libc.stdint cimport int8_t, uint64_t
+ 
+-cdef extern from "arpa/inet.h" nogil:
+-
+-    int ntohl(int)
+-    int htonl(int)
+-    int ntohs(int)
+-
+-
+-cdef extern from "sys/socket.h" nogil:
++cdef extern from "includes/system.h":
++    int ntohl(int) nogil
++    int htonl(int) nogil
++    int ntohs(int) nogil
+ 
+     struct sockaddr:
+         unsigned short sa_family
+diff --git a/uvloop/includes/uv.pxd b/uvloop/includes/uv.pxd
+index 8765130..ddd9738 100644
+--- a/uvloop/includes/uv.pxd
++++ b/uvloop/includes/uv.pxd
+@@ -220,7 +220,7 @@ cdef extern from "uv.h" nogil:
+         UV_LEAVE_GROUP = 0,
+         UV_JOIN_GROUP
+ 
+-    cpdef enum uv_fs_event:
++    cdef enum uv_fs_event:
+         UV_RENAME = 1,
+         UV_CHANGE = 2
+ 
+@@ -282,7 +282,7 @@ cdef extern from "uv.h" nogil:
+     int uv_loop_close(uv_loop_t* loop)
+     int uv_loop_alive(uv_loop_t* loop)
+     int uv_loop_fork(uv_loop_t* loop)
+-    int uv_backend_fd(uv_loop_t* loop)
++    uv_os_fd_t uv_backend_fd(uv_loop_t* loop)
+ 
+     void uv_update_time(uv_loop_t* loop)
+     uint64_t uv_now(const uv_loop_t*)
+@@ -378,7 +378,7 @@ cdef extern from "uv.h" nogil:
+     # Pipes
+ 
+     int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc)
+-    int uv_pipe_open(uv_pipe_t* handle, uv_file file)
++    int uv_pipe_open(uv_pipe_t* handle, uv_os_fd_t file)
+     int uv_pipe_bind(uv_pipe_t* handle, const char* name)
+ 
+     void uv_pipe_connect(uv_connect_t* req, uv_pipe_t* handle,
+diff --git a/uvloop/loop.pxd b/uvloop/loop.pxd
+index 5613473..f90c704 100644
+--- a/uvloop/loop.pxd
++++ b/uvloop/loop.pxd
+@@ -1,15 +1,35 @@
+ # cython: language_level=3
+ 
++cdef extern from *:
++    '''
++    enum { UV_STREAM_RECV_BUF_SIZE = 256000,
++           SSL_READ_MAX_SIZE = 256 * 1024,  // 250kb
++          };
++    const float SSL_HANDSHAKE_TIMEOUT = 60.0; // Number of seconds to wait for SSL handshake to complete The default timeout matches that of Nginx.
++    const float SSL_SHUTDOWN_TIMEOUT  = 30.0; // Number of seconds to wait for SSL shutdown to complete The default timeout mimics lingering_time
++    '''
++    const bint UV_STREAM_RECV_BUF_SIZE
++    const bint SSL_READ_MAX_SIZE
++
++    const float SSL_HANDSHAKE_TIMEOUT
++    const float SSL_SHUTDOWN_TIMEOUT
++
++cdef enum:
++    FLOW_CONTROL_HIGH_WATER = 64  # KiB
++    FLOW_CONTROL_HIGH_WATER_SSL_READ = 256  # KiB
++    FLOW_CONTROL_HIGH_WATER_SSL_WRITE = 512  # KiB
++
++    DNS_PYADDR_TO_SOCKADDR_CACHE_SIZE = 2048
++    DEBUG_STACK_DEPTH = 10
++    __PROCESS_DEBUG_SLEEP_AFTER_FORK = 1
++    LOG_THRESHOLD_FOR_CONNLOST_WRITES = 5
++
+ 
+ from .includes cimport uv
+ from .includes cimport system
+ 
+ from libc.stdint cimport uint64_t, uint32_t, int64_t
+ 
+-
+-include "includes/consts.pxi"
+-
+-
+ cdef extern from *:
+     ctypedef int vint "volatile int"
+ 
+diff --git a/uvloop/loop.pyx b/uvloop/loop.pyx
+index 334d8d5..53e1160 100644
+--- a/uvloop/loop.pyx
++++ b/uvloop/loop.pyx
+@@ -43,7 +43,7 @@ from cpython.pycapsule cimport PyCapsule_New, PyCapsule_GetPointer
+ from . import _noop
+ 
+ 
+-include "includes/consts.pxi"
++
+ include "includes/stdlib.pxi"
+ 
+ include "errors.pyx"
+@@ -1118,7 +1118,7 @@ cdef class Loop:
+ 
+     cdef _sock_set_reuseport(self, int fd):
+         cdef:
+-            int err
++            int err = 0
+             int reuseport_flag = 1
+ 
+         err = system.setsockopt(
+@@ -1397,7 +1397,7 @@ cdef class Loop:
+         self._debug = bool(enabled)
+         if self.is_running():
+             self.call_soon_threadsafe(
+-                self._set_coroutine_debug, self, self._debug)
++                self._set_coroutine_debug, self._debug)
+ 
+     def is_running(self):
+         """Return whether the event loop is currently running."""
+@@ -2750,7 +2750,7 @@ cdef class Loop:
+                                executable=None,
+                                pass_fds=(),
+                                # For tests only! Do not use in your code. Ever.
+-                               __uvloop_sleep_after_fork=False):
++                               uvloop_sleep_after_fork=False):
+ 
+         # TODO: Implement close_fds (might not be very important in
+         # Python 3.5, since all FDs aren't inheritable by default.)
+@@ -2770,7 +2770,7 @@ cdef class Loop:
+         if executable is not None:
+             args[0] = executable
+ 
+-        if __uvloop_sleep_after_fork:
++        if uvloop_sleep_after_fork:
+             debug_flags |= __PROCESS_DEBUG_SLEEP_AFTER_FORK
+ 
+         waiter = self._new_future()
+diff --git a/uvloop/sslproto.pxd b/uvloop/sslproto.pxd
+index 3da10f0..68e4d57 100644
+--- a/uvloop/sslproto.pxd
++++ b/uvloop/sslproto.pxd
+@@ -122,7 +122,7 @@ cdef class SSLProtocol:
+     # Flow control for writes from APP socket
+ 
+     cdef _control_app_writing(self, object context=*)
+-    cdef size_t _get_write_buffer_size(self)
++    cdef size_t _get_write_buffer_size(self) noexcept
+     cdef _set_write_buffer_limits(self, high=*, low=*)
+ 
+     # Flow control for reads to APP socket
+@@ -134,5 +134,5 @@ cdef class SSLProtocol:
+ 
+     cdef _control_ssl_reading(self)
+     cdef _set_read_buffer_limits(self, high=*, low=*)
+-    cdef size_t _get_read_buffer_size(self)
++    cdef size_t _get_read_buffer_size(self) noexcept
+     cdef _fatal_error(self, exc, message=*)
+diff --git a/uvloop/sslproto.pyx b/uvloop/sslproto.pyx
+index 42bb764..0a43746 100644
+--- a/uvloop/sslproto.pyx
++++ b/uvloop/sslproto.pyx
+@@ -861,7 +861,7 @@ cdef class SSLProtocol:
+                     'protocol': self,
+                 })
+ 
+-    cdef size_t _get_write_buffer_size(self):
++    cdef size_t _get_write_buffer_size(self) noexcept:
+         return self._outgoing.pending + self._write_buffer_size
+ 
+     cdef _set_write_buffer_limits(self, high=None, low=None):
+@@ -903,7 +903,7 @@ cdef class SSLProtocol:
+         self._incoming_high_water = high
+         self._incoming_low_water = low
+ 
+-    cdef size_t _get_read_buffer_size(self):
++    cdef size_t _get_read_buffer_size(self) noexcept:
+         return self._incoming.pending
+ 
+     # Flow control for writes to SSL socket
+-- 
+2.34.1
+
diff --git a/package/python-uvloop/0002-_set_coroutine_debug-has-args-difference-in-python-3.patch b/package/python-uvloop/0002-_set_coroutine_debug-has-args-difference-in-python-3.patch
new file mode 100644
index 0000000000..0567eebe82
--- /dev/null
+++ b/package/python-uvloop/0002-_set_coroutine_debug-has-args-difference-in-python-3.patch
@@ -0,0 +1,29 @@
+From 8b63801bfdb1f0cf7fde4f58e96f8628a587b186 Mon Sep 17 00:00:00 2001
+From: Alan Brooks <12380017+alan-brooks@users.noreply.github.com>
+Date: Thu, 28 Dec 2023 16:17:49 +0000
+Subject: [PATCH] _set_coroutine_debug has args difference in python 3.11
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/MagicStack/uvloop/pull/587
+---
+ uvloop/loop.pyx | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/uvloop/loop.pyx b/uvloop/loop.pyx
+index 53e1160..5ca718e 100644
+--- a/uvloop/loop.pyx
++++ b/uvloop/loop.pyx
+@@ -1396,8 +1396,9 @@ cdef class Loop:
+     def set_debug(self, enabled):
+         self._debug = bool(enabled)
+         if self.is_running():
++            args = (self, self._debug) if sys.version_info < (3, 11) else (self._debug,)
+             self.call_soon_threadsafe(
+-                self._set_coroutine_debug, self._debug)
++                self._set_coroutine_debug, *args)
+ 
+     def is_running(self):
+         """Return whether the event loop is currently running."""
+-- 
+2.34.1
+
diff --git a/package/python-uvloop/0003-fix-tests-on-python-3.8.patch b/package/python-uvloop/0003-fix-tests-on-python-3.8.patch
new file mode 100644
index 0000000000..e9bed5e877
--- /dev/null
+++ b/package/python-uvloop/0003-fix-tests-on-python-3.8.patch
@@ -0,0 +1,30 @@
+From ef5c3e5c6f331692ebcbea9e4c6aead8b2187038 Mon Sep 17 00:00:00 2001
+From: alan-brooks <12380017+alan-brooks@users.noreply.github.com>
+Date: Thu, 28 Dec 2023 19:58:11 +0000
+Subject: [PATCH] fix tests on python 3.8
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/MagicStack/uvloop/pull/587
+---
+ uvloop/loop.pyx | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/uvloop/loop.pyx b/uvloop/loop.pyx
+index 5ca718e..75b915a 100644
+--- a/uvloop/loop.pyx
++++ b/uvloop/loop.pyx
+@@ -1396,9 +1396,8 @@ cdef class Loop:
+     def set_debug(self, enabled):
+         self._debug = bool(enabled)
+         if self.is_running():
+-            args = (self, self._debug) if sys.version_info < (3, 11) else (self._debug,)
+-            self.call_soon_threadsafe(
+-                self._set_coroutine_debug, *args)
++            args = ((self, self._debug),) if sys.version_info < (3, 11) else (self._debug,)
++            self.call_soon_threadsafe(self._set_coroutine_debug, *args)
+ 
+     def is_running(self):
+         """Return whether the event loop is currently running."""
+-- 
+2.34.1
+
diff --git a/package/python-uvloop/0004-fix-arg-count-for-wrap.patch b/package/python-uvloop/0004-fix-arg-count-for-wrap.patch
new file mode 100644
index 0000000000..d19923a5bc
--- /dev/null
+++ b/package/python-uvloop/0004-fix-arg-count-for-wrap.patch
@@ -0,0 +1,51 @@
+From afef6364c2c3100ab23c2bb2de82d2da330b258c Mon Sep 17 00:00:00 2001
+From: alan-brooks <12380017+alan-brooks@users.noreply.github.com>
+Date: Fri, 29 Dec 2023 11:24:19 +0000
+Subject: [PATCH] fix arg count for wrap()
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+Upstream: https://github.com/MagicStack/uvloop/pull/587
+---
+ uvloop/loop.pxd | 2 +-
+ uvloop/loop.pyx | 5 ++---
+ 2 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/uvloop/loop.pxd b/uvloop/loop.pxd
+index f90c704..d34ffeb 100644
+--- a/uvloop/loop.pxd
++++ b/uvloop/loop.pxd
+@@ -220,7 +220,7 @@ cdef class Loop:
+     cdef inline _ceval_process_signals(self)
+     cdef _invoke_signals(self, bytes data)
+ 
+-    cdef _set_coroutine_debug(self, bint enabled)
++    cpdef _set_coroutine_debug(self, bint enabled)
+ 
+     cdef _print_debug_info(self)
+ 
+diff --git a/uvloop/loop.pyx b/uvloop/loop.pyx
+index 75b915a..a3eeb60 100644
+--- a/uvloop/loop.pyx
++++ b/uvloop/loop.pyx
+@@ -1131,7 +1131,7 @@ cdef class Loop:
+         if err < 0:
+             raise convert_error(-errno.errno)
+ 
+-    cdef _set_coroutine_debug(self, bint enabled):
++    cpdef _set_coroutine_debug(self, bint enabled):
+         enabled = bool(enabled)
+         if self._coroutine_debug_set == enabled:
+             return
+@@ -1396,8 +1396,7 @@ cdef class Loop:
+     def set_debug(self, enabled):
+         self._debug = bool(enabled)
+         if self.is_running():
+-            args = ((self, self._debug),) if sys.version_info < (3, 11) else (self._debug,)
+-            self.call_soon_threadsafe(self._set_coroutine_debug, *args)
++             self.call_soon_threadsafe(self._set_coroutine_debug, self._debug)
+ 
+     def is_running(self):
+         """Return whether the event loop is currently running."""
+-- 
+2.34.1
+
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH v3 2/5] package/python-pyyaml: disable cython build
  2024-02-12  0:40 [Buildroot] [PATCH v3 1/5] package/python-uvloop: add support for cython3 James Hilliard
@ 2024-02-12  0:40 ` James Hilliard
  2024-02-12  0:40 ` [Buildroot] [PATCH v3 3/5] package/python-numpy: bump to version 1.26.4 James Hilliard
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: James Hilliard @ 2024-02-12  0:40 UTC (permalink / raw)
  To: buildroot
  Cc: Geoffrey Ragot, Joseph Kogut, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, James Hilliard, Jagan Teki,
	Giulio Benetti

Currently pyyaml does not support cython 3, as this is only an
optional build dependency lets just disable cython for now as
it will otherwise prevent us from updating cython.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/python-pyyaml/python-pyyaml.mk | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/package/python-pyyaml/python-pyyaml.mk b/package/python-pyyaml/python-pyyaml.mk
index 846c57df4f..2e4696a504 100644
--- a/package/python-pyyaml/python-pyyaml.mk
+++ b/package/python-pyyaml/python-pyyaml.mk
@@ -12,8 +12,7 @@ PYTHON_PYYAML_LICENSE = MIT
 PYTHON_PYYAML_LICENSE_FILES = LICENSE
 PYTHON_PYYAML_CPE_ID_VENDOR = pyyaml
 PYTHON_PYYAML_CPE_ID_PRODUCT = pyyaml
-PYTHON_PYYAML_DEPENDENCIES = host-python-cython libyaml
-PYTHON_PYYAML_ENV = PYYAML_FORCE_CYTHON=1
+PYTHON_PYYAML_DEPENDENCIES = libyaml
 HOST_PYTHON_PYYAML_DEPENDENCIES = host-libyaml
 
 $(eval $(python-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH v3 3/5] package/python-numpy: bump to version 1.26.4
  2024-02-12  0:40 [Buildroot] [PATCH v3 1/5] package/python-uvloop: add support for cython3 James Hilliard
  2024-02-12  0:40 ` [Buildroot] [PATCH v3 2/5] package/python-pyyaml: disable cython build James Hilliard
@ 2024-02-12  0:40 ` James Hilliard
  2024-02-12  0:41 ` [Buildroot] [PATCH v3 4/5] package/python-scipy: bump to version 1.12.0 James Hilliard
  2024-02-12  0:41 ` [Buildroot] [PATCH v3 5/5] package/python-cython: bump to version 3.0.8 James Hilliard
  3 siblings, 0 replies; 5+ messages in thread
From: James Hilliard @ 2024-02-12  0:40 UTC (permalink / raw)
  To: buildroot
  Cc: Geoffrey Ragot, Joseph Kogut, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, James Hilliard, Jagan Teki,
	Giulio Benetti

License hash changed due to date update:
https://github.com/numpy/numpy/commit/c1ffdbc0c29d48ece717acb5bfbf811c935b41f6

We need to build python-numpy with its vendored version of meson as
it currently relies on features that are not yet upstream. To do this
we can simply set the PYTHONPATH with the vendored meson path before
the normal PYTHON3_PATH so that the vendored version will have
precedence. We need to set this for both host and target numpy.

We also need to set the architecture specific longdouble_format
property as numpy is unable to determine the value for this without
being able to execute target binaries.

See:
https://github.com/numpy/numpy/blob/3e7e5c3cabb8f1a0d940dc6f2058fed4a8c3e284/doc/source/building/cross_compilation.rst

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/python-numpy/python-numpy.hash |  7 ++--
 package/python-numpy/python-numpy.mk   | 44 ++++++++++++++++++++++++--
 2 files changed, 45 insertions(+), 6 deletions(-)

diff --git a/package/python-numpy/python-numpy.hash b/package/python-numpy/python-numpy.hash
index 6629cebbce..34426e7557 100644
--- a/package/python-numpy/python-numpy.hash
+++ b/package/python-numpy/python-numpy.hash
@@ -1,7 +1,8 @@
-# Copied from https://github.com/numpy/numpy/releases/tag/v1.25.0
-sha256  f1accae9a28dc3cda46a91de86acf69de0d1b5f4edd44a9b0c3ceb8036dfff19  numpy-1.25.0.tar.gz
+# md5, sha256 from https://pypi.org/pypi/numpy/json
+md5  19550cbe7bedd96a928da9d4ad69509d  numpy-1.26.4.tar.gz
+sha256  2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010  numpy-1.26.4.tar.gz
 # License files, locally calculated
-sha256  1034d3bd61783f3b5e7ec3e7ca818f4da4135132323a0ef99f4c0edb3c7f6bd2  LICENSE.txt
+sha256  263223390c43a9d4a0841e0209265fd927a198f8e89c8eee809b7437d7e5e8c2  LICENSE.txt
 sha256  c27d0a8026bdb8876562b720ab24d1688e3827a89f6083cd6e7e8caa9584aba3  numpy/core/src/multiarray/dragon4.c
 sha256  fbc539f47d0cf83bc61378080fb873d5c14630126cacbfe754035c3926daa5ec  numpy/core/include/numpy/libdivide/LICENSE.txt
 sha256  a14cc25e10d40a3aa705b7de2fb764a6535d8ee9b2db4e1724900585457dfd55  numpy/linalg/lapack_lite/LICENSE.txt
diff --git a/package/python-numpy/python-numpy.mk b/package/python-numpy/python-numpy.mk
index 200fac20a1..36ae278ff1 100644
--- a/package/python-numpy/python-numpy.mk
+++ b/package/python-numpy/python-numpy.mk
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-PYTHON_NUMPY_VERSION = 1.25.0
+PYTHON_NUMPY_VERSION = 1.26.4
 PYTHON_NUMPY_SOURCE = numpy-$(PYTHON_NUMPY_VERSION).tar.gz
-PYTHON_NUMPY_SITE = https://github.com/numpy/numpy/releases/download/v$(PYTHON_NUMPY_VERSION)
+PYTHON_NUMPY_SITE = https://files.pythonhosted.org/packages/65/6e/09db70a523a96d25e115e71cc56a6f9031e7b8cd166c1ac8438307c14058
 PYTHON_NUMPY_LICENSE = BSD-3-Clause, MIT, Zlib
 PYTHON_NUMPY_LICENSE_FILES = \
 	LICENSE.txt \
@@ -22,7 +22,10 @@ HOST_PYTHON_NUMPY_DEPENDENCIES = host-python-cython
 
 PYTHON_NUMPY_CONF_ENV += \
 	_PYTHON_SYSCONFIGDATA_NAME=$(PKG_PYTHON_SYSCONFIGDATA_NAME) \
-	PYTHONPATH=$(PYTHON3_PATH)
+	PYTHONPATH="$(@D)/vendored-meson/meson:$(PYTHON3_PATH)"
+
+PYTHON_NUMPY_NINJA_ENV += \
+	PYTHONPATH="$(@D)/vendored-meson/meson:$(PYTHON3_PATH)"
 
 ifeq ($(BR2_PACKAGE_LAPACK),y)
 PYTHON_NUMPY_DEPENDENCIES += lapack
@@ -38,6 +41,41 @@ else
 PYTHON_NUMPY_CONF_OPTS += -Dblas=""
 endif
 
+ifeq ($(BR2_arcle),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_LE
+else ifeq ($(BR2_arceb),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
+else ifeq ($(BR2_aarch64),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_LE
+else ifeq ($(BR2_arm),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = INTEL_EXTENDED_12_BYTES_LE
+else ifeq ($(BR2_armeb),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = MOTOROLA_EXTENDED_12_BYTES_BE
+else ifeq ($(BR2_i386),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = INTEL_EXTENDED_12_BYTES_LE
+else ifeq ($(BR2_mips),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_BE
+else ifeq ($(BR2_mipsel),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = INTEL_EXTENDED_12_BYTES_LE
+else ifeq ($(BR2_powerpc),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_BE
+else ifeq ($(BR2_powerpc64),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_BE
+else ifeq ($(BR2_sh),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_DOUBLE_LE
+else ifeq ($(BR2_x86_64),y)
+PYTHON_NUMPY_LONGDOUBLE_FORMAT = IEEE_QUAD_LE
+endif
+
+PYTHON_NUMPY_MESON_EXTRA_PROPERTIES = \
+	longdouble_format='$(PYTHON_NUMPY_LONGDOUBLE_FORMAT)'
+
+HOST_PYTHON_NUMPY_CONF_ENV += \
+	PYTHONPATH="$(@D)/vendored-meson/meson:$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)"
+
+HOST_PYTHON_NUMPY_NINJA_ENV += \
+	PYTHONPATH="$(@D)/vendored-meson/meson:$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)"
+
 # Rather than add a host-blas or host-lapack dependencies, just use unoptimized,
 # in-tree code.
 HOST_PYTHON_NUMPY_CONF_OPTS = -Dblas="" -Dlapack=""
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH v3 4/5] package/python-scipy: bump to version 1.12.0
  2024-02-12  0:40 [Buildroot] [PATCH v3 1/5] package/python-uvloop: add support for cython3 James Hilliard
  2024-02-12  0:40 ` [Buildroot] [PATCH v3 2/5] package/python-pyyaml: disable cython build James Hilliard
  2024-02-12  0:40 ` [Buildroot] [PATCH v3 3/5] package/python-numpy: bump to version 1.26.4 James Hilliard
@ 2024-02-12  0:41 ` James Hilliard
  2024-02-12  0:41 ` [Buildroot] [PATCH v3 5/5] package/python-cython: bump to version 3.0.8 James Hilliard
  3 siblings, 0 replies; 5+ messages in thread
From: James Hilliard @ 2024-02-12  0:41 UTC (permalink / raw)
  To: buildroot
  Cc: Geoffrey Ragot, Joseph Kogut, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, James Hilliard, Jagan Teki,
	Giulio Benetti

License hash changed due to date update:
https://github.com/scipy/scipy/commit/0ace7295322148d74932bee32b0647e29c38fc8a

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
 package/python-scipy/python-scipy.hash | 6 +++---
 package/python-scipy/python-scipy.mk   | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/package/python-scipy/python-scipy.hash b/package/python-scipy/python-scipy.hash
index bee5d698a0..5b8cac8055 100644
--- a/package/python-scipy/python-scipy.hash
+++ b/package/python-scipy/python-scipy.hash
@@ -1,8 +1,8 @@
 # md5, sha256 from https://pypi.org/pypi/scipy/json
-md5  0e8eea0f7c4fe7d8102366230c96d66d  scipy-1.11.4.tar.gz
-sha256  90a2b78e7f5733b9de748f589f09225013685f9b218275257f8a8168ededaeaa  scipy-1.11.4.tar.gz
+md5  22683fcf9a411f0a5254b7509bea0a6b  scipy-1.12.0.tar.gz
+sha256  4bf5abab8a36d20193c698b0f1fc282c1d083c94723902c447e5d2f1780936a3  scipy-1.12.0.tar.gz
 # Locally computed sha256 checksums
-sha256  5517022426a56179540ee6eace15fd723ef8fdb83b2900fed2152dd2e2f972a2  LICENSE.txt
+sha256  c29fb8e5936f33237a8b15256b4c6e93037f05bbf58c3d7b5755aede4c200173  LICENSE.txt
 sha256  606209a000716c5f66e33e180ce08434b96ed17db4975ab9723c6b5fbcc89609  scipy/ndimage/LICENSE.txt
 sha256  3df9207af2fdb861af0ae3b22026f163b9bcfab4e525dc4943afe2ffa3f77624  scipy/optimize/tnc/LICENSE
 sha256  f0cedf52503b2d42b83411a0a16e6fefac346dfad8fddc66f50050150123470c  scipy/sparse/linalg/_dsolve/SuperLU/License.txt
diff --git a/package/python-scipy/python-scipy.mk b/package/python-scipy/python-scipy.mk
index 6626826e33..9110a5b847 100644
--- a/package/python-scipy/python-scipy.mk
+++ b/package/python-scipy/python-scipy.mk
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-PYTHON_SCIPY_VERSION = 1.11.4
+PYTHON_SCIPY_VERSION = 1.12.0
 PYTHON_SCIPY_SOURCE = scipy-$(PYTHON_SCIPY_VERSION).tar.gz
-PYTHON_SCIPY_SITE = https://files.pythonhosted.org/packages/6e/1f/91144ba78dccea567a6466262922786ffc97be1e9b06ed9574ef0edc11e1
+PYTHON_SCIPY_SITE = https://files.pythonhosted.org/packages/30/85/cdbf2c3c460fe5aae812917866392068a88d02f07de0fe31ce738734c477
 PYTHON_SCIPY_LICENSE = \
 	BSD-3-Clause, \
 	BSD-2-Clause, \
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

* [Buildroot] [PATCH v3 5/5] package/python-cython: bump to version 3.0.8
  2024-02-12  0:40 [Buildroot] [PATCH v3 1/5] package/python-uvloop: add support for cython3 James Hilliard
                   ` (2 preceding siblings ...)
  2024-02-12  0:41 ` [Buildroot] [PATCH v3 4/5] package/python-scipy: bump to version 1.12.0 James Hilliard
@ 2024-02-12  0:41 ` James Hilliard
  3 siblings, 0 replies; 5+ messages in thread
From: James Hilliard @ 2024-02-12  0:41 UTC (permalink / raw)
  To: buildroot
  Cc: Geoffrey Ragot, Joseph Kogut, Samuel Martin,
	Guillaume William Brs, Asaf Kahlon, James Hilliard, Jagan Teki,
	Giulio Benetti

Tested by ensuring all packages with a host-python-cython dependency
build succesfully.

Note that due to namespace conflicts supporting both cython 0.29 and
cython 3.0 variants at the same time would be difficult as both can
not be installed at the same time.

License hash changed due to changing links from http to https:
https://github.com/cython/cython/commit/331d9d824ee5f0c539310332215ebd6ed3257325

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
Changes v2 -> v3:
  - add more details to commit message
---
 package/python-cython/python-cython.hash | 6 +++---
 package/python-cython/python-cython.mk   | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/package/python-cython/python-cython.hash b/package/python-cython/python-cython.hash
index 08ad8f6d84..55e4a6f203 100644
--- a/package/python-cython/python-cython.hash
+++ b/package/python-cython/python-cython.hash
@@ -1,6 +1,6 @@
 # md5, sha256 from https://pypi.org/pypi/cython/json
-md5  a4d0f9fbc9c137f1a88937cd40e8c5ee  Cython-0.29.36.tar.gz
-sha256  41c0cfd2d754e383c9eeb95effc9aa4ab847d0c9747077ddd7c0dcb68c3bc01f  Cython-0.29.36.tar.gz
+md5  9f7baaa983e1bd06eaeb4fa0adfc77e5  Cython-3.0.8.tar.gz
+sha256  8333423d8fd5765e7cceea3a9985dd1e0a5dfeb2734629e1a2ed2d6233d39de6  Cython-3.0.8.tar.gz
 # Locally computed sha256 checksums
-sha256  a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9  LICENSE.txt
+sha256  9568a2b155e66ac3e0ba1fd80b52b827b9460e6cf6f233125e7cbca8e206ddc3  LICENSE.txt
 sha256  e1eb1c49a8508e8173dac30157e4a6439a44ad8846194746c424fbc3fc2b95d7  COPYING.txt
diff --git a/package/python-cython/python-cython.mk b/package/python-cython/python-cython.mk
index 47e105c065..d76bfb766d 100644
--- a/package/python-cython/python-cython.mk
+++ b/package/python-cython/python-cython.mk
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-PYTHON_CYTHON_VERSION = 0.29.36
+PYTHON_CYTHON_VERSION = 3.0.8
 PYTHON_CYTHON_SOURCE = Cython-$(PYTHON_CYTHON_VERSION).tar.gz
-PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/38/db/df0e99d6c5fe19ee5c981d22aad557be4bdeed3ecfae25d47b84b07f0f98
+PYTHON_CYTHON_SITE = https://files.pythonhosted.org/packages/68/09/ffb61f29b8e3d207c444032b21328327d753e274ea081bc74e009827cc81
 PYTHON_CYTHON_SETUP_TYPE = setuptools
 PYTHON_CYTHON_LICENSE = Apache-2.0
 PYTHON_CYTHON_LICENSE_FILES = COPYING.txt LICENSE.txt
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

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

end of thread, other threads:[~2024-02-12  0:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-12  0:40 [Buildroot] [PATCH v3 1/5] package/python-uvloop: add support for cython3 James Hilliard
2024-02-12  0:40 ` [Buildroot] [PATCH v3 2/5] package/python-pyyaml: disable cython build James Hilliard
2024-02-12  0:40 ` [Buildroot] [PATCH v3 3/5] package/python-numpy: bump to version 1.26.4 James Hilliard
2024-02-12  0:41 ` [Buildroot] [PATCH v3 4/5] package/python-scipy: bump to version 1.12.0 James Hilliard
2024-02-12  0:41 ` [Buildroot] [PATCH v3 5/5] package/python-cython: bump to version 3.0.8 James Hilliard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.