diff --git a/pkgs/development/python-modules/audiotools/default.nix b/pkgs/development/python-modules/audiotools/default.nix index b714062be313..ea89adb37e19 100644 --- a/pkgs/development/python-modules/audiotools/default.nix +++ b/pkgs/development/python-modules/audiotools/default.nix @@ -7,26 +7,61 @@ AudioToolbox, AudioUnit, CoreServices, + pkg-config, + libmpg123, + lame, + twolame, + libopus, + opusfile, + libvorbis, + libcdio, + libcdio-paranoia, }: -buildPythonPackage rec { +buildPythonPackage { pname = "audiotools"; - version = "3.1.1"; + version = "3.1.1-unstable-2020-07-29"; pyproject = true; - build-system = [ setuptools ]; - - buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ - AudioToolbox - AudioUnit - CoreServices + build-system = [ + setuptools ]; + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = + [ + libmpg123 # MP2/MP3 decoding + lame # MP3 encoding + twolame # MP2 encoding + opusfile # opus decoding + libopus # opus encoding + libvorbis # ogg encoding/decoding + libcdio # CD reading + libcdio-paranoia # CD reading + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + AudioToolbox + AudioUnit + CoreServices + ]; + + preConfigure = '' + # need to change probe to yes because mp3lame is not reported in pkg-config + substituteInPlace setup.cfg \ + --replace-fail "mp3lame: probe" "mp3lame: yes" + ''; + + # the python code contains #variant formats, PY_SSIZE_T_CLEAN must be defined + # before including Python.h for 3.10 or newer + # the last released version does not contain the required fix for python 3.10 src = fetchFromGitHub { owner = "tuffy"; repo = "python-audio-tools"; - rev = "v${version}"; - hash = "sha256-y+EiK9BktyTWowOiJvOb2YjtbPa7R62Wb5zinkyt1OM="; + rev = "de55488dc982e3f6375cde2d0c2ea6aad1b1c31c"; + hash = "sha256-iRakeV4Sg4oU0JtiA0O3jnmLJt99d89Hg6v9onUaSnw="; }; meta = with lib; {