clementine: provide free derivation by default
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
This commit is contained in:
parent
c1f1d8634b
commit
ef5e212d20
|
@ -58,6 +58,9 @@ following incompatible changes:</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
|
The <literal>clementine</literal> package points now to the free derivation.
|
||||||
|
<literal>clementineFree</literal> is removed now and <literal>clementineUnfree</literal>
|
||||||
|
points to the package which is bundled with the unfree <literal>libspotify</literal> package.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
|
@ -76,6 +76,8 @@ let
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
passthru.unfree = unfree;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://www.clementine-player.org;
|
homepage = http://www.clementine-player.org;
|
||||||
description = "A multiplatform music player";
|
description = "A multiplatform music player";
|
||||||
|
@ -85,8 +87,8 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Spotify blob for Clementine
|
# Unfree Spotify blob for Clementine
|
||||||
blob = stdenv.mkDerivation {
|
unfree = stdenv.mkDerivation {
|
||||||
name = "clementine-blob-${version}";
|
name = "clementine-blob-${version}";
|
||||||
# Use the same patches and sources as Clementine
|
# Use the same patches and sources as Clementine
|
||||||
inherit src nativeBuildInputs postPatch;
|
inherit src nativeBuildInputs postPatch;
|
||||||
|
@ -95,7 +97,7 @@ let
|
||||||
./clementine-spotify-blob.patch
|
./clementine-spotify-blob.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = buildInputs ++ [ libspotify ];
|
buildInputs = buildInputs ++ [ libspotify makeWrapper gst_plugins ];
|
||||||
# Only build and install the Spotify blob
|
# Only build and install the Spotify blob
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
cd ext/clementine-spotifyblob
|
cd ext/clementine-spotifyblob
|
||||||
|
@ -104,6 +106,15 @@ let
|
||||||
mkdir -p $out/libexec/clementine
|
mkdir -p $out/libexec/clementine
|
||||||
mv $out/bin/clementine-spotifyblob $out/libexec/clementine
|
mv $out/bin/clementine-spotifyblob $out/libexec/clementine
|
||||||
rmdir $out/bin
|
rmdir $out/bin
|
||||||
|
|
||||||
|
makeWrapper ${free}/bin/clementine $out/bin/clementine \
|
||||||
|
--set CLEMENTINE_SPOTIFYBLOB $out/libexec/clementine \
|
||||||
|
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
|
||||||
|
|
||||||
|
mkdir -p $out/share
|
||||||
|
for dir in applications icons kde4; do
|
||||||
|
ln -s "$free/share/$dir" "$out/share/$dir"
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
@ -116,34 +127,4 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in free
|
||||||
|
|
||||||
with stdenv.lib;
|
|
||||||
|
|
||||||
runCommand "clementine-${version}"
|
|
||||||
{
|
|
||||||
inherit blob free;
|
|
||||||
buildInputs = [ makeWrapper ] ++ gst_plugins; # for the setup-hooks
|
|
||||||
dontPatchELF = true;
|
|
||||||
dontStrip = true;
|
|
||||||
meta = {
|
|
||||||
description = "A multiplatform music player"
|
|
||||||
+ " (" + (optionalString withSpotify "with Spotify, ")
|
|
||||||
+ "with gstreamer plugins: "
|
|
||||||
+ concatStrings (intersperse ", " (map (x: x.name) gst_plugins))
|
|
||||||
+ ")";
|
|
||||||
license = licenses.gpl3Plus;
|
|
||||||
inherit (free.meta) homepage platforms maintainers;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
makeWrapper "$free/bin/${exeName}" "$out/bin/${exeName}" \
|
|
||||||
${optionalString withSpotify "--set CLEMENTINE_SPOTIFYBLOB \"$blob/libexec/clementine\""} \
|
|
||||||
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
|
|
||||||
|
|
||||||
mkdir -p $out/share
|
|
||||||
for dir in applications icons kde4; do
|
|
||||||
ln -s "$free/share/$dir" "$out/share/$dir"
|
|
||||||
done
|
|
||||||
''
|
|
||||||
|
|
|
@ -1603,7 +1603,7 @@ with pkgs;
|
||||||
with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav ];
|
with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav ];
|
||||||
};
|
};
|
||||||
|
|
||||||
clementineFree = clementine.free;
|
clementineUnfree = clementine.unfree;
|
||||||
|
|
||||||
ciopfs = callPackage ../tools/filesystems/ciopfs { };
|
ciopfs = callPackage ../tools/filesystems/ciopfs { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue