diff --git a/packages/c/carla/files/0001-carla_host_control-import-from-pyliblo3-if-available.patch b/packages/c/carla/files/0001-carla_host_control-import-from-pyliblo3-if-available.patch new file mode 100644 index 00000000000..bf4cbd1884d --- /dev/null +++ b/packages/c/carla/files/0001-carla_host_control-import-from-pyliblo3-if-available.patch @@ -0,0 +1,65 @@ +From a81a2a545d2529233a6e0faa776fbd2d851442fb Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Fri, 27 Sep 2024 11:59:47 -0700 +Subject: [PATCH] carla_host_control: import from pyliblo3 if available + +pyliblo has not been touched upstream since 2015 and doesn't +work out of the box with Python releases since 3.11. There is an +actively-maintained fork called 'pyliblo3' at +https://github.com/gesellkammer/pyliblo3 which *does* work with +current upstream Python releases. It provides a library called +'pyliblo3' rather than 'liblo'. Let's support it, and prefer it +over the dead library (though the dead one will still be used if +it is present and pyliblo3 is not). + +Signed-off-by: Adam Williamson +--- + source/frontend/carla_host_control.py | 32 ++++++++++++++++++--------- + 1 file changed, 22 insertions(+), 10 deletions(-) + +diff --git a/source/frontend/carla_host_control.py b/source/frontend/carla_host_control.py +index 7defa8435..8df839d3a 100755 +--- a/source/frontend/carla_host_control.py ++++ b/source/frontend/carla_host_control.py +@@ -23,16 +23,28 @@ from carla_host import * + # ------------------------------------------------------------------------------------------------------------ + # Imports (liblo) + +-from liblo import ( +- Address, +- AddressError, +- ServerError, +- Server, +- make_method, +- send as lo_send, +- TCP as LO_TCP, +- UDP as LO_UDP, +-) ++try: ++ from pyliblo3 import ( ++ Address, ++ AddressError, ++ ServerError, ++ Server, ++ make_method, ++ send as lo_send, ++ TCP as LO_TCP, ++ UDP as LO_UDP, ++ ) ++except ModuleNotFoundError: ++ from liblo import ( ++ Address, ++ AddressError, ++ ServerError, ++ Server, ++ make_method, ++ send as lo_send, ++ TCP as LO_TCP, ++ UDP as LO_UDP, ++ ) + + from random import random + +-- +2.46.2 + diff --git a/packages/c/carla/package.yml b/packages/c/carla/package.yml index 6250a4b77e6..1c4f74ccc80 100644 --- a/packages/c/carla/package.yml +++ b/packages/c/carla/package.yml @@ -1,6 +1,6 @@ name : carla version : 2.5.9 -release : 27 +release : 28 source : - git|https://github.com/falkTX/Carla.git : v2.5.9 homepage : https://kx.studio/Applications:Carla @@ -27,11 +27,12 @@ builddeps : - python3-qt5 rundeps : - lrdf - - python-pyliblo + - python-pyliblo3 - python3-qt5 setup : | # Ugly way for fix missing "include array" via sed, because patching fails. sed -i '27 i\#include ' source/modules/juce_gui_basics/native/x11/juce_linux_XWindowSystem.cpp + %patch -p1 -i $pkgfiles/0001-carla_host_control-import-from-pyliblo3-if-available.patch build : | %make features %make diff --git a/packages/c/carla/pspec_x86_64.xml b/packages/c/carla/pspec_x86_64.xml index 4fa01567395..0454de04c3b 100644 --- a/packages/c/carla/pspec_x86_64.xml +++ b/packages/c/carla/pspec_x86_64.xml @@ -3,8 +3,8 @@ carla https://kx.studio/Applications:Carla - Joey Riches - josephriches@gmail.com + Muhammad Alfi Syahrin + malfisya.dev@hotmail.com GPL-2.0-or-later multimedia.audio @@ -257,7 +257,7 @@ programming.devel - carla + carla /usr/include/carla/CarlaBackend.h @@ -294,12 +294,12 @@ - - 2025-05-23 + + 2025-06-17 2.5.9 Packaging update - Joey Riches - josephriches@gmail.com + Muhammad Alfi Syahrin + malfisya.dev@hotmail.com \ No newline at end of file diff --git a/packages/py/python-pyliblo3/abi_libs b/packages/py/python-pyliblo3/abi_libs new file mode 100644 index 00000000000..407001dbe85 --- /dev/null +++ b/packages/py/python-pyliblo3/abi_libs @@ -0,0 +1 @@ +_liblo.cpython-312-x86_64-linux-gnu.so diff --git a/packages/py/python-pyliblo3/abi_symbols b/packages/py/python-pyliblo3/abi_symbols new file mode 100644 index 00000000000..cf6045fd80a --- /dev/null +++ b/packages/py/python-pyliblo3/abi_symbols @@ -0,0 +1,3 @@ +_liblo.cpython-312-x86_64-linux-gnu.so:PyInit__liblo +_liblo.cpython-312-x86_64-linux-gnu.so:__pyx_CommonTypesMetaclass_get_module +_liblo.cpython-312-x86_64-linux-gnu.so:__pyx_module_is_main_pyliblo3___liblo diff --git a/packages/py/python-pyliblo3/abi_used_libs b/packages/py/python-pyliblo3/abi_used_libs new file mode 100644 index 00000000000..af90bdf0089 --- /dev/null +++ b/packages/py/python-pyliblo3/abi_used_libs @@ -0,0 +1,3 @@ +UNKNOWN +libc.so.6 +liblo.so.7 diff --git a/packages/py/python-pyliblo3/abi_used_symbols b/packages/py/python-pyliblo3/abi_used_symbols new file mode 100644 index 00000000000..136c47e3c0d --- /dev/null +++ b/packages/py/python-pyliblo3/abi_used_symbols @@ -0,0 +1,234 @@ +UNKNOWN:PyArg_ValidateKeywordArguments +UNKNOWN:PyBaseObject_Type +UNKNOWN:PyBool_Type +UNKNOWN:PyByteArray_Type +UNKNOWN:PyBytes_AsString +UNKNOWN:PyBytes_FromString +UNKNOWN:PyBytes_FromStringAndSize +UNKNOWN:PyBytes_Type +UNKNOWN:PyCFunction_Type +UNKNOWN:PyCMethod_New +UNKNOWN:PyCallable_Check +UNKNOWN:PyCapsule_GetPointer +UNKNOWN:PyCapsule_New +UNKNOWN:PyCode_NewEmpty +UNKNOWN:PyDict_Contains +UNKNOWN:PyDict_Copy +UNKNOWN:PyDict_DelItem +UNKNOWN:PyDict_GetItemString +UNKNOWN:PyDict_GetItemWithError +UNKNOWN:PyDict_New +UNKNOWN:PyDict_Next +UNKNOWN:PyDict_SetDefault +UNKNOWN:PyDict_SetItem +UNKNOWN:PyDict_SetItemString +UNKNOWN:PyDict_Size +UNKNOWN:PyDict_Type +UNKNOWN:PyDict_Update +UNKNOWN:PyErr_Clear +UNKNOWN:PyErr_ExceptionMatches +UNKNOWN:PyErr_Fetch +UNKNOWN:PyErr_Format +UNKNOWN:PyErr_GivenExceptionMatches +UNKNOWN:PyErr_NoMemory +UNKNOWN:PyErr_Occurred +UNKNOWN:PyErr_PrintEx +UNKNOWN:PyErr_Restore +UNKNOWN:PyErr_SetObject +UNKNOWN:PyErr_SetString +UNKNOWN:PyErr_WarnEx +UNKNOWN:PyErr_WarnFormat +UNKNOWN:PyErr_WriteUnraisable +UNKNOWN:PyEval_InitThreads +UNKNOWN:PyEval_RestoreThread +UNKNOWN:PyEval_SaveThread +UNKNOWN:PyExc_AttributeError +UNKNOWN:PyExc_DeprecationWarning +UNKNOWN:PyExc_Exception +UNKNOWN:PyExc_ImportError +UNKNOWN:PyExc_IndexError +UNKNOWN:PyExc_NameError +UNKNOWN:PyExc_OverflowError +UNKNOWN:PyExc_RuntimeError +UNKNOWN:PyExc_RuntimeWarning +UNKNOWN:PyExc_StopIteration +UNKNOWN:PyExc_SystemError +UNKNOWN:PyExc_TypeError +UNKNOWN:PyExc_ValueError +UNKNOWN:PyException_GetTraceback +UNKNOWN:PyException_SetTraceback +UNKNOWN:PyFloat_AsDouble +UNKNOWN:PyFloat_FromDouble +UNKNOWN:PyFloat_FromString +UNKNOWN:PyFloat_Type +UNKNOWN:PyFrame_New +UNKNOWN:PyGC_Disable +UNKNOWN:PyGC_Enable +UNKNOWN:PyGILState_Ensure +UNKNOWN:PyGILState_Release +UNKNOWN:PyImport_AddModule +UNKNOWN:PyImport_GetModule +UNKNOWN:PyImport_GetModuleDict +UNKNOWN:PyImport_ImportModule +UNKNOWN:PyImport_ImportModuleLevelObject +UNKNOWN:PyInterpreterState_GetID +UNKNOWN:PyList_Append +UNKNOWN:PyList_AsTuple +UNKNOWN:PyList_New +UNKNOWN:PyList_SetSlice +UNKNOWN:PyList_Type +UNKNOWN:PyLong_AsDouble +UNKNOWN:PyLong_AsLong +UNKNOWN:PyLong_AsUnsignedLong +UNKNOWN:PyLong_FromLong +UNKNOWN:PyLong_FromSsize_t +UNKNOWN:PyLong_Type +UNKNOWN:PyMem_Free +UNKNOWN:PyMem_Malloc +UNKNOWN:PyMem_Realloc +UNKNOWN:PyMethodDescr_Type +UNKNOWN:PyMethod_New +UNKNOWN:PyMethod_Type +UNKNOWN:PyModuleDef_Init +UNKNOWN:PyModule_GetDict +UNKNOWN:PyModule_GetName +UNKNOWN:PyModule_NewObject +UNKNOWN:PyNumber_InPlaceAdd +UNKNOWN:PyNumber_InPlaceSubtract +UNKNOWN:PyNumber_Long +UNKNOWN:PyNumber_Remainder +UNKNOWN:PyOS_snprintf +UNKNOWN:PyOS_string_to_double +UNKNOWN:PyObject_Call +UNKNOWN:PyObject_CallFinalizerFromDealloc +UNKNOWN:PyObject_CallMethodObjArgs +UNKNOWN:PyObject_ClearWeakRefs +UNKNOWN:PyObject_GC_Del +UNKNOWN:PyObject_GC_IsFinalized +UNKNOWN:PyObject_GC_Track +UNKNOWN:PyObject_GC_UnTrack +UNKNOWN:PyObject_GenericGetAttr +UNKNOWN:PyObject_GetAttr +UNKNOWN:PyObject_GetAttrString +UNKNOWN:PyObject_GetItem +UNKNOWN:PyObject_GetIter +UNKNOWN:PyObject_HasAttr +UNKNOWN:PyObject_Hash +UNKNOWN:PyObject_IsSubclass +UNKNOWN:PyObject_IsTrue +UNKNOWN:PyObject_RichCompare +UNKNOWN:PyObject_RichCompareBool +UNKNOWN:PyObject_SetAttr +UNKNOWN:PyObject_SetAttrString +UNKNOWN:PyObject_SetItem +UNKNOWN:PyObject_Size +UNKNOWN:PyObject_Str +UNKNOWN:PyObject_Vectorcall +UNKNOWN:PyObject_VectorcallDict +UNKNOWN:PyObject_VectorcallMethod +UNKNOWN:PySequence_Contains +UNKNOWN:PySequence_Tuple +UNKNOWN:PyThreadState_Get +UNKNOWN:PyTraceBack_Here +UNKNOWN:PyTuple_GetItem +UNKNOWN:PyTuple_GetSlice +UNKNOWN:PyTuple_New +UNKNOWN:PyTuple_Pack +UNKNOWN:PyTuple_Type +UNKNOWN:PyType_FromMetaclass +UNKNOWN:PyType_IsSubtype +UNKNOWN:PyType_Modified +UNKNOWN:PyType_Ready +UNKNOWN:PyType_Type +UNKNOWN:PyUnicode_AsEncodedString +UNKNOWN:PyUnicode_AsUTF8AndSize +UNKNOWN:PyUnicode_Concat +UNKNOWN:PyUnicode_Decode +UNKNOWN:PyUnicode_Format +UNKNOWN:PyUnicode_FromFormat +UNKNOWN:PyUnicode_FromOrdinal +UNKNOWN:PyUnicode_FromString +UNKNOWN:PyUnicode_FromStringAndSize +UNKNOWN:PyUnicode_InternFromString +UNKNOWN:PyUnicode_New +UNKNOWN:PyUnicode_Resize +UNKNOWN:PyUnicode_Type +UNKNOWN:PyUnstable_Code_NewWithPosOnlyArgs +UNKNOWN:Py_EnterRecursiveCall +UNKNOWN:Py_LeaveRecursiveCall +UNKNOWN:Py_Version +UNKNOWN:_PyByteArray_empty_string +UNKNOWN:_PyDict_GetItem_KnownHash +UNKNOWN:_PyDict_Pop +UNKNOWN:_PyDict_SetItem_KnownHash +UNKNOWN:_PyObject_GC_New +UNKNOWN:_PyObject_GenericGetAttrWithDict +UNKNOWN:_PyThreadState_UncheckedGet +UNKNOWN:_PyType_Lookup +UNKNOWN:_PyUnicode_FastCopyCharacters +UNKNOWN:_PyUnicode_IsWhitespace +UNKNOWN:_Py_Dealloc +UNKNOWN:_Py_FalseStruct +UNKNOWN:_Py_NoneStruct +UNKNOWN:_Py_TrueStruct +UNKNOWN:_Py_ascii_whitespace +libc.so.6:__assert_fail +libc.so.6:__stack_chk_fail +libc.so.6:free +libc.so.6:malloc +libc.so.6:memcmp +libc.so.6:memcpy +libc.so.6:memmove +libc.so.6:modf +libc.so.6:strrchr +liblo.so.7:lo_address_errstr +liblo.so.7:lo_address_free +liblo.so.7:lo_address_get_hostname +liblo.so.7:lo_address_get_port +liblo.so.7:lo_address_get_protocol +liblo.so.7:lo_address_get_url +liblo.so.7:lo_address_new +liblo.so.7:lo_address_new_from_url +liblo.so.7:lo_address_new_with_proto +liblo.so.7:lo_blob_dataptr +liblo.so.7:lo_blob_free +liblo.so.7:lo_blob_new +liblo.so.7:lo_bundle_add_message +liblo.so.7:lo_bundle_free +liblo.so.7:lo_bundle_new +liblo.so.7:lo_message_add_blob +liblo.so.7:lo_message_add_char +liblo.so.7:lo_message_add_double +liblo.so.7:lo_message_add_false +liblo.so.7:lo_message_add_float +liblo.so.7:lo_message_add_infinitum +liblo.so.7:lo_message_add_int32 +liblo.so.7:lo_message_add_int64 +liblo.so.7:lo_message_add_midi +liblo.so.7:lo_message_add_nil +liblo.so.7:lo_message_add_string +liblo.so.7:lo_message_add_symbol +liblo.so.7:lo_message_add_timetag +liblo.so.7:lo_message_add_true +liblo.so.7:lo_message_free +liblo.so.7:lo_message_get_source +liblo.so.7:lo_message_new +liblo.so.7:lo_send_bundle_from +liblo.so.7:lo_send_message_from +liblo.so.7:lo_server_add_bundle_handlers +liblo.so.7:lo_server_add_method +liblo.so.7:lo_server_del_method +liblo.so.7:lo_server_free +liblo.so.7:lo_server_get_port +liblo.so.7:lo_server_get_protocol +liblo.so.7:lo_server_get_socket_fd +liblo.so.7:lo_server_get_url +liblo.so.7:lo_server_new_with_proto +liblo.so.7:lo_server_recv +liblo.so.7:lo_server_recv_noblock +liblo.so.7:lo_server_thread_free +liblo.so.7:lo_server_thread_get_server +liblo.so.7:lo_server_thread_new_with_proto +liblo.so.7:lo_server_thread_start +liblo.so.7:lo_server_thread_stop +liblo.so.7:lo_timetag_now diff --git a/packages/py/python-pyliblo3/files/0001-Fix-compiltation-with-Cython-3.1.2.patch b/packages/py/python-pyliblo3/files/0001-Fix-compiltation-with-Cython-3.1.2.patch new file mode 100644 index 00000000000..b9633a572d3 --- /dev/null +++ b/packages/py/python-pyliblo3/files/0001-Fix-compiltation-with-Cython-3.1.2.patch @@ -0,0 +1,70 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Muhammad Alfi Syahrin +Date: Tue, 17 Jun 2025 19:45:37 +0700 +Subject: [PATCH] Fix compiltation with Cython 3.1.2 + +--- + 0001-Fix-compiltation-with-Cython-3.1.2.patch | 22 +++++++++++++++++++ + pyliblo3/_liblo.pyx | 6 ++--- + 2 files changed, 25 insertions(+), 3 deletions(-) + create mode 100644 0001-Fix-compiltation-with-Cython-3.1.2.patch + +diff --git a/0001-Fix-compiltation-with-Cython-3.1.2.patch b/0001-Fix-compiltation-with-Cython-3.1.2.patch +new file mode 100644 +index 0000000..b0cfe31 +--- /dev/null ++++ b/0001-Fix-compiltation-with-Cython-3.1.2.patch +@@ -0,0 +1,22 @@ ++From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 ++From: Muhammad Alfi Syahrin ++Date: Tue, 17 Jun 2025 19:45:37 +0700 ++Subject: [PATCH] Fix compiltation with Cython 3.1.2 ++ ++--- ++ pyliblo3/_liblo.pyx | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/pyliblo3/_liblo.pyx b/pyliblo3/_liblo.pyx ++index 4fa70df..d53ec87 100644 ++--- a/pyliblo3/_liblo.pyx +++++ b/pyliblo3/_liblo.pyx ++@@ -971,7 +971,7 @@ cdef class Message: ++ if t == 'i': ++ lo_message_add_int32(self._message, int(value)) ++ elif t == 'h': ++- lo_message_add_int64(self._message, long(value)) +++ lo_message_add_int64(self._message, int(value)) ++ elif t == 'f': ++ lo_message_add_float(self._message, float(value)) ++ elif t == 'd': +diff --git a/pyliblo3/_liblo.pyx b/pyliblo3/_liblo.pyx +index 4fa70df..dcc4da9 100644 +--- a/pyliblo3/_liblo.pyx ++++ b/pyliblo3/_liblo.pyx +@@ -971,7 +971,7 @@ cdef class Message: + if t == 'i': + lo_message_add_int32(self._message, int(value)) + elif t == 'h': +- lo_message_add_int64(self._message, long(value)) ++ lo_message_add_int64(self._message, int(value)) + elif t == 'f': + lo_message_add_float(self._message, float(value)) + elif t == 'd': +@@ -1012,7 +1012,7 @@ cdef class Message: + lo_message_add_true(self._message) + elif value is False: + lo_message_add_false(self._message) +- elif isinstance(value, (int, long)): ++ elif isinstance(value, (int)): + try: + lo_message_add_int32(self._message, value) + except OverflowError: +@@ -1067,7 +1067,7 @@ cdef class Bundle: + + if len(messages) and not isinstance(messages[0], Message): + t = messages[0] +- if isinstance(t, (float, int, long)): ++ if isinstance(t, (float, int)): + tt = _double_to_timetag(t) + elif isinstance(t, tuple) and len(t) == 2: + tt.sec, tt.frac = t diff --git a/packages/py/python-pyliblo3/monitoring.yaml b/packages/py/python-pyliblo3/monitoring.yaml new file mode 100644 index 00000000000..db416e9bb60 --- /dev/null +++ b/packages/py/python-pyliblo3/monitoring.yaml @@ -0,0 +1,5 @@ +releases: + id: 64315 + rss: https://github.com/gesellkammer/pyliblo3/releases.atom +security: + cpe: ~ # Last checked 2025-06-17 diff --git a/packages/py/python-pyliblo3/package.yml b/packages/py/python-pyliblo3/package.yml new file mode 100644 index 00000000000..6cafaa93d35 --- /dev/null +++ b/packages/py/python-pyliblo3/package.yml @@ -0,0 +1,26 @@ +name : python-pyliblo3 +version : 0.16.3 +release : 1 +source : + - https://github.com/gesellkammer/pyliblo3/archive/refs/tags/v0.16.3.tar.gz : 625ddf1b435eb7c1f1a1f187e11cd74e14995e108ba5d32482ff709bf6ffb2a8 +homepage : https://github.com/gesellkammer/pyliblo3 +license : LGPL-2.1-or-later +component : programming.python +summary : Bindings for liblo +description: | + This is a fork of the original bindings for liblo, making it pip installable. The provided wheels include the liblo library and don't have any further dependencies, making it completely pip installable +builddeps : + - cython + - pkgconfig(liblo) + - python-build + - python-installer + - python-setuptools + - python-wheel +setup : | + %patch -p1 -i $pkgfiles/0001-Fix-compiltation-with-Cython-3.1.2.patch +build : | + %python3_setup +install : | + %python3_install +replaces : + - python-pyliblo diff --git a/packages/py/python-pyliblo3/pspec_x86_64.xml b/packages/py/python-pyliblo3/pspec_x86_64.xml new file mode 100644 index 00000000000..17ec067ca3a --- /dev/null +++ b/packages/py/python-pyliblo3/pspec_x86_64.xml @@ -0,0 +1,49 @@ + + + python-pyliblo3 + https://github.com/gesellkammer/pyliblo3 + + Muhammad Alfi Syahrin + malfisya.dev@hotmail.com + + LGPL-2.1-or-later + programming.python + Bindings for liblo + This is a fork of the original bindings for liblo, making it pip installable. The provided wheels include the liblo library and don't have any further dependencies, making it completely pip installable + + https://sources.getsol.us/README.Solus + + + python-pyliblo3 + Bindings for liblo + This is a fork of the original bindings for liblo, making it pip installable. The provided wheels include the liblo library and don't have any further dependencies, making it completely pip installable + + programming.python + + /usr/bin/dump_osc.py + /usr/bin/send_osc.py + /usr/lib/python3.12/site-packages/pyliblo3-0.16.3.dist-info/METADATA + /usr/lib/python3.12/site-packages/pyliblo3-0.16.3.dist-info/RECORD + /usr/lib/python3.12/site-packages/pyliblo3-0.16.3.dist-info/WHEEL + /usr/lib/python3.12/site-packages/pyliblo3-0.16.3.dist-info/licenses/COPYING + /usr/lib/python3.12/site-packages/pyliblo3-0.16.3.dist-info/top_level.txt + /usr/lib/python3.12/site-packages/pyliblo3/__init__.py + /usr/lib/python3.12/site-packages/pyliblo3/__pycache__/__init__.cpython-312.opt-1.pyc + /usr/lib/python3.12/site-packages/pyliblo3/__pycache__/__init__.cpython-312.pyc + /usr/lib/python3.12/site-packages/pyliblo3/_liblo.cpython-312-x86_64-linux-gnu.so + /usr/lib/python3.12/site-packages/pyliblo3/_liblo.pyi + + + python-pyliblo + + + + + 2025-06-17 + 0.16.3 + Packaging update + Muhammad Alfi Syahrin + malfisya.dev@hotmail.com + + + \ No newline at end of file diff --git a/repo_data/distribution.xml b/repo_data/distribution.xml index 87171653cbe..e60c6e8f69b 100644 --- a/repo_data/distribution.xml +++ b/repo_data/distribution.xml @@ -2880,5 +2880,7 @@ python-gtk2-dbginfo python-gtk2-devel python-gtk2-docs + python-pyliblo + python-pyliblo-dbginfo \ No newline at end of file diff --git a/repo_data/distribution.xml.in b/repo_data/distribution.xml.in index 7887e0c032f..ea953d56fd0 100644 --- a/repo_data/distribution.xml.in +++ b/repo_data/distribution.xml.in @@ -3903,5 +3903,9 @@ python-gtk2-devel python-gtk2-docs + + python-pyliblo + python-pyliblo-dbginfo +