From ca3e516e3815e3833eea198c3a949562a20e6593 Mon Sep 17 00:00:00 2001 From: Jan Beinke Date: Mon, 23 Mar 2020 17:58:00 +0100 Subject: [PATCH] python3Packages.opuslib: init at 3.0.3 --- .../python-modules/opuslib/default.nix | 39 +++++++++++++++++++ .../opuslib/opuslib-paths.patch | 26 +++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 67 insertions(+) create mode 100644 pkgs/development/python-modules/opuslib/default.nix create mode 100644 pkgs/development/python-modules/opuslib/opuslib-paths.patch diff --git a/pkgs/development/python-modules/opuslib/default.nix b/pkgs/development/python-modules/opuslib/default.nix new file mode 100644 index 000000000000..aa7fc4add493 --- /dev/null +++ b/pkgs/development/python-modules/opuslib/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/opuslib/opuslib-paths.patch b/pkgs/development/python-modules/opuslib/opuslib-paths.patch new file mode 100644 index 000000000000..fd2cfc8dbde2 --- /dev/null +++ b/pkgs/development/python-modules/opuslib/opuslib-paths.patch @@ -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__ = 'Никита Кузнецов ' + __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) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 49de95139f57..3e1c9a383a86 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -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 { };