diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/wavefile')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/wavefile/default.nix | 64 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/wavefile/libsndfile.py.patch | 18 |
2 files changed, 82 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/wavefile/default.nix b/nixpkgs/pkgs/development/python-modules/wavefile/default.nix new file mode 100644 index 000000000000..3090ee815440 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/wavefile/default.nix @@ -0,0 +1,64 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchFromGitHub +, setuptools +, pyaudio +, numpy +, libsndfile +, substituteAll +}: + +buildPythonPackage rec { + pname = "wavefile"; + version = "1.5"; + + src = fetchFromGitHub { + owner = "vokimon"; + repo = "python-wavefile"; + rev = "python-wavefile-${version}"; + sha256 = "9sHj1gb93mCVpejRGSdLJzeFDCeTflZctE7kMWfqFrE="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + buildInputs = [ + pyaudio + libsndfile + ]; + + propagatedBuildInputs = [ + numpy + ]; + + checkInputs = [ + pyaudio + numpy + libsndfile + ]; + + patches = [ + # Fix check error + # OSError: libsndfile.so.1: cannot open shared object file: No such file or directory + (substituteAll { + src = ./libsndfile.py.patch; + libsndfile = "${lib.getLib libsndfile}/lib/libsndfile${stdenv.hostPlatform.extensions.sharedLibrary}"; + }) + ]; + + doCheck = false; # all test files (test/wavefileTest.py) are failing + + pythonImportsCheck = [ + "wavefile" + ]; + + meta = with lib; { + description = "Pythonic libsndfile wrapper to read and write audio files"; + homepage = "https://github.com/vokimon/python-wavefile"; + changelog = "https://github.com/vokimon/python-wavefile#version-history"; + maintainers = with maintainers; [ yuu ]; + license = licenses.gpl3Plus; + }; +} diff --git a/nixpkgs/pkgs/development/python-modules/wavefile/libsndfile.py.patch b/nixpkgs/pkgs/development/python-modules/wavefile/libsndfile.py.patch new file mode 100644 index 000000000000..6e10e6b6c03c --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/wavefile/libsndfile.py.patch @@ -0,0 +1,18 @@ +diff --git a/wavefile/libsndfile.py b/wavefile/libsndfile.py +index 67f0a46..ce066ee 100644 +--- a/wavefile/libsndfile.py ++++ b/wavefile/libsndfile.py +@@ -19,11 +19,11 @@ import numpy as np + if sys.platform == "win32": + dllName = 'libsndfile-1' + elif "linux" in sys.platform: +- dllName = 'libsndfile.so.1' ++ dllName = '@libsndfile@' + elif "cygwin" in sys.platform: + dllName = 'libsndfile-1.dll' + elif "darwin" in sys.platform: +- dllName = 'libsndfile.dylib' ++ dllName = '@libsndfile@' + else: + dllName = 'libsndfile' + |