diff --git a/pkgs/applications/networking/instant-messengers/psi/default.nix b/pkgs/applications/networking/instant-messengers/psi/default.nix index 23f27b3caa9..b0819da4c6e 100644 --- a/pkgs/applications/networking/instant-messengers/psi/default.nix +++ b/pkgs/applications/networking/instant-messengers/psi/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, aspell, qt4, zlib, sox, libX11, xproto, libSM, libICE, qca2, pkgconfig }: +{ stdenv, fetchurl, aspell, qt4, zlib, sox, libX11, xproto, libSM, + libICE, qca2, pkgconfig, qca2_ossl, liboil, speex, gst_all }: stdenv.mkDerivation rec { name = "psi-0.14"; @@ -8,7 +9,8 @@ stdenv.mkDerivation rec { sha256 = "1h54a1qryfva187sw9qnb4lv1d3h3lysqgw55v727swvslh4l0da"; }; - buildInputs = [aspell qt4 zlib sox libX11 xproto libSM libICE qca2 pkgconfig]; + buildInputs = [aspell qt4 zlib sox libX11 xproto libSM libICE + qca2 qca2_ossl pkgconfig]; NIX_CFLAGS_COMPILE="-I${qca2}/include/QtCrypto"; @@ -19,7 +21,24 @@ stdenv.mkDerivation rec { " --disable-bundled-qca" ]; + psiMedia = (import ./psimedia.nix) { + inherit stdenv fetchurl qt4 speex gst_all liboil; + }; + + postInstall = '' + PSI_PLUGINS="$out/lib/psi/plugins" + ensureDir "$PSI_PLUGINS" + ln -s "${psiMedia}"/share/psi/plugins/*.so "$PSI_PLUGINS" + PSI_QT_PLUGINS="$out/share/psi" + ensureDir "$PSI_QT_PLUGINS"/crypto + ln -s "${qca2_ossl}"/lib/qt4/plugins/crypto/*.so "$PSI_QT_PLUGINS"/crypto + ''; + meta = { description = "Psi, an XMPP (Jabber) client"; + maintainers = with stdenv.lib.maintainers; + [raskin]; + platforms = with stdenv.lib.platforms; + linux; }; } diff --git a/pkgs/applications/networking/instant-messengers/psi/psimedia.nix b/pkgs/applications/networking/instant-messengers/psi/psimedia.nix new file mode 100644 index 00000000000..5f6112b53d0 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/psi/psimedia.nix @@ -0,0 +1,24 @@ +{stdenv, fetchurl, qt4, gst_all, liboil, speex}: + +stdenv.mkDerivation rec { + name = "psimedia"; + + src = fetchurl { + url = "http://delta.affinix.com/download/psimedia/psimedia-1.0.3.tar.bz2"; + sha256 = "0fxjdz8afh75gfx2msysb1gss6zx578l3224jvc9jhm99w1ii781"; + }; + + buildInputs = [qt4 gst_all.gstreamer gst_all.gstPluginsBase liboil speex]; + + configurePhase = ''./configure''; + + postBuild = '' + TARGET="$out/share/psi/plugins" + ensureDir "$TARGET" + cp gstprovider/*.so "$TARGET"/ + ''; + + meta = { + description = "Psi Media, a plugin to provide Voice/Video over XMPP"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 49ee7321621..5e3fbc91111 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9733,9 +9733,11 @@ let }; psi = (import ../applications/networking/instant-messengers/psi) { - inherit stdenv fetchurl zlib aspell sox pkgconfig qt4; + inherit stdenv fetchurl zlib aspell sox pkgconfig qt4 + liboil speex gst_all; inherit (xlibs) xproto libX11 libSM libICE; qca2 = kde4.qca2; + qca2_ossl = kde4.qca2_ossl; }; putty = import ../applications/networking/remote/putty {