python3Packages.opuslib: init at 3.0.3

This commit is contained in:
Jan Beinke 2020-03-23 17:58:00 +01:00 committed by Jon
parent 02acf84561
commit ca3e516e38
3 changed files with 67 additions and 0 deletions

@ -0,0 +1,39 @@
{ buildPythonPackage,
fetchFromGitHub,
isPy27,
libopus,
nose,
stdenv,
substituteAll,
}:
buildPythonPackage rec {
pname = "opuslib";
version = "3.0.3";
disabled = isPy27;
src = fetchFromGitHub {
owner = "orion-labs";
repo = "opuslib";
rev = "92109c528f9f6c550df5e5325ca0fcd4f86b0909";
sha256 = "0kd37wimwd1g6c0w5hq2hiiljgbi1zg3rk5prval086khkzq469p";
};
patches = [
(substituteAll {
src = ./opuslib-paths.patch;
opusLibPath = "${libopus}/lib/libopus${stdenv.hostPlatform.extensions.sharedLibrary}";
})
];
checkInputs = [ nose ];
meta = with stdenv.lib; {
description = "Python bindings to the libopus, IETF low-delay audio codec";
homepage = "https://github.com/orion-labs/opuslib";
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [ thelegy ];
};
}

@ -0,0 +1,26 @@
diff --git a/opuslib/api/__init__.py b/opuslib/api/__init__.py
index 323a2a4..4c8a8fe 100644
--- a/opuslib/api/__init__.py
+++ b/opuslib/api/__init__.py
@@ -7,20 +7,12 @@
import ctypes # type: ignore
-from ctypes.util import find_library # type: ignore
-
__author__ = 'Никита Кузнецов <self@svartalf.info>'
__copyright__ = 'Copyright (c) 2012, SvartalF'
__license__ = 'BSD 3-Clause License'
-lib_location = find_library('opus')
-
-if lib_location is None:
- raise Exception(
- 'Could not find Opus library. Make sure it is installed.')
-
-libopus = ctypes.CDLL(lib_location)
+libopus = ctypes.CDLL('@opusLibPath@')
c_int_pointer = ctypes.POINTER(ctypes.c_int)
c_int16_pointer = ctypes.POINTER(ctypes.c_int16)

@ -4629,6 +4629,8 @@ in {
omegaconf = callPackage ../development/python-modules/omegaconf { };
opuslib = callPackage ../development/python-modules/opuslib { };
orderedset = callPackage ../development/python-modules/orderedset { };
python-multipart = callPackage ../development/python-modules/python-multipart { };