nixpkgs/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
2015-10-13 20:19:01 +02:00

69 lines
2 KiB
Nix

{ stdenv, fetchurl, fetchgit, automoc4, cmake, gettext, perl, pkgconfig
, telepathy_qt, kdelibs, kde_workspace, dbus_glib, dbus_libs, farstream
, qt_gstreamer1, telepathy_glib, telepathy_logger
, qjson, flex, bison, qca2 }:
let
version = "0.8.80";
manifest = import (./. + "/${version}.nix");
overrides = {
call_ui = x : x // {
NIX_CFLAGS_COMPILE =
"-I${telepathy_glib}/include/telepathy-1.0"
+ " -I${dbus_glib.dev}/include/dbus-1.0"
+ " -I${dbus_libs.dev}/include/dbus-1.0";
};
telepathy_logger_qt = x : x // {
NIX_CFLAGS_COMPILE = "-I${dbus_libs.dev}/include/dbus-1.0";
};
};
extraBuildInputs = {
auth_handler = [ qjson qca2 ];
call_ui = [ qt_gstreamer1 telepathy_glib farstream ];
contact_applet = [ kde_workspace ];
telepathy_logger_qt = [ telepathy_logger qt_gstreamer1 ];
text_ui = [ qt_gstreamer1 telepathy_logger qjson ];
common_internals = [ telepathy_qt ];
};
extraNativeBuildInputs = {
telepathy_logger_qt = [ flex bison ];
};
ktpFun = { name, key, sha256 }:
{
name = key;
value = stdenv.mkDerivation (
(stdenv.lib.attrByPath [ key ] (x : x) overrides)
{
name = "${name}-${version}";
src = fetchurl {
url = "mirror://kde/unstable/kde-telepathy/${version}/src/${name}-${version}.tar.bz2";
inherit sha256;
};
nativeBuildInputs =
[ automoc4 cmake gettext perl pkgconfig ]
++ (stdenv.lib.attrByPath [ key ] [] extraNativeBuildInputs);
buildInputs = [ kdelibs telepathy_qt ]
++ stdenv.lib.optional (name != "ktp-common-internals") ktp.common_internals
++ (stdenv.lib.attrByPath [ key ] [] extraBuildInputs);
meta = {
inherit (kdelibs.meta) platforms;
maintainers = [ stdenv.lib.maintainers.urkud ];
};
}
);
};
ktp = builtins.listToAttrs (map ktpFun manifest);
in
ktp // {
inherit version;
recurseForDerivations = true;
full = stdenv.lib.attrValues ktp;
}