diff --git a/pkgs/development/python-modules/torchlibrosa/default.nix b/pkgs/development/python-modules/torchlibrosa/default.nix new file mode 100644 index 000000000000..bab73b0dae93 --- /dev/null +++ b/pkgs/development/python-modules/torchlibrosa/default.nix @@ -0,0 +1,50 @@ +{ stdenv +, lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, librosa +, numpy +, torch +}: + +buildPythonPackage rec { + pname = "torchlibrosa"; + version = "0.0.9"; + format = "setuptools"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-+LzejKvLlJIIwWm9rYPCWQDSueIwnG5gbkwNE+wbv0A="; + }; + + propagatedBuildInputs = [ + librosa + numpy + torch + ]; + + patches = [ + # Fix run against librosa 0.9.0, https://github.com/qiuqiangkong/torchlibrosa/pull/8 + (fetchpatch { + url = "https://github.com/qiuqiangkong/torchlibrosa/commit/eec7e7559a47d0ef0017322aee29a31dad0572d5.patch"; + hash = "sha256-c1x3MA14Plm7+lVuqiuLWgSY6FW615qnKbcWAfbrcas="; + }) + ]; + + # Project has no tests. + # In order to make pythonImportsCheck work, NUMBA_CACHE_DIR env var need to + # be set to a writable dir (https://github.com/numba/numba/issues/4032#issuecomment-488102702). + # pythonImportsCheck has no pre* hook, use checkPhase to workaround that. + checkPhase = '' + export NUMBA_CACHE_DIR="$(mktemp -d)" + ''; + pythonImportsCheck = [ "torchlibrosa" ]; + + meta = with lib; { + description = "PyTorch implemention of part of librosa functions"; + homepage = "https://github.com/qiuqiangkong/torchlibrosa"; + license = licenses.mit; + maintainers = with maintainers; [ azuwis ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b6aaa8a203bd..1b3aab316282 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11349,6 +11349,8 @@ self: super: with self; { torchinfo = callPackage ../development/python-modules/torchinfo { }; + torchlibrosa = callPackage ../development/python-modules/torchlibrosa { }; + torchvision = callPackage ../development/python-modules/torchvision { }; torchvision-bin = callPackage ../development/python-modules/torchvision/bin.nix { };