beets: remove `? null
; remove
with lib
`
This commit is contained in:
parent
901206a04e
commit
3353bf7a16
|
@ -1,24 +1,23 @@
|
|||
{ stdenv, lib, fetchFromGitHub, writeScript, glibcLocales, diffPlugins, substituteAll
|
||||
, pythonPackages, imagemagick, gobject-introspection, gst_all_1
|
||||
, runtimeShell
|
||||
, unstableGitUpdater
|
||||
, runtimeShell, unstableGitUpdater
|
||||
|
||||
# external plugins package set
|
||||
, beetsExternalPlugins
|
||||
|
||||
, enableAbsubmit ? lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor ? null
|
||||
, enableAbsubmit ? lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor
|
||||
, enableAcousticbrainz ? true
|
||||
, enableAcoustid ? true
|
||||
, enableBadfiles ? true, flac ? null, mp3val ? null
|
||||
, enableBadfiles ? true, flac, mp3val
|
||||
, enableBeatport ? true
|
||||
, enableBpsync ? true
|
||||
, enableConvert ? true, ffmpeg ? null
|
||||
, enableConvert ? true, ffmpeg
|
||||
, enableDeezer ? true
|
||||
, enableDiscogs ? true
|
||||
, enableEmbyupdate ? true
|
||||
, enableFetchart ? true
|
||||
, enableGmusic ? true
|
||||
, enableKeyfinder ? true, keyfinder-cli ? null
|
||||
, enableKeyfinder ? true, keyfinder-cli
|
||||
, enableKodiupdate ? true
|
||||
, enableLastfm ? true
|
||||
, enableLoadext ? true
|
||||
|
@ -33,32 +32,14 @@
|
|||
|
||||
# External plugins
|
||||
, enableAlternatives ? false
|
||||
, enableCheck ? false, liboggz ? null
|
||||
, enableCheck ? false, liboggz
|
||||
, enableCopyArtifacts ? false
|
||||
, enableExtraFiles ? false
|
||||
|
||||
, bashInteractive, bash-completion
|
||||
}:
|
||||
|
||||
assert enableAbsubmit -> essentia-extractor != null;
|
||||
assert enableAcoustid -> pythonPackages.pyacoustid != null;
|
||||
assert enableBadfiles -> flac != null && mp3val != null;
|
||||
assert enableBeatport -> pythonPackages.requests_oauthlib != null;
|
||||
assert enableBpsync -> enableBeatport;
|
||||
assert enableCheck -> flac != null && mp3val != null && liboggz != null;
|
||||
assert enableConvert -> ffmpeg != null;
|
||||
assert enableDiscogs -> pythonPackages.discogs_client != null;
|
||||
assert enableFetchart -> pythonPackages.responses != null;
|
||||
assert enableGmusic -> pythonPackages.gmusicapi != null;
|
||||
assert enableKeyfinder -> keyfinder-cli != null;
|
||||
assert enableLastfm -> pythonPackages.pylast != null;
|
||||
assert enableMpd -> pythonPackages.mpd2 != null;
|
||||
assert enableReplaygain -> ffmpeg != null;
|
||||
assert enableSonosUpdate -> pythonPackages.soco != null;
|
||||
assert enableThumbnails -> pythonPackages.pyxdg != null;
|
||||
assert enableWeb -> pythonPackages.flask != null;
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
optionalPlugins = {
|
||||
|
@ -99,20 +80,20 @@ let
|
|||
"types" "unimported" "zero"
|
||||
];
|
||||
|
||||
enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins);
|
||||
enabledOptionalPlugins = lib.attrNames (lib.filterAttrs (_: lib.id) optionalPlugins);
|
||||
|
||||
allPlugins = pluginsWithoutDeps ++ attrNames optionalPlugins;
|
||||
allPlugins = pluginsWithoutDeps ++ lib.attrNames optionalPlugins;
|
||||
allEnabledPlugins = pluginsWithoutDeps ++ enabledOptionalPlugins;
|
||||
|
||||
testShell = "${bashInteractive}/bin/bash --norc";
|
||||
completion = "${bash-completion}/share/bash-completion/bash_completion";
|
||||
|
||||
# This is a stripped down beets for testing of the external plugins.
|
||||
externalTestArgs.beets = (beets.override {
|
||||
externalTestArgs.beets = (lib.beets.override {
|
||||
enableAlternatives = false;
|
||||
enableCopyArtifacts = false;
|
||||
enableExtraFiles = false;
|
||||
}).overrideAttrs (const {
|
||||
}).overrideAttrs (lib.const {
|
||||
doInstallCheck = false;
|
||||
});
|
||||
|
||||
|
@ -147,10 +128,10 @@ in pythonPackages.buildPythonApplication rec {
|
|||
pythonPackages.confuse
|
||||
pythonPackages.mediafile
|
||||
gobject-introspection
|
||||
] ++ optional enableAbsubmit essentia-extractor
|
||||
++ optional enableAcoustid pythonPackages.pyacoustid
|
||||
++ optional enableBeatport pythonPackages.requests_oauthlib
|
||||
++ optional (enableFetchart
|
||||
] ++ lib.optional enableAbsubmit essentia-extractor
|
||||
++ lib.optional enableAcoustid pythonPackages.pyacoustid
|
||||
++ lib.optional enableBeatport pythonPackages.requests_oauthlib
|
||||
++ lib.optional (enableFetchart
|
||||
|| enableDeezer
|
||||
|| enableEmbyupdate
|
||||
|| enableKodiupdate
|
||||
|
@ -160,19 +141,19 @@ in pythonPackages.buildPythonApplication rec {
|
|||
|| enableSubsonicupdate
|
||||
|| enableAcousticbrainz)
|
||||
pythonPackages.requests
|
||||
++ optional enableCheck beetsExternalPlugins.check
|
||||
++ optional enableConvert ffmpeg
|
||||
++ optional enableDiscogs pythonPackages.discogs_client
|
||||
++ optional enableGmusic pythonPackages.gmusicapi
|
||||
++ optional enableKeyfinder keyfinder-cli
|
||||
++ optional enableLastfm pythonPackages.pylast
|
||||
++ optional enableMpd pythonPackages.mpd2
|
||||
++ optional enableSonosUpdate pythonPackages.soco
|
||||
++ optional enableThumbnails pythonPackages.pyxdg
|
||||
++ optional enableWeb pythonPackages.flask
|
||||
++ optional enableAlternatives beetsExternalPlugins.alternatives
|
||||
++ optional enableCopyArtifacts beetsExternalPlugins.copyartifacts
|
||||
++ optional enableExtraFiles beetsExternalPlugins.extrafiles
|
||||
++ lib.optional enableCheck beetsExternalPlugins.check
|
||||
++ lib.optional enableConvert ffmpeg
|
||||
++ lib.optional enableDiscogs pythonPackages.discogs_client
|
||||
++ lib.optional enableGmusic pythonPackages.gmusicapi
|
||||
++ lib.optional enableKeyfinder keyfinder-cli
|
||||
++ lib.optional enableLastfm pythonPackages.pylast
|
||||
++ lib.optional enableMpd pythonPackages.mpd2
|
||||
++ lib.optional enableSonosUpdate pythonPackages.soco
|
||||
++ lib.optional enableThumbnails pythonPackages.pyxdg
|
||||
++ lib.optional enableWeb pythonPackages.flask
|
||||
++ lib.optional enableAlternatives beetsExternalPlugins.alternatives
|
||||
++ lib.optional enableCopyArtifacts beetsExternalPlugins.copyartifacts
|
||||
++ lib.optional enableExtraFiles beetsExternalPlugins.extrafiles
|
||||
;
|
||||
|
||||
buildInputs = [
|
||||
|
@ -209,12 +190,12 @@ in pythonPackages.buildPythonApplication rec {
|
|||
# bs1770gain, and set the absolute path there, to avoid impurities.
|
||||
++ lib.optional enableReplaygain (substituteAll {
|
||||
src = ./replaygain-default-ffmpeg.patch;
|
||||
ffmpeg = getBin ffmpeg;
|
||||
ffmpeg = lib.getBin ffmpeg;
|
||||
})
|
||||
# Put absolute Nix paths in place
|
||||
++ lib.optional enableConvert (substituteAll {
|
||||
src = ./convert-plugin-ffmpeg-path.patch;
|
||||
ffmpeg = getBin ffmpeg;
|
||||
ffmpeg = lib.getBin ffmpeg;
|
||||
})
|
||||
++ lib.optional enableBadfiles (substituteAll {
|
||||
src = ./badfiles-plugin-nix-paths.patch;
|
||||
|
@ -269,7 +250,7 @@ in pythonPackages.buildPythonApplication rec {
|
|||
EDITOR="${writeScript "beetconfig.sh" ''
|
||||
#!${runtimeShell}
|
||||
cat > "$1" <<CFG
|
||||
plugins: ${concatStringsSep " " allEnabledPlugins}
|
||||
plugins: ${lib.concatStringsSep " " allEnabledPlugins}
|
||||
CFG
|
||||
''}" HOME="$tmphome" "$out/bin/beet" config -e
|
||||
EDITOR=true HOME="$tmphome" "$out/bin/beet" config -e
|
||||
|
@ -285,7 +266,7 @@ in pythonPackages.buildPythonApplication rec {
|
|||
updateScript = unstableGitUpdater { url = "https://github.com/beetbox/beets"; };
|
||||
};
|
||||
|
||||
meta = {
|
||||
meta = with lib; {
|
||||
description = "Music tagger and library organizer";
|
||||
homepage = "http://beets.io";
|
||||
license = licenses.mit;
|
||||
|
|
Loading…
Reference in a new issue