Makes beets actually usable (and configurable) on Nix(OS), if you want
to use more plugins rather than just plain lookup of tracks based on
(fuzzy) string matching.
This also changes the derivation name from "python2.7-beets" to just
"beets".
* Commit summary:
beets: Check dependencies on activated plugins.
beets: Check plugin definitions against package.
beets: Use audiotools backend for replaygain.
beets: Allow to configure plugin dependencies.
beets: Switch to using fetchFromGitHub.
python: Add new package audiotools.
python: Add new package discogs_client.
python: Add pyacoustid and dependencies.
python/mutagen: Update to upstream version 1.27.
mp3gain: Fix output path bin directory.
beets: Add myself to maintainers.
beets: Update to new upstream version 1.3.9.
beets: Move into its own package directory.
Beets tries to load oll activated plugins on "beet config -e" (however
only on the second run, thus the dummy), so we just pass all activated
plugins into a generated config file and bail out on any errors.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
The reason for doing this is in order to not forget about possible
dependencies in new upstream releases, so if upstream is introducing a
new plugin where we're lacking dependencies, the build will fail on our
side and we can check whether we'll need those.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Using commands such as mp3gain and aacgain is only the default for
backwards-compatible reasons. However, on Nix(OS), we would have to
either patch those tools into beets or rely on an impurity, so let's
depend on audiotools and also default to that backend.
Of course, there is also a GStreamer backend, but it comes with a hell
of additional dependencies (which not only cover audio files), which is
why I decided against defaulting to GStreamer and package audiotools
instead (in eecd932).
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This also fleshes out/fixes the unit tests, which I've used for
gathering the individual requirements.
Along various Python dependencies we now also have a build-time
dependency on bashInteractive and a runtime dependency on
bashCompletion, which is needed for command line completion to work
correctly.
However, some tests for the shell completion fail at the moment, so I've
disabled them for now.
The patch for fixing mediafile codec info is a modified version of
sampsyo/beets@903e88a, where I just dropped the second hunk modifying
the changelog. It is already merged to master and thus expected to be in
the next upstream version.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
The reason for doing this is because the package on PyPI is missing some
files needed for running the test suite (for example:
test/test_completion.sh).
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Also now comes with a few more build dependencies in order to run tests,
which for this version now succeed.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
A working /sbin/shutdown (usually provided by systemd) is required by
"rtcwake -m off". Creating a circular dependency on systemd for this
just isn't worth the trouble, so take the straightforward way out.
One could easily make the argument that rtcwake wants to shut down the
*currently running system*, and that the correct API for that *is* in
fact /run/current-system. And it makes a very tempting sort of sense.
@vcunat moved to postPatch and added #FIXME.
The primary use of beets is not as a Python library and users usually
would expect to install it into the env using "nix-env -i beets" rather
than "nix-env -i pythonX.Y-beets".
Having beets in its own package directory also allows for better
customization, where we're going to implement attributes that can be
used to turn on/off various features and plugins.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>