git: 70e129b0b045 - main - audio/py-soxr: New port: High quality, one-dimensional sample-rate conversion library

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Tue, 21 Feb 2023 09:05:36 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=70e129b0b04522259bdca2db9fb8b52eb925bf34

commit 70e129b0b04522259bdca2db9fb8b52eb925bf34
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-02-21 07:44:47 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-02-21 09:05:29 +0000

    audio/py-soxr: New port: High quality, one-dimensional sample-rate conversion library
---
 audio/Makefile                           |  1 +
 audio/py-soxr/Makefile                   | 27 +++++++++++++++++++++++++++
 audio/py-soxr/distinfo                   |  3 +++
 audio/py-soxr/files/patch-pyproject.toml | 14 ++++++++++++++
 audio/py-soxr/pkg-descr                  |  2 ++
 5 files changed, 47 insertions(+)

diff --git a/audio/Makefile b/audio/Makefile
index 6f9264cb8f3c..bf084b786fae 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -676,6 +676,7 @@
     SUBDIR += py-soundcloud
     SUBDIR += py-sounddevice
     SUBDIR += py-soundscrape
+    SUBDIR += py-soxr
     SUBDIR += py-speechrecognition
     SUBDIR += py-spotipy
     SUBDIR += py-tagpy
diff --git a/audio/py-soxr/Makefile b/audio/py-soxr/Makefile
new file mode 100644
index 000000000000..04034876975a
--- /dev/null
+++ b/audio/py-soxr/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	soxr
+DISTVERSION=	0.3.3
+CATEGORIES=	audio python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	High quality, one-dimensional sample-rate conversion library
+WWW=		https://github.com/dofuuz/python-soxr
+
+LICENSE=	LGPL21 BSD3CLAUSE
+LICENSE_COMB=	multi
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools_scm>0:devel/py-setuptools_scm@${PY_FLAVOR} \
+		${PYNUMPY} \
+		${PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYNUMPY}
+
+USES=		python:3.6+
+USE_PYTHON=	pep517 cython autoplist pytest
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/soxr/cysoxr${PYTHON_EXT_SUFFIX}.so
+
+.include <bsd.port.mk>
diff --git a/audio/py-soxr/distinfo b/audio/py-soxr/distinfo
new file mode 100644
index 000000000000..6b4791c20f7e
--- /dev/null
+++ b/audio/py-soxr/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1676964190
+SHA256 (soxr-0.3.3.tar.gz) = af874e9f14c4c261c22ce55972a1231c085a538c2d8fec78580b331370fdb551
+SIZE (soxr-0.3.3.tar.gz) = 288742
diff --git a/audio/py-soxr/files/patch-pyproject.toml b/audio/py-soxr/files/patch-pyproject.toml
new file mode 100644
index 000000000000..bd645ff1d73d
--- /dev/null
+++ b/audio/py-soxr/files/patch-pyproject.toml
@@ -0,0 +1,14 @@
+--- pyproject.toml.orig	2023-02-21 07:33:21 UTC
++++ pyproject.toml
+@@ -2,9 +2,9 @@
+ requires = [
+     "setuptools>=42",
+     "wheel",
+-    "Cython>=3.0a7",
++    "Cython",
+     "setuptools_scm[toml]>=3.4",
+-    "oldest-supported-numpy"
++    "numpy"
+ ]
+ build-backend = "setuptools.build_meta"
+ 
diff --git a/audio/py-soxr/pkg-descr b/audio/py-soxr/pkg-descr
new file mode 100644
index 000000000000..24b815ebf1e3
--- /dev/null
+++ b/audio/py-soxr/pkg-descr
@@ -0,0 +1,2 @@
+soxr is a high quality, one-dimensional sample-rate conversion library
+for Python.