The `clementine` package is actually released under Apache license, but
requires the unfree `libspotify` package to build.
Now `nixpkgs.clementine` points to the free derivation and
`nixpkgs.clementineUnfree` has been introduced for the package bundled
with spotify support.
Fixes#38315
* pkgs: refactor needless quoting of homepage meta attribute
A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.
* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit
* Fixed some instances
Added switches for ipod, mtp, cd and cloud support.
The switch for ipod support, specifically, allows users to build it without libplist, wich is currently marked as insecure.
Clementine consists of a large free part (the main application) and a
small part with unfree dependencies (the Spotify blob). Add a top-level
attribute for the free Clementine for users who don't want unfree
software, and so that the bulk of Clementine will be in the binary cache.
- Pass the gstreamer plugins as a list attribute instead of
individual attributes.
+ This should allow for greater customization (e.g.: a
user can add / remove plugins by overriding
the plugin list attribute).
This is the same technique as used for wrapping chrome
with gstreamer plugins.
- Moved integration of gstreamer plugins, spotify
library and clementine into a wrapper derivation.
+ This should allow a user to change the gstreamer
plugin set and activate / deactivate the spotify
plugin without triggering a whole rebuild of the
clementine sources (which is pretty long).
$ nix-env -f . -qa '*' --meta --xml --drv-path --show-trace
error: while querying the derivation named `clementine-1.2.1':
while evaluating `optional' at .../lib/lists.nix:113:20, called from .../pkgs/applications/audio/clementine/default.nix:50:22:
undefined variable `not' at .../pkgs/applications/audio/clementine/default.nix:50:32
Clementine has an optional dependency on libspotify, which is unfree.
Enabling libspotify unconditionally prevented Hydra from distributing
Clementine. Now, we optionally enable it based on
config.clementine.spotify.