git: 1920293bf5db - main - audio/py-pyliblo3: add

From: Charlie Li <vishwin_at_FreeBSD.org>
Date: Mon, 18 Aug 2025 16:27:08 UTC
The branch main has been updated by vishwin:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1920293bf5dbcb40f94bb981a148806d86478f28

commit 1920293bf5dbcb40f94bb981a148806d86478f28
Author:     Charlie Li <vishwin@FreeBSD.org>
AuthorDate: 2025-08-18 16:26:25 +0000
Commit:     Charlie Li <vishwin@FreeBSD.org>
CommitDate: 2025-08-18 16:26:25 +0000

    audio/py-pyliblo3: add
    
    Fork of expired audio/py-pyliblo compatible with newer Python
---
 audio/Makefile                         |  1 +
 audio/py-pyliblo3/Makefile             | 27 +++++++++++++++++++++++++++
 audio/py-pyliblo3/distinfo             |  5 +++++
 audio/py-pyliblo3/files/patch-setup.py | 16 ++++++++++++++++
 audio/py-pyliblo3/pkg-descr            |  5 +++++
 5 files changed, 54 insertions(+)

diff --git a/audio/Makefile b/audio/Makefile
index 3cba4fffc10f..5dfb986c8bba 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -652,6 +652,7 @@
     SUBDIR += py-pydub
     SUBDIR += py-pyjacklib
     SUBDIR += py-pylast
+    SUBDIR += py-pyliblo3
     SUBDIR += py-pymad
     SUBDIR += py-pyogg
     SUBDIR += py-pyradio
diff --git a/audio/py-pyliblo3/Makefile b/audio/py-pyliblo3/Makefile
new file mode 100644
index 000000000000..39f1e02f4a62
--- /dev/null
+++ b/audio/py-pyliblo3/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	pyliblo3
+DISTVERSION=	0.16.3
+CATEGORIES=	audio python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+PATCH_SITES=	https://github.com/gesellkammer/pyliblo3/commit/
+PATCHFILES=	6b53ac0f1768f5f2f017b7011030ef6461366639.patch:-p1
+
+MAINTAINER=	vishwin@FreeBSD.org
+COMMENT=	Python wrapper for the liblo OSC library
+WWW=		https://github.com/gesellkammer/pyliblo3
+
+LICENSE=	LGPL21
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=42:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+LIB_DEPENDS=	liblo.so:audio/liblo
+
+USES=		python
+USE_PYTHON=	autoplist concurrent cython3 pep517
+
+post-patch:
+	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${LOCALBASE}|g' ${WRKSRC}/setup.py
+
+.include <bsd.port.mk>
diff --git a/audio/py-pyliblo3/distinfo b/audio/py-pyliblo3/distinfo
new file mode 100644
index 000000000000..396d458dca9f
--- /dev/null
+++ b/audio/py-pyliblo3/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1752548078
+SHA256 (pyliblo3-0.16.3.tar.gz) = b5a43ec8857fefa4db9f007ace1c457479e2b8155ea13c614b2ec54d289ddca2
+SIZE (pyliblo3-0.16.3.tar.gz) = 25597
+SHA256 (6b53ac0f1768f5f2f017b7011030ef6461366639.patch) = e055299a3bde6f2e97173295fca63fc48527dab91001878b82b956f72b1139d6
+SIZE (6b53ac0f1768f5f2f017b7011030ef6461366639.patch) = 1570
diff --git a/audio/py-pyliblo3/files/patch-setup.py b/audio/py-pyliblo3/files/patch-setup.py
new file mode 100644
index 000000000000..44d6ba423c47
--- /dev/null
+++ b/audio/py-pyliblo3/files/patch-setup.py
@@ -0,0 +1,16 @@
+--- setup.py.orig	2025-01-25 08:39:20 UTC
++++ setup.py
+@@ -45,10 +45,10 @@ if platformname == 'darwin':
+         '-Werror-implicit-function-declaration',
+         '-Wfatal-errors'
+     ]
+-elif platformname == 'linux':
++elif platformname == 'linux' or platformname == 'freebsd':
+     libraries.append('lo')
+-    include_dirs.extend(['/usr/include', '/usr/local/include'])
+-    library_dirs.append("/usr/local/lib")
++    include_dirs.extend(['/usr/include', '%%PREFIX%%/include'])
++    library_dirs.append("%%PREFIX%%/lib")
+     compile_args += [
+         '-fno-strict-aliasing',
+         '-Werror-implicit-function-declaration',
diff --git a/audio/py-pyliblo3/pkg-descr b/audio/py-pyliblo3/pkg-descr
new file mode 100644
index 000000000000..115341b09268
--- /dev/null
+++ b/audio/py-pyliblo3/pkg-descr
@@ -0,0 +1,5 @@
+pyliblo is a Python wrapper for the liblo OSC library. It supports
+almost the complete functionality of liblo, allowing you 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.