Index | Thread | Search

From:
Daniel Dickman <didickman@gmail.com>
Subject:
[update] audio/py-speechrecognition 3.8.1 -> 3.14.3
To:
Kevin Lo <kevlo@openbsd.org>
Cc:
ports@openbsd.org
Date:
Fri, 20 Jun 2025 21:22:07 -0400

Download raw body.

Thread
  • Daniel Dickman:

    [update] audio/py-speechrecognition 3.8.1 -> 3.14.3

This update:
- adds official support for Python 3.12
- removes legacy Python 2 support
- Gets us closer to being ready for Python 3.13

I added a note that this port uses deprecated packages that were removed 
in Python 3.13.

The regress tests mostly work, but would need a few new ports to fix more 
tests:

======== 9 failed, 24 passed, 8 skipped, 2 warnings, 4 errors in 5.54s =========

ok?

Index: Makefile
===================================================================
RCS file: /cvs/ports/audio/py-speechrecognition/Makefile,v
diff -u -p -u -r1.9 Makefile
--- Makefile	29 Apr 2025 10:36:26 -0000	1.9
+++ Makefile	21 Jun 2025 01:20:53 -0000
@@ -1,11 +1,10 @@
 COMMENT =	Python library for performing speech recognition
 
-PKGNAME =	py-speechrecognition-${GH_TAGNAME}
-REVISION =	5
-
+MODPY_DISTV =	3.14.3
 GH_ACCOUNT =	Uberi
 GH_PROJECT =	speech_recognition
-GH_TAGNAME =	3.8.1
+GH_TAGNAME =	${MODPY_DISTV}
+PKGNAME =	py-speechrecognition-${MODPY_DISTV}
 
 CATEGORIES =	audio
 
@@ -19,8 +18,16 @@ PERMIT_PACKAGE=	Yes
 MODULES =	lang/python
 
 MODPY_PYBUILD =	setuptools
+MODPY_PYTEST_ARGS=	--ignore tests/recognizers/test_google_cloud.py
 
+# XXX: Python 3.13 will require RDEPs on standard-aifc
+# and audioop-lts due to use of aifc
 RUN_DEPENDS =	audio/flac \
-		audio/py-audio>=0.2.11
+		audio/py-audio>=0.2.11 \
+		devel/py-typing-extensions
+
+# XXX: needs a few more TDEPs
+TEST_DEPENDS =	www/py-httpx \
+		www/py-respx
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/audio/py-speechrecognition/distinfo,v
diff -u -p -u -r1.1.1.1 distinfo
--- distinfo	14 Aug 2021 01:17:01 -0000	1.1.1.1
+++ distinfo	21 Jun 2025 01:20:53 -0000
@@ -1,2 +1,2 @@
-SHA256 (speech_recognition-3.8.1.tar.gz) = gtMxPbODQJ3a8+QmJfsMNRgjGh/rXi7VRzsQs9Xs570=
-SIZE (speech_recognition-3.8.1.tar.gz) = 125426650
+SHA256 (speech_recognition-3.14.3.tar.gz) = XxZwbumADcoK6TR0KZGGtGU4Q79Ff8Uept0UvUbjBTc=
+SIZE (speech_recognition-3.14.3.tar.gz) = 37029240
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/audio/py-speechrecognition/pkg/PLIST,v
diff -u -p -u -r1.5 PLIST
--- pkg/PLIST	29 Apr 2025 10:36:26 -0000	1.5
+++ pkg/PLIST	21 Jun 2025 01:20:53 -0000
@@ -7,6 +7,12 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/speech_recognition/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
 lib/python${MODPY_VERSION}/site-packages/speech_recognition/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
 lib/python${MODPY_VERSION}/site-packages/speech_recognition/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/${MODPY_PYCACHE}audio.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/${MODPY_PYCACHE}audio.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/audio.py
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/exceptions.py
 lib/python${MODPY_VERSION}/site-packages/speech_recognition/flac-linux-x86
 lib/python${MODPY_VERSION}/site-packages/speech_recognition/flac-linux-x86_64
 lib/python${MODPY_VERSION}/site-packages/speech_recognition/flac-mac
@@ -25,11 +31,67 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/speech_recognition/pocketsphinx-data/en-US/acoustic-model/variances
 lib/python${MODPY_VERSION}/site-packages/speech_recognition/pocketsphinx-data/en-US/language-model.lm.bin
 lib/python${MODPY_VERSION}/site-packages/speech_recognition/pocketsphinx-data/en-US/pronounciation-dictionary.dict
-lib/python${MODPY_VERSION}/site-packages/speechrecognition-3.8.1.dist-info/
-lib/python${MODPY_VERSION}/site-packages/speechrecognition-3.8.1.dist-info/METADATA
-lib/python${MODPY_VERSION}/site-packages/speechrecognition-3.8.1.dist-info/RECORD
-lib/python${MODPY_VERSION}/site-packages/speechrecognition-3.8.1.dist-info/WHEEL
-lib/python${MODPY_VERSION}/site-packages/speechrecognition-3.8.1.dist-info/licenses/
-lib/python${MODPY_VERSION}/site-packages/speechrecognition-3.8.1.dist-info/licenses/LICENSE-FLAC.txt
-lib/python${MODPY_VERSION}/site-packages/speechrecognition-3.8.1.dist-info/licenses/LICENSE.txt
-lib/python${MODPY_VERSION}/site-packages/speechrecognition-3.8.1.dist-info/top_level.txt
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/__init__.py
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/${MODPY_PYCACHE}google.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/${MODPY_PYCACHE}google.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/${MODPY_PYCACHE}google_cloud.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/${MODPY_PYCACHE}google_cloud.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/${MODPY_PYCACHE}pocketsphinx.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/${MODPY_PYCACHE}pocketsphinx.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/google.py
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/google_cloud.py
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/pocketsphinx.py
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/__init__.py
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/${MODPY_PYCACHE}groq.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/${MODPY_PYCACHE}groq.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/${MODPY_PYCACHE}openai.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/${MODPY_PYCACHE}openai.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/base.py
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/groq.py
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_api/openai.py
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/__init__.py
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/${MODPY_PYCACHE}faster_whisper.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/${MODPY_PYCACHE}faster_whisper.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/${MODPY_PYCACHE}whisper.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/${MODPY_PYCACHE}whisper.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/base.py
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/faster_whisper.py
+lib/python${MODPY_VERSION}/site-packages/speech_recognition/recognizers/whisper_local/whisper.py
+lib/python${MODPY_VERSION}/site-packages/speechrecognition-${MODPY_DISTV}.dist-info/
+lib/python${MODPY_VERSION}/site-packages/speechrecognition-${MODPY_DISTV}.dist-info/METADATA
+lib/python${MODPY_VERSION}/site-packages/speechrecognition-${MODPY_DISTV}.dist-info/RECORD
+lib/python${MODPY_VERSION}/site-packages/speechrecognition-${MODPY_DISTV}.dist-info/WHEEL
+lib/python${MODPY_VERSION}/site-packages/speechrecognition-${MODPY_DISTV}.dist-info/licenses/
+lib/python${MODPY_VERSION}/site-packages/speechrecognition-${MODPY_DISTV}.dist-info/licenses/LICENSE-FLAC.txt
+lib/python${MODPY_VERSION}/site-packages/speechrecognition-${MODPY_DISTV}.dist-info/licenses/LICENSE.txt
+lib/python${MODPY_VERSION}/site-packages/speechrecognition-${MODPY_DISTV}.dist-info/top_level.txt
+lib/python${MODPY_VERSION}/site-packages/tests/
+lib/python${MODPY_VERSION}/site-packages/tests/__init__.py
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/tests/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/tests/${MODPY_PYCACHE}test_audio.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/tests/${MODPY_PYCACHE}test_audio.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/tests/${MODPY_PYCACHE}test_recognition.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/tests/${MODPY_PYCACHE}test_recognition.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/tests/${MODPY_PYCACHE}test_special_features.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/tests/${MODPY_PYCACHE}test_special_features.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/tests/test_audio.py
+lib/python${MODPY_VERSION}/site-packages/tests/test_recognition.py
+lib/python${MODPY_VERSION}/site-packages/tests/test_special_features.py