nixpkgs/pkgs/applications/audio/tomahawk/default.nix
aszlig d229f0050c
tomahawk: Fix finding Phonon VLC backend.
Using propagatedBuildInputs only works for environment.systemPackages
but not for using nix-env, because on NixOS we already have a default
QT_PLUGIN_PATH set there.

The main reason why I'm using the VLC backend and not providing options
for other Phonon backends is because it's recommended upstream and also
will be directly used (via libvlc) in the upcoming 0.9 release.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-12-09 10:05:19 +01:00

56 lines
1.7 KiB
Nix

{ stdenv, fetchurl, cmake, pkgconfig, attica, boost, gnutls, libechonest
, liblastfm, lucenepp, phonon, phonon_backend_vlc, qca2, qjson, qt4, qtkeychain
, quazip, sparsehash, taglib, websocketpp, makeWrapper
, enableXMPP ? true, libjreen ? null
, enableKDE ? false, kdelibs ? null
, enableTelepathy ? false, telepathy_qt ? null
}:
assert enableXMPP -> libjreen != null;
assert enableKDE -> kdelibs != null;
assert enableTelepathy -> telepathy_qt != null;
let
quazipQt4 = quazip.override { qt = qt4; };
in stdenv.mkDerivation rec {
name = "tomahawk-${version}";
version = "0.8.2";
src = fetchurl {
url = "http://download.tomahawk-player.org/${name}.tar.bz2";
sha256 = "1bmkkpqhflpm42sn6zf7hxv3936h3p0kdiqzmj88jm7qfgw2wbaj";
};
cmakeFlags = [
"-DLUCENEPP_INCLUDE_DIR=${lucenepp}/include"
"-DLUCENEPP_LIBRARY_DIR=${lucenepp}/lib"
];
buildInputs = [
cmake pkgconfig attica boost gnutls libechonest liblastfm lucenepp phonon
qca2 qjson qt4 qtkeychain quazipQt4 sparsehash taglib websocketpp
makeWrapper
] ++ stdenv.lib.optional enableXMPP libjreen
++ stdenv.lib.optional enableKDE kdelibs
++ stdenv.lib.optional enableTelepathy telepathy_qt;
postInstall = let
pluginPath = "${phonon_backend_vlc}/lib/kde4/plugins";
in ''
for i in "$out"/bin/*; do
wrapProgram "$i" --prefix QT_PLUGIN_PATH : "${pluginPath}"
done
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "A multi-source music player";
homepage = "http://tomahawk-player.org/";
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = [ maintainers.aszlig ];
};
}