From 5ad61f526f14c812febf2dadf34d389a8fdeda06 Mon Sep 17 00:00:00 2001 From: Diego Herrera Date: Aug 02 2023 08:43:48 +0000 Subject: Fix for Fedora 39 --- diff --git a/fix_cython.patch b/fix_cython.patch new file mode 100644 index 0000000..e98b753 --- /dev/null +++ b/fix_cython.patch @@ -0,0 +1,28 @@ +diff -urN pyliblo-0.10.0-orig/src/liblo.pxd pyliblo-0.10.0/src/liblo.pxd +--- pyliblo-0.10.0-orig/src/liblo.pxd 2015-03-14 23:32:24.000000000 -0300 ++++ pyliblo-0.10.0/src/liblo.pxd 2023-08-02 04:17:47.601508337 -0400 +@@ -53,20 +53,20 @@ + int lo_send_bundle_from(lo_address targ, lo_server serv, lo_bundle b) + + # server +- lo_server lo_server_new_with_proto(char *port, int proto, lo_err_handler err_h) ++ lo_server lo_server_new_with_proto(char *port, int proto, void(*err_h)(int num, const_char *msg, const_char *where) except * nogil) + void lo_server_free(lo_server s) + char *lo_server_get_url(lo_server s) + int lo_server_get_port(lo_server s) + int lo_server_get_protocol(lo_server s) +- lo_method lo_server_add_method(lo_server s, char *path, char *typespec, lo_method_handler h, void *user_data) ++ lo_method lo_server_add_method(lo_server s, char *path, char *typespec, int(*h)(const_char *path, const_char *types, lo_arg **argv, int argc, lo_message msg, void *user_data) except?-1 nogil, void *user_data) + void lo_server_del_method(lo_server s, char *path, char *typespec) +- int lo_server_add_bundle_handlers(lo_server s, lo_bundle_start_handler sh, lo_bundle_end_handler eh, void *user_data) ++ int lo_server_add_bundle_handlers(lo_server s, int(*sh)(lo_timetag time, void *user_data) except?-1 nogil , int(*eh)(void *user_data) except?-1 nogil, void *user_data) + int lo_server_recv(lo_server s) nogil + int lo_server_recv_noblock(lo_server s, int timeout) nogil + int lo_server_get_socket_fd(lo_server s) + + # server thread +- lo_server_thread lo_server_thread_new_with_proto(char *port, int proto, lo_err_handler err_h) ++ lo_server_thread lo_server_thread_new_with_proto(char *port, int proto, void(*err_h)(int num, const_char *msg, const_char *where) except * nogil) + void lo_server_thread_free(lo_server_thread st) + lo_server lo_server_thread_get_server(lo_server_thread st) + void lo_server_thread_start(lo_server_thread st) diff --git a/fix_inspect.patch b/fix_inspect.patch new file mode 100644 index 0000000..804fa04 --- /dev/null +++ b/fix_inspect.patch @@ -0,0 +1,15 @@ +diff -urN pyliblo-0.10.0-orig/src/liblo.pyx pyliblo-0.10.0/src/liblo.pyx +--- pyliblo-0.10.0-orig/src/liblo.pyx 2015-03-15 00:05:16.000000000 -0300 ++++ pyliblo-0.10.0/src/liblo.pyx 2023-08-02 04:17:53.311517532 -0400 +@@ -258,9 +258,9 @@ + cb.user_data) + + # call function +- if _inspect.getargspec(func)[1] == None: ++ if _inspect.getfullargspec(func)[1] == None: + # determine number of arguments to call the function with +- n = len(_inspect.getargspec(func)[0]) ++ n = len(_inspect.getfullargspec(func)[0]) + if _inspect.ismethod(func): + n -= 1 # self doesn't count + r = cb.func(*func_args[0:n]) diff --git a/pyliblo.spec b/pyliblo.spec index 1f57545..0c34608 100644 --- a/pyliblo.spec +++ b/pyliblo.spec @@ -2,12 +2,14 @@ Name: pyliblo Version: 0.10.0 -Release: 27%{?dist} +Release: 28%{?dist} Summary: %{sum} License: GPLv2+ URL: http://das.nasophon.de/pyliblo/ Source0: http://das.nasophon.de/download/%{name}-%{version}.tar.gz +Patch0: fix_inspect.patch +Patch1: fix_cython.patch BuildRequires: gcc BuildRequires: python3-devel @@ -37,7 +39,7 @@ to send and receive OSC messages using a nice and simple Python API. Also included are the command line utilities send_osc and dump_osc. %prep -%autosetup -n %{name}-%{version} +%autosetup -p1 -n %{name}-%{version} find -type f -exec sed -i '1s=^#!/usr/bin/\(python\|env python\)[23]\?=#!%{__python3}=' {} + # Remove shebang and executable bit from example scripts @@ -59,6 +61,10 @@ chmod -x examples/* %{python3_sitearch}/%{name}*.egg-info %changelog +* Wed Aug 2 2023 Diego Herrera - 0.10.0-28 +- Fix inspect lib changes on python 3.8+ +- Fix Cython 3.0 compatibility + * Fri Jul 21 2023 Fedora Release Engineering - 0.10.0-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild