41 lines
1.3 KiB
Nix
41 lines
1.3 KiB
Nix
{ lib, fetchFromGitHub, python3Packages, essentia-extractor }:
|
|
|
|
python3Packages.buildPythonApplication rec {
|
|
pname = "acousticbrainz-client";
|
|
version = "0.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "MTG";
|
|
repo = "acousticbrainz-client";
|
|
rev = version;
|
|
sha256 = "1g1nxh58939vysfxplrgdz366dlqnic05pkzbqh75m79brg4yrv1";
|
|
};
|
|
|
|
propagatedBuildInputs = [ essentia-extractor python3Packages.requests ];
|
|
|
|
postPatch = ''
|
|
# The installer needs the streaming_extractor_music binary in the source directoy,
|
|
# so we provide a symlink to it.
|
|
ln -s ${essentia-extractor}/bin/streaming_extractor_music streaming_extractor_music
|
|
'';
|
|
|
|
postInstall = ''
|
|
# The installer includes a copy of the streaming_extractor_music binary (not a symlink),
|
|
# which we don't need, because the wrapper adds essentia-extractor/binary to PATH.
|
|
rm $out/bin/streaming_extractor_music
|
|
'';
|
|
|
|
# Tests seem to be broken, but the tool works
|
|
doCheck = false;
|
|
|
|
pythonImportsCheck = [ "abz" ];
|
|
|
|
meta = with lib; {
|
|
description = "A client to upload data to an AcousticBrainz server";
|
|
license = licenses.gpl3Plus;
|
|
homepage = "https://github.com/MTG/acousticbrainz-client";
|
|
# essentia-extractor is only available for those platforms
|
|
platforms = [ "x86_64-linux" "i686-linux" ];
|
|
maintainers = with maintainers; [ ];
|
|
};
|
|
}
|