diff options
Diffstat (limited to 'pkgs/tools/audio/beets/default.nix')
-rw-r--r-- | pkgs/tools/audio/beets/default.nix | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix index 241e552b05c3..b4dfa71ca965 100644 --- a/pkgs/tools/audio/beets/default.nix +++ b/pkgs/tools/audio/beets/default.nix @@ -6,6 +6,7 @@ # Attributes needed for tests of the external plugins , callPackage, beets +, enableAbsubmit ? stdenv.lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor ? null , enableAcousticbrainz ? true , enableAcoustid ? true , enableBadfiles ? true, flac ? null, mp3val ? null @@ -28,13 +29,16 @@ # External plugins , enableAlternatives ? false +, enableCheck ? false, liboggz ? null , enableCopyArtifacts ? false , bashInteractive, bash-completion }: +assert enableAbsubmit -> essentia-extractor != null; assert enableAcoustid -> pythonPackages.pyacoustid != null; assert enableBadfiles -> flac != null && mp3val != null; +assert enableCheck -> flac != null && mp3val != null && liboggz != null; assert enableConvert -> ffmpeg != null; assert enableDiscogs -> pythonPackages.discogs_client != null; assert enableFetchart -> pythonPackages.responses != null; @@ -51,6 +55,7 @@ with stdenv.lib; let optionalPlugins = { + absubmit = enableAbsubmit; acousticbrainz = enableAcousticbrainz; badfiles = enableBadfiles; chroma = enableAcoustid; @@ -75,12 +80,12 @@ let }; pluginsWithoutDeps = [ - "absubmit" "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" - "edit" "embedart" "export" "filefilter" "freedesktop" "fromfilename" - "ftintitle" "fuzzy" "hook" "ihate" "importadded" "importfeeds" "info" - "inline" "ipfs" "lyrics" "mbcollection" "mbsubmit" "mbsync" "metasync" - "missing" "permissions" "play" "plexupdate" "random" "rewrite" "scrub" - "smartplaylist" "spotify" "the" "types" "zero" + "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart" + "export" "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy" + "hook" "ihate" "importadded" "importfeeds" "info" "inline" "ipfs" "lyrics" + "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "permissions" "play" + "plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the" + "types" "zero" ]; enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins); @@ -103,6 +108,7 @@ let plugins = { alternatives = callPackage ./alternatives-plugin.nix pluginArgs; + check = callPackage ./check-plugin.nix pluginArgs; copyartifacts = callPackage ./copyartifacts-plugin.nix pluginArgs; }; @@ -129,7 +135,8 @@ in pythonPackages.buildPythonApplication rec { pythonPackages.gst-python pythonPackages.pygobject3 gobject-introspection - ] ++ optional enableAcoustid pythonPackages.pyacoustid + ] ++ optional enableAbsubmit essentia-extractor + ++ optional enableAcoustid pythonPackages.pyacoustid ++ optional (enableFetchart || enableEmbyupdate || enableKodiupdate @@ -138,6 +145,7 @@ in pythonPackages.buildPythonApplication rec { || enableSubsonicupdate || enableAcousticbrainz) pythonPackages.requests + ++ optional enableCheck plugins.check ++ optional enableConvert ffmpeg ++ optional enableDiscogs pythonPackages.discogs_client ++ optional enableGmusic pythonPackages.gmusicapi @@ -242,6 +250,10 @@ in pythonPackages.buildPythonApplication rec { makeWrapperArgs = [ "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\"" "--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\"" ]; + passthru = { + externalPlugins = plugins; + }; + meta = { description = "Music tagger and library organizer"; homepage = http://beets.io; |