From 653d787cc3c9f0fbd48b381df46a4ed41f215ffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Fri, 22 May 2026 01:08:15 +0200 Subject: [PATCH] python314Packages.sounddevice: 0.5.3 -> 0.5.5 --- .../python-modules/sounddevice/default.nix | 13 ++++++--- .../fix-portaudio-library-path.patch | 28 +++++++++++-------- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/pkgs/development/python-modules/sounddevice/default.nix b/pkgs/development/python-modules/sounddevice/default.nix index 3f3fdb55ad07..3ac147f224e8 100644 --- a/pkgs/development/python-modules/sounddevice/default.nix +++ b/pkgs/development/python-modules/sounddevice/default.nix @@ -4,6 +4,7 @@ buildPythonPackage, fetchPypi, setuptools, + setuptools-scm, cffi, numpy, portaudio, @@ -12,15 +13,18 @@ buildPythonPackage rec { pname = "sounddevice"; - version = "0.5.3"; + version = "0.5.5"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-y6wrYBmPurhFM2l+fEkEzIlexp1fs5c1VsnrdKRimyw="; + hash = "sha256-Ikh7ZRmMtb8iCHVRBbUk94rRc+Wra0Rb2rHJifZpjfM="; }; - build-system = [ setuptools ]; + build-system = [ + setuptools + setuptools-scm + ]; dependencies = [ cffi @@ -43,7 +47,8 @@ buildPythonPackage rec { meta = { description = "Play and Record Sound with Python"; - homepage = "http://python-sounddevice.rtfd.org/"; + homepage = "https://python-sounddevice.readthedocs.io/"; + changelog = "https://github.com/spatialaudio/python-sounddevice/releases/tag/${version}"; license = with lib.licenses; [ mit ]; }; } diff --git a/pkgs/development/python-modules/sounddevice/fix-portaudio-library-path.patch b/pkgs/development/python-modules/sounddevice/fix-portaudio-library-path.patch index 6ec399e25d5f..89f19cdfe528 100644 --- a/pkgs/development/python-modules/sounddevice/fix-portaudio-library-path.patch +++ b/pkgs/development/python-modules/sounddevice/fix-portaudio-library-path.patch @@ -1,8 +1,8 @@ -diff --git a/sounddevice.py b/sounddevice.py -index 0974289..2d56c28 100644 ---- a/sounddevice.py -+++ b/sounddevice.py -@@ -58,32 +58,7 @@ from ctypes.util import find_library as _find_library +diff --git a/src/sounddevice.py b/src/sounddevice.py +index 00fc6f8..72abede 100644 +--- a/src/sounddevice.py ++++ b/src/sounddevice.py +@@ -59,36 +59,7 @@ from _sounddevice import ffi as _ffi @@ -17,22 +17,26 @@ index 0974289..2d56c28 100644 - break - else: - raise OSError('PortAudio library not found') -- _lib = _ffi.dlopen(_libname) +- _lib: ... = _ffi.dlopen(_libname) -except OSError: - if _platform.system() == 'Darwin': - _libname = 'libportaudio.dylib' - elif _platform.system() == 'Windows': -- if 'SD_ENABLE_ASIO' in _os.environ: -- _libname = 'libportaudio' + _platform.architecture()[0] + '-asio.dll' +- if _platform.machine().lower() in ('arm64', 'aarch64'): +- _platform_suffix = 'arm64' - else: -- _libname = 'libportaudio' + _platform.architecture()[0] + '.dll' +- _platform_suffix = _platform.architecture()[0] +- if 'SD_ENABLE_ASIO' in _os.environ: +- _libname = 'libportaudio' + _platform_suffix + '-asio.dll' +- else: +- _libname = 'libportaudio' + _platform_suffix + '.dll' - else: - raise - import _sounddevice_data - _libname = _os.path.join( - next(iter(_sounddevice_data.__path__)), 'portaudio-binaries', _libname) -- _lib = _ffi.dlopen(_libname) -+_lib = _ffi.dlopen('@portaudio@') +- _lib: ... = _ffi.dlopen(_libname) ++_lib: ... = _ffi.dlopen('@portaudio@') - _sampleformats = { + _sampleformats: ... = { 'float32': _lib.paFloat32,