diff --git a/pkgs/applications/networking/instant-messengers/sflphone/default.nix b/pkgs/applications/networking/instant-messengers/sflphone/default.nix new file mode 100644 index 00000000000..79b554798ee --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/sflphone/default.nix @@ -0,0 +1,79 @@ +{ stdenv, fetchurl, libyaml, alsaLib, openssl, libuuid, pkgconfig, pulseaudio, libsamplerate +, commoncpp2, ccrtp, libzrtpcpp, dbus, dbus_cplusplus, expat, pcre, gsm, speex, ilbc, libopus +, autoconf, automake, libtool, gettext, perl +, cmake, qt4 +, gtk, glib, dbus_glib, libnotify, intltool }: + +let + name = "sflphone-1.2.3"; + + src = fetchurl { + url = "https://projects.savoirfairelinux.com/attachments/download/6423/${name}.tar.gz"; + sha256 = "0aiwlky7mp5l51a7kkhkmaz7ivapypar291kdxzdxl1s3qy0x6fd"; + }; + + meta = { + homepage = http://sflphone.org/; + license = "GPLv3+"; + description = "Free software enterprise-class softphone for GNU/Linux"; + platforms = with stdenv.lib.platforms; linux; + maintainers = with stdenv.lib.maintainers; [viric]; + }; + +in +rec { + daemon = stdenv.mkDerivation { + name = name + "-daemon"; + + inherit src; + + patches = [ ./libzrtpcpp-cflags.patch ]; + + preConfigure = '' + cd daemon + + # Post patch, required + autoreconf -vfi + + cd libs + bash ./compile_pjsip.sh + cd .. + ''; + + configureFlags = "--with-expat --with-expat-inc=${expat}/include " + + "--with-expat-lib=-lexpat --with-opus "; + + buildInputs = [ libyaml alsaLib openssl libuuid pkgconfig pulseaudio libsamplerate + commoncpp2 ccrtp libzrtpcpp dbus dbus_cplusplus expat pcre gsm speex ilbc libopus + autoconf automake libtool gettext perl ]; + }; + + # This fails still. + # I don't know the best way to make this a KDE program (with switchable kde + # libs, like digikam for example) + /* + kde = stdenv.mkDerivation { + name = name + "-kde"; + + inherit src; + + preConfigure = '' + cd kde + ''; + + buildInputs = [ daemon cmake qt4 pkgconfig ]; + }; + */ + + gnome = stdenv.mkDerivation { + name = name + "-gnome"; + + inherit src; + + preConfigure = '' + cd gnome + ''; + + buildInputs = [ daemon pkgconfig gtk glib dbus_glib libnotify intltool ]; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/sflphone/libzrtpcpp-cflags.patch b/pkgs/applications/networking/instant-messengers/sflphone/libzrtpcpp-cflags.patch new file mode 100644 index 00000000000..972d9c58808 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/sflphone/libzrtpcpp-cflags.patch @@ -0,0 +1,15 @@ +diff --git a/daemon/src/audio/audiortp/Makefile.am b/daemon/src/audio/audiortp/Makefile.am +index c27eedd..fe64077 100644 +--- a/daemon/src/audio/audiortp/Makefile.am ++++ b/daemon/src/audio/audiortp/Makefile.am +@@ -4,6 +4,10 @@ noinst_LTLIBRARIES = libaudiortp.la + + if BUILD_ZRTP + SFL_ZRTP_SRC=audio_zrtp_session.h audio_zrtp_session.cpp zrtp_session_callback.cpp zrtp_session_callback.h ++libaudiortp_la_CXXFLAGS = \ ++ @CCGNU2_CFLAGS@ \ ++ @ZRTPCPP_CFLAGS@ \ ++ @CCRTP_CFLAGS@ + endif + + libaudiortp_la_SOURCES = \ diff --git a/pkgs/development/libraries/ccrtp/default.nix b/pkgs/development/libraries/ccrtp/default.nix index a6e426b164a..c5ae776fe3e 100644 --- a/pkgs/development/libraries/ccrtp/default.nix +++ b/pkgs/development/libraries/ccrtp/default.nix @@ -8,7 +8,8 @@ stdenv.mkDerivation { sha256 = "1p4zzqn02zvnyjy84khiq8v65pl422fb6ni946h9sxh4yw2lgn01"; }; - buildInputs = [ openssl pkgconfig libgcrypt ucommon ]; + buildInputs = [ openssl pkgconfig libgcrypt ]; + propagatedBuildInputs = [ ucommon ]; doCheck = true; diff --git a/pkgs/development/libraries/libzrtpcpp/default.nix b/pkgs/development/libraries/libzrtpcpp/default.nix index 9e569eea580..02741bc6fa1 100644 --- a/pkgs/development/libraries/libzrtpcpp/default.nix +++ b/pkgs/development/libraries/libzrtpcpp/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, cmake, ucommon, openssl, pkgconfig, ccrtp }: +{ stdenv, fetchurl, cmake, openssl, pkgconfig, ccrtp }: stdenv.mkDerivation rec { name = "libzrtpcpp-2.0.0"; @@ -8,7 +8,12 @@ stdenv.mkDerivation rec { sha256 = "05yw8n5xpj0jxkvzgsvn3xkxirpypc1japy9k1jqs9301fgb1a3i"; }; - buildInputs = [ cmake ucommon openssl pkgconfig ccrtp ]; + # We disallow 'lib64', or pkgconfig will not find it. + prePatch = '' + sed -i s/lib64/lib/ CMakeLists.txt + ''; + + buildInputs = [ cmake openssl pkgconfig ccrtp ]; meta = { description = "GNU RTP stack for the zrtp protocol developed by Phil Zimmermann"; diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix index cfcb47dd54f..ca0427481da 100644 --- a/pkgs/development/libraries/ucommon/default.nix +++ b/pkgs/development/libraries/ucommon/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, gnutls, pkgconfig, zlib, libgcrypt }: stdenv.mkDerivation rec { - name = "ucommon-5.2.2"; + name = "ucommon-6.0.5"; src = fetchurl { - url = mirror://gnu/commoncpp/ucommon-5.2.2.tar.gz; - sha256 = "1s9r7yhvqnj57aiw7sklp2p6llfzn1jxvc3hwhpli5zq3r6kypwx"; + url = mirror://gnu/commoncpp/ucommon-6.0.5.tar.gz; + sha256 = "0w5nl2a2l630n4kvfaz22by1s92ybd87g0q1zpcmsl8i5d00789l"; }; buildInputs = [ pkgconfig gnutls zlib ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 058833a13a8..78d8561c2b5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8140,6 +8140,10 @@ let seq24 = callPackage ../applications/audio/seq24 { }; + sflphone = callPackage ../applications/networking/instant-messengers/sflphone { + gtk = gtk3; + }; + siproxd = callPackage ../applications/networking/siproxd { }; skype = callPackage_i686 ../applications/networking/instant-messengers/skype { @@ -8148,7 +8152,6 @@ let skype4pidgin = callPackage ../applications/networking/instant-messengers/pidgin-plugins/skype4pidgin { }; - skype_call_recorder = callPackage ../applications/networking/instant-messengers/skype-call-recorder { }; st = callPackage ../applications/misc/st {