checkInputs used to be added to nativeBuildInputs. Now we have nativeCheckInputs to do that instead. Doing this treewide change allows to keep hashes identical to before the introduction of nativeCheckInputs.
101 lines
2.1 KiB
Nix
101 lines
2.1 KiB
Nix
{ lib
|
|
, python3
|
|
, fetchFromGitHub
|
|
, fetchpatch
|
|
, installShellFiles
|
|
, libcdio-paranoia
|
|
, cdrdao
|
|
, libsndfile
|
|
, flac
|
|
, sox
|
|
, util-linux
|
|
, testers
|
|
, whipper
|
|
}:
|
|
|
|
let
|
|
bins = [ libcdio-paranoia cdrdao flac sox util-linux ];
|
|
in python3.pkgs.buildPythonApplication rec {
|
|
pname = "whipper";
|
|
version = "0.10.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "whipper-team";
|
|
repo = "whipper";
|
|
rev = "v${version}";
|
|
sha256 = "00cq03cy5dyghmibsdsq5sdqv3bzkzhshsng74bpnb5lasxp3ia5";
|
|
};
|
|
|
|
patches = [
|
|
(fetchpatch {
|
|
# Use custom YAML subclass to be compatible with ruamel_yaml>=0.17
|
|
# https://github.com/whipper-team/whipper/pull/543
|
|
url = "https://github.com/whipper-team/whipper/commit/3ce5964dfe8be1e625c3e3b091360dd0bc34a384.patch";
|
|
sha256 = "0n9dmib884y8syvypsg88j0h71iy42n1qsrh0am8pwna63sl15ah";
|
|
})
|
|
];
|
|
|
|
nativeBuildInputs = with python3.pkgs; [
|
|
installShellFiles
|
|
|
|
setuptools-scm
|
|
docutils
|
|
setuptoolsCheckHook
|
|
];
|
|
|
|
propagatedBuildInputs = with python3.pkgs; [
|
|
musicbrainzngs
|
|
mutagen
|
|
pycdio
|
|
pygobject3
|
|
ruamel-yaml
|
|
discid
|
|
pillow
|
|
setuptools
|
|
];
|
|
|
|
buildInputs = [ libsndfile ];
|
|
|
|
nativeCheckInputs = with python3.pkgs; [
|
|
twisted
|
|
] ++ bins;
|
|
|
|
makeWrapperArgs = [
|
|
"--prefix" "PATH" ":" (lib.makeBinPath bins)
|
|
];
|
|
|
|
preBuild = ''
|
|
export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
|
|
'';
|
|
|
|
outputs = [ "out" "man" ];
|
|
postBuild = ''
|
|
make -C man
|
|
'';
|
|
|
|
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"
|
|
export HOME=$TMPDIR
|
|
'';
|
|
|
|
postInstall = ''
|
|
installManPage man/*.1
|
|
'';
|
|
|
|
passthru.tests.version = testers.testVersion {
|
|
package = whipper;
|
|
command = "HOME=$TMPDIR whipper --version";
|
|
};
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/whipper-team/whipper";
|
|
description = "A CD ripper aiming for accuracy over speed";
|
|
maintainers = with maintainers; [ emily ];
|
|
license = licenses.gpl3Plus;
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|