diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix index b63680a8f488..a295788c117b 100644 --- a/pkgs/applications/audio/whipper/default.nix +++ b/pkgs/applications/audio/whipper/default.nix @@ -1,7 +1,17 @@ -{ lib, fetchFromGitHub, python3, cdparanoia, cdrdao, flac -, sox, accuraterip-checksum, libsndfile, util-linux, substituteAll }: +{ lib +, python3 +, fetchFromGitHub +, libcdio-paranoia +, cdrdao +, libsndfile +, flac +, sox +, util-linux +}: -python3.pkgs.buildPythonApplication rec { +let + bins = [ libcdio-paranoia cdrdao flac sox util-linux ]; +in python3.pkgs.buildPythonApplication rec { pname = "whipper"; version = "0.10.0"; @@ -12,44 +22,43 @@ python3.pkgs.buildPythonApplication rec { sha256 = "00cq03cy5dyghmibsdsq5sdqv3bzkzhshsng74bpnb5lasxp3ia5"; }; - pythonPath = with python3.pkgs; [ + nativeBuildInputs = with python3.pkgs; [ + setuptools_scm + docutils + ]; + + propagatedBuildInputs = with python3.pkgs; [ musicbrainzngs mutagen pycdio pygobject3 - requests ruamel_yaml - setuptools - setuptools_scm + discid + pillow ]; buildInputs = [ libsndfile ]; checkInputs = with python3.pkgs; [ twisted - ]; - - patches = [ - (substituteAll { - src = ./paths.patch; - inherit cdparanoia; - }) - ]; + ] ++ bins; makeWrapperArgs = [ - "--prefix" "PATH" ":" (lib.makeBinPath [ accuraterip-checksum cdrdao util-linux flac sox ]) + "--prefix" "PATH" ":" (lib.makeBinPath bins) ]; preBuild = '' export SETUPTOOLS_SCM_PRETEND_VERSION="${version}" ''; - # some tests require internet access - # https://github.com/JoeLametta/whipper/issues/291 - doCheck = false; - - preCheck = '' - HOME=$TMPDIR + checkPhase = '' + runHook preCheck + # disable tests that require internet access + # https://github.com/JoeLametta/whipper/issues/291 + substituteInPlace whipper/test/test_common_accurip.py \ + --replace "test_AccurateRipResponse" "dont_test_AccurateRipResponse" + HOME=$TMPDIR ${python3.interpreter} -m unittest discover + runHook postCheck ''; meta = with lib; { diff --git a/pkgs/applications/audio/whipper/paths.patch b/pkgs/applications/audio/whipper/paths.patch deleted file mode 100644 index 14b5384330da..000000000000 --- a/pkgs/applications/audio/whipper/paths.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- a/whipper/program/cdparanoia.py -+++ b/whipper/program/cdparanoia.py -@@ -280,10 +280,10 @@ - - bufsize = 1024 - if self._overread: -- argv = ["cd-paranoia", "--stderr-progress", -+ argv = ["@cdparanoia@/bin/cdparanoia", "--stderr-progress", - "--sample-offset=%d" % self._offset, "--force-overread", ] - else: -- argv = ["cd-paranoia", "--stderr-progress", -+ argv = ["@cdparanoia@/bin/cdparanoia", "--stderr-progress", - "--sample-offset=%d" % self._offset, ] - if self._device: - argv.extend(["--force-cdrom-device", self._device, ]) -@@ -560,7 +560,7 @@ - - def getCdParanoiaVersion(): - getter = common.VersionGetter('cd-paranoia', -- ["cd-paranoia", "-V"], -+ ["@cdparanoia@/bin/cdparanoia", "-V"], - _VERSION_RE, - "%(version)s %(release)s") - -@@ -585,7 +585,7 @@ - def __init__(self, device=None): - # cdparanoia -A *always* writes cdparanoia.log - self.cwd = tempfile.mkdtemp(suffix='.whipper.cache') -- self.command = ['cd-paranoia', '-A'] -+ self.command = ['@cdparanoia@/bin/cdparanoia', '-A'] - if device: - self.command += ['-d', device]