nixpkgs/pkgs/applications/audio/clementine/default.nix

92 lines
2.1 KiB
Nix
Raw Normal View History

2013-12-31 13:51:11 +00:00
{ stdenv, fetchurl, boost, cmake, gettext, gstreamer, gst_plugins_base
, liblastfm, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist
, usbmuxd, libmtp, gvfs, libcdio, protobuf, libspotify, qca2, pkgconfig
, sparsehash, config, makeWrapper, gst_plugins }:
let
version = "1.2.3";
withSpotify = config.clementine.spotify or false;
2015-05-02 18:37:10 +00:00
exeName = "clementine";
2015-05-02 18:37:10 +00:00
unwrapped = stdenv.mkDerivation {
name = "clementine-unwrapped-${version}";
src = fetchurl {
url = https://github.com/clementine-player/Clementine/archive/1.2.3.tar.gz;
sha256 = "1gx1109i4pylz6x7gvp4rdzc6dvh0w6in6hfbygw01d08l26bxbx";
};
patches = [
./clementine-1.2.1-include-paths.patch
./clementine-dbus-namespace.patch
];
buildInputs = [
boost
cmake
fftw
gettext
glew
gst_plugins_base
gstreamer
gvfs
libcdio
libgpod
liblastfm
libmtp
libplist
pkgconfig
protobuf
qca2
qjson
qt4
sparsehash
sqlite
taglib
usbmuxd
];
enableParallelBuilding = true;
};
2013-12-31 13:51:11 +00:00
in
2013-12-31 13:51:11 +00:00
stdenv.mkDerivation {
name = "clementine-${version}";
2013-12-31 13:51:11 +00:00
src = ./.;
2013-12-31 13:51:11 +00:00
buildInputs = [
2015-05-02 18:37:10 +00:00
unwrapped
2015-01-19 17:04:23 +00:00
makeWrapper
] ++ gst_plugins
++ stdenv.lib.optional withSpotify libspotify;
installPhase = ''
mkdir -p $out/bin
makeWrapper "${unwrapped}/bin/${exeName}" "$out/bin/${exeName}" \
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
2015-01-19 17:04:23 +00:00
'';
preferLocalBuild = true;
dontPatchELF = true;
dontStrip = true;
2013-12-31 13:51:11 +00:00
meta = with stdenv.lib; {
homepage = "http://www.clementine-player.org";
description = "A multiplatform music player"
+ " ("
+ concatStrings (optionals (withSpotify) ["with spotify, "])
+ "with gstreamer plugins: "
+ concatStrings (intersperse ", " (map (x: x.name) gst_plugins))
+ ")";
2013-12-31 13:51:11 +00:00
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = [ maintainers.ttuegel ];
# libspotify is unfree
hydraPlatforms = optionals (!withSpotify) platforms.linux;
2013-12-31 13:51:11 +00:00
};
}