diff options
author | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-08-11 22:31:59 +0000 |
---|---|---|
committer | Alexandre Rostovtsev <tetromino@gentoo.org> | 2012-08-11 22:31:59 +0000 |
commit | ad17efe2480de9a20056bb6c059c0a474a2b4ef1 (patch) | |
tree | b6bb4ed3060f07606fb477db276e30699d5bcd03 | |
parent | Stable for amd64, wrt bug #430494 (diff) | |
download | gentoo-2-ad17efe2480de9a20056bb6c059c0a474a2b4ef1.tar.gz gentoo-2-ad17efe2480de9a20056bb6c059c0a474a2b4ef1.tar.bz2 gentoo-2-ad17efe2480de9a20056bb6c059c0a474a2b4ef1.zip |
Non-maintainer commit: fix building with glib-2.32 (bug #417765, thanks to Petr Gregor) and compatibility with pjsip-1.14.
(Portage version: 2.2.0_alpha120/cvs/Linux x86_64)
-rw-r--r-- | net-voip/sflphone/ChangeLog | 12 | ||||
-rw-r--r-- | net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-1.patch | 26 | ||||
-rw-r--r-- | net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-2.patch | 138 | ||||
-rw-r--r-- | net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-3.patch | 317 | ||||
-rw-r--r-- | net-voip/sflphone/files/sflphone-1.0.1-pjsip-1.14.patch | 110 | ||||
-rw-r--r-- | net-voip/sflphone/sflphone-1.0.1-r1.ebuild | 157 |
6 files changed, 759 insertions, 1 deletions
diff --git a/net-voip/sflphone/ChangeLog b/net-voip/sflphone/ChangeLog index 932fb4119760..33f6647faf6f 100644 --- a/net-voip/sflphone/ChangeLog +++ b/net-voip/sflphone/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for net-voip/sflphone # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-voip/sflphone/ChangeLog,v 1.11 2012/03/02 14:58:32 elvanor Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-voip/sflphone/ChangeLog,v 1.12 2012/08/11 22:31:59 tetromino Exp $ + +*sflphone-1.0.1-r1 (11 Aug 2012) + + 11 Aug 2012; Alexandre Rostovtsev <tetromino@gentoo.org> + +sflphone-1.0.1-r1.ebuild, +files/sflphone-1.0.1-glib-2.32-headers-1.patch, + +files/sflphone-1.0.1-glib-2.32-headers-2.patch, + +files/sflphone-1.0.1-glib-2.32-headers-3.patch, + +files/sflphone-1.0.1-pjsip-1.14.patch: + Non-maintainer commit: fix building with glib-2.32 (bug #417765, thanks to + Petr Gregor) and compatibility with pjsip-1.14. 02 Mar 2012; <elvanor@gentoo.org> sflphone-1.0.1.ebuild: Fixed bug #396707. diff --git a/net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-1.patch b/net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-1.patch new file mode 100644 index 000000000000..683bd9a29c68 --- /dev/null +++ b/net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-1.patch @@ -0,0 +1,26 @@ +From 3ed300124a425d43ee627ff35b35aa1168ba01d0 Mon Sep 17 00:00:00 2001 +From: Tristan Matthews <tristan.matthews@savoirfairelinux.com> +Date: Tue, 6 Mar 2012 10:19:59 -0500 +Subject: [PATCH] * #9144: Fixes "Only <glib.h> can be included directly" + error + +--- + plugins/addressbook/evolution/eds.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/plugins/addressbook/evolution/eds.h b/plugins/addressbook/evolution/eds.h +index 0ce1783..5bbf71e 100644 +--- a/plugins/addressbook/evolution/eds.h ++++ b/plugins/addressbook/evolution/eds.h +@@ -38,7 +38,7 @@ + #ifndef __EDS_H__ + #define __EDS_H__ + +-#include <glib/gtypes.h> ++#include <glib.h> + #include <gdk-pixbuf/gdk-pixbuf.h> + #include <libebook/e-book.h> + +-- +1.7.8.6 + diff --git a/net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-2.patch b/net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-2.patch new file mode 100644 index 000000000000..aa6645ab3987 --- /dev/null +++ b/net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-2.patch @@ -0,0 +1,138 @@ +From 585ee2588599e295273721418db3bf4d54dd053a Mon Sep 17 00:00:00 2001 +From: Tristan Matthews <tristan.matthews@savoirfairelinux.com> +Date: Tue, 6 Mar 2012 10:55:47 -0500 +Subject: [PATCH] * #9145: fix "only <glib.h>" can be included error in gnome + client + +--- + gnome/src/actions.c | 2 +- + gnome/src/conference_obj.h | 2 +- + gnome/src/config/addressbook-config.h | 2 +- + gnome/src/config/hooks-config.h | 2 +- + gnome/src/config/shortcuts-config.h | 2 +- + gnome/src/eel-gconf-extensions.c | 2 +- + gnome/src/eel-gconf-extensions.h | 2 +- + gnome/src/sflphone_const.h | 2 +- + gnome/src/uimanager.c | 2 +- + 9 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/gnome/src/actions.c b/gnome/src/actions.c +index 0520be8..abdbddd 100644 +--- a/gnome/src/actions.c ++++ b/gnome/src/actions.c +@@ -36,7 +36,7 @@ + #else + #include <gdk/gdkkeysyms.h> + #endif +-#include <glib/gprintf.h> ++#include <glib.h> + #include <stdlib.h> + #include <string.h> + #include <sys/types.h> +diff --git a/gnome/src/conference_obj.h b/gnome/src/conference_obj.h +index e7f0e3a..0e17bad 100644 +--- a/gnome/src/conference_obj.h ++++ b/gnome/src/conference_obj.h +@@ -32,7 +32,7 @@ + #define __CONFERENCE_OBJ_H__ + + #include <gtk/gtk.h> +-#include <glib/gprintf.h> ++#include <glib.h> + #include <stdlib.h> + #include <time.h> + +diff --git a/gnome/src/config/addressbook-config.h b/gnome/src/config/addressbook-config.h +index cb10260..cd7a9ac 100644 +--- a/gnome/src/config/addressbook-config.h ++++ b/gnome/src/config/addressbook-config.h +@@ -32,7 +32,7 @@ + #define _ADDRESS_BOOK_CONFIG + + #include <gtk/gtk.h> +-#include <glib/gtypes.h> ++#include <glib.h> + + #include "addressbook.h" + #include "actions.h" +diff --git a/gnome/src/config/hooks-config.h b/gnome/src/config/hooks-config.h +index 6f51be9..e35a5b9 100644 +--- a/gnome/src/config/hooks-config.h ++++ b/gnome/src/config/hooks-config.h +@@ -32,7 +32,7 @@ + #define _HOOKS_CONFIG + + #include <gtk/gtk.h> +-#include <glib/gtypes.h> ++#include <glib.h> + + #include "actions.h" + #include "utils.h" +diff --git a/gnome/src/config/shortcuts-config.h b/gnome/src/config/shortcuts-config.h +index abcb424..123cb9c 100644 +--- a/gnome/src/config/shortcuts-config.h ++++ b/gnome/src/config/shortcuts-config.h +@@ -32,7 +32,7 @@ + #define _SHORTCUTS_CONFIG + + #include <gtk/gtk.h> +-#include <glib/gtypes.h> ++#include <glib.h> + + #include "actions.h" + #include <utils.h> +diff --git a/gnome/src/eel-gconf-extensions.c b/gnome/src/eel-gconf-extensions.c +index c1947f2..4631981 100644 +--- a/gnome/src/eel-gconf-extensions.c ++++ b/gnome/src/eel-gconf-extensions.c +@@ -29,7 +29,7 @@ + #include <gconf/gconf-client.h> + #include <gconf/gconf.h> + #include <gtk/gtk.h> +-#include <glib/gi18n.h> ++#include <glib.h> + + static GConfClient *global_gconf_client = NULL; + +diff --git a/gnome/src/eel-gconf-extensions.h b/gnome/src/eel-gconf-extensions.h +index 0068b15..d380387 100644 +--- a/gnome/src/eel-gconf-extensions.h ++++ b/gnome/src/eel-gconf-extensions.h +@@ -25,7 +25,7 @@ + #ifndef EEL_GCONF_EXTENSIONS_H + #define EEL_GCONF_EXTENSIONS_H + +-#include <glib/gerror.h> ++#include <glib.h> + #include <gconf/gconf.h> + #include <gconf/gconf-client.h> + +diff --git a/gnome/src/sflphone_const.h b/gnome/src/sflphone_const.h +index 3766562..e642e0a 100644 +--- a/gnome/src/sflphone_const.h ++++ b/gnome/src/sflphone_const.h +@@ -32,7 +32,7 @@ + #define __SFLPHONE_CONST_H + + #include <libintl.h> +-#include <glib/gi18n.h> ++#include <glib.h> + + /* @file sflphone_const.h + * @brief Contains the global variables for the client code +diff --git a/gnome/src/uimanager.c b/gnome/src/uimanager.c +index 36eb623..2953156 100644 +--- a/gnome/src/uimanager.c ++++ b/gnome/src/uimanager.c +@@ -36,7 +36,7 @@ + #include "assistant.h" + #include <gtk/gtk.h> + #include <string.h> +-#include <glib/gprintf.h> ++#include <glib.h> + + #include "uimanager.h" + #include "statusicon.h" +-- +1.7.8.6 + diff --git a/net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-3.patch b/net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-3.patch new file mode 100644 index 000000000000..4eb8c86c9e49 --- /dev/null +++ b/net-voip/sflphone/files/sflphone-1.0.1-glib-2.32-headers-3.patch @@ -0,0 +1,317 @@ +From 733be9d1efbd5b146ed9d48df31561dcfc1379c9 Mon Sep 17 00:00:00 2001 +From: Tristan Matthews <tristan.matthews@savoirfairelinux.com> +Date: Fri, 9 Mar 2012 16:48:34 -0500 +Subject: [PATCH] * #9145: fix missing <glib/gi18n.h> includes + +--- + gnome/src/accountlist.c | 1 + + gnome/src/actions.c | 1 + + gnome/src/callable_obj.c | 1 + + gnome/src/config/accountconfigdialog.c | 1 + + gnome/src/config/accountlistconfigdialog.c | 1 + + gnome/src/config/addressbook-config.c | 1 + + gnome/src/config/assistant.c | 2 +- + gnome/src/config/audioconf.c | 2 +- + gnome/src/config/hooks-config.c | 1 + + gnome/src/config/preferencesdialog.c | 1 + + gnome/src/config/shortcuts-config.c | 1 + + gnome/src/config/tlsadvanceddialog.c | 2 +- + gnome/src/config/zrtpadvanceddialog.c | 8 ++++---- + gnome/src/contacts/searchbar.c | 1 + + gnome/src/dbus/dbus.c | 2 +- + gnome/src/eel-gconf-extensions.c | 3 ++- + gnome/src/main.c | 1 + + gnome/src/mainwindow.c | 1 + + gnome/src/sflnotify.c | 2 ++ + gnome/src/sliders.c | 1 + + gnome/src/statusicon.c | 1 + + gnome/src/uimanager.c | 3 ++- + 22 files changed, 28 insertions(+), 10 deletions(-) + +diff --git a/gnome/src/accountlist.c b/gnome/src/accountlist.c +index 662c7bc..803e3d3 100644 +--- a/gnome/src/accountlist.c ++++ b/gnome/src/accountlist.c +@@ -29,6 +29,7 @@ + * as that of the covered work. + */ + ++#include <glib/gi18n.h> + #include "accountlist.h" + #include "actions.h" + #include "unused.h" +diff --git a/gnome/src/actions.c b/gnome/src/actions.c +index abdbddd..29dca07 100644 +--- a/gnome/src/actions.c ++++ b/gnome/src/actions.c +@@ -29,6 +29,7 @@ + * as that of the covered work. + */ + ++#include <glib/gi18n.h> + #include <gtk/gtk.h> + /* Backward compatibility for gtk < 2.22.0 */ + #if GTK_CHECK_VERSION(2,22,0) +diff --git a/gnome/src/callable_obj.c b/gnome/src/callable_obj.c +index 83449c6..c16d951 100644 +--- a/gnome/src/callable_obj.c ++++ b/gnome/src/callable_obj.c +@@ -32,6 +32,7 @@ + #include "codeclist.h" + #include "sflphone_const.h" + #include <time.h> ++#include <glib/gi18n.h> + #include "contacts/calltab.h" + #include "contacts/calltree.h" + #include "dbus.h" +diff --git a/gnome/src/config/accountconfigdialog.c b/gnome/src/config/accountconfigdialog.c +index c623595..7c2de3f 100644 +--- a/gnome/src/config/accountconfigdialog.c ++++ b/gnome/src/config/accountconfigdialog.c +@@ -31,6 +31,7 @@ + * as that of the covered work. + */ + ++#include <glib/gi18n.h> + #include <sys/socket.h> + #include <sys/ioctl.h> + #include <net/if.h> +diff --git a/gnome/src/config/accountlistconfigdialog.c b/gnome/src/config/accountlistconfigdialog.c +index aa8db7a..151f067 100644 +--- a/gnome/src/config/accountlistconfigdialog.c ++++ b/gnome/src/config/accountlistconfigdialog.c +@@ -38,6 +38,7 @@ + #include "utils.h" + #include "unused.h" + #include "logger.h" ++#include <glib/gi18n.h> + #include <string.h> + + static const int CONTEXT_ID_REGISTRATION = 0; +diff --git a/gnome/src/config/addressbook-config.c b/gnome/src/config/addressbook-config.c +index 4c56da2..8e9c64e 100644 +--- a/gnome/src/config/addressbook-config.c ++++ b/gnome/src/config/addressbook-config.c +@@ -34,6 +34,7 @@ + #include "logger.h" + #include "searchbar.h" + #include "contacts/addrbookfactory.h" ++#include <glib/gi18n.h> + #include <string.h> + #include <stdlib.h> + +diff --git a/gnome/src/config/assistant.c b/gnome/src/config/assistant.c +index 8ca0021..202767e 100644 +--- a/gnome/src/config/assistant.c ++++ b/gnome/src/config/assistant.c +@@ -29,7 +29,7 @@ + */ + + #include <string.h> +- ++#include <glib/gi18n.h> + #include "unused.h" + #include "assistant.h" + #include "logger.h" +diff --git a/gnome/src/config/audioconf.c b/gnome/src/config/audioconf.c +index c7dfe38..3bfbad9 100644 +--- a/gnome/src/config/audioconf.c ++++ b/gnome/src/config/audioconf.c +@@ -28,7 +28,7 @@ + * as that of the covered work. + */ + +- ++#include <glib/gi18n.h> + #include "audioconf.h" + #include "utils.h" + #include "logger.h" +diff --git a/gnome/src/config/hooks-config.c b/gnome/src/config/hooks-config.c +index 2b3e9e8..8a2b419 100644 +--- a/gnome/src/config/hooks-config.c ++++ b/gnome/src/config/hooks-config.c +@@ -28,6 +28,7 @@ + * as that of the covered work. + */ + ++#include <glib/gi18n.h> + #include "hooks-config.h" + #include "dbus.h" + +diff --git a/gnome/src/config/preferencesdialog.c b/gnome/src/config/preferencesdialog.c +index 3bd5057..10b11ca 100644 +--- a/gnome/src/config/preferencesdialog.c ++++ b/gnome/src/config/preferencesdialog.c +@@ -32,6 +32,7 @@ + * as that of the covered work. + */ + ++#include <glib/gi18n.h> + #include <gtk/gtk.h> + #include <stdlib.h> + #include <stdio.h> +diff --git a/gnome/src/config/shortcuts-config.c b/gnome/src/config/shortcuts-config.c +index caa354a..f77b2e0 100644 +--- a/gnome/src/config/shortcuts-config.c ++++ b/gnome/src/config/shortcuts-config.c +@@ -28,6 +28,7 @@ + * as that of the covered work. + */ + ++#include <glib/gi18n.h> + #include <gdk/gdk.h> + #include "shortcuts-config.h" + #include "shortcuts.h" +diff --git a/gnome/src/config/tlsadvanceddialog.c b/gnome/src/config/tlsadvanceddialog.c +index 3d6c118..59052ea 100644 +--- a/gnome/src/config/tlsadvanceddialog.c ++++ b/gnome/src/config/tlsadvanceddialog.c +@@ -32,7 +32,7 @@ + #include <sflphone_const.h> + #include <utils.h> + #include <dbus.h> +- ++#include <glib/gi18n.h> + #include <gtk/gtk.h> + #include <math.h> + +diff --git a/gnome/src/config/zrtpadvanceddialog.c b/gnome/src/config/zrtpadvanceddialog.c +index e50898a..fe4589b 100644 +--- a/gnome/src/config/zrtpadvanceddialog.c ++++ b/gnome/src/config/zrtpadvanceddialog.c +@@ -28,11 +28,11 @@ + * as that of the covered work. + */ + +-#include <zrtpadvanceddialog.h> +-#include <sflphone_const.h> +-#include <utils.h> +- ++#include <glib/gi18n.h> + #include <gtk/gtk.h> ++#include <zrtpadvanceddialog.h> ++#include "sflphone_const.h" ++#include "utils.h" + + void show_advanced_zrtp_options(GHashTable * properties) + { +diff --git a/gnome/src/contacts/searchbar.c b/gnome/src/contacts/searchbar.c +index e48efaf..1ac515b 100644 +--- a/gnome/src/contacts/searchbar.c ++++ b/gnome/src/contacts/searchbar.c +@@ -31,6 +31,7 @@ + * as that of the covered work. + */ + ++#include <glib/gi18n.h> + #include "searchbar.h" + #include "calltree.h" + #include "calltab.h" +diff --git a/gnome/src/dbus/dbus.c b/gnome/src/dbus/dbus.c +index 91241f5..957ae5a 100644 +--- a/gnome/src/dbus/dbus.c ++++ b/gnome/src/dbus/dbus.c +@@ -30,7 +30,7 @@ + * as that of the covered work. + */ + #include "config.h" +- ++#include <glib/gi18n.h> + #include "logger.h" + #include "calltab.h" + #include "callmanager-glue.h" +diff --git a/gnome/src/eel-gconf-extensions.c b/gnome/src/eel-gconf-extensions.c +index 4631981..c24251a 100644 +--- a/gnome/src/eel-gconf-extensions.c ++++ b/gnome/src/eel-gconf-extensions.c +@@ -22,8 +22,9 @@ + Authors: Ramiro Estrugo <ramiro@eazel.com> + */ + +-#include <stdlib.h> + #include "config.h" ++#include <glib/gi18n.h> ++#include <stdlib.h> + #include "eel-gconf-extensions.h" + + #include <gconf/gconf-client.h> +diff --git a/gnome/src/main.c b/gnome/src/main.c +index 7af5078..8a08c4e 100644 +--- a/gnome/src/main.c ++++ b/gnome/src/main.c +@@ -36,6 +36,7 @@ + #include "mainwindow.h" + #include "statusicon.h" + #include "eel-gconf-extensions.h" ++#include <glib/gi18n.h> + #include <gtk/gtk.h> + #include <stdlib.h> + +diff --git a/gnome/src/mainwindow.c b/gnome/src/mainwindow.c +index 3b14c6a..e41def4 100644 +--- a/gnome/src/mainwindow.c ++++ b/gnome/src/mainwindow.c +@@ -50,6 +50,7 @@ + + #include "eel-gconf-extensions.h" + ++#include <glib/gi18n.h> + #include <sys/stat.h> + #include <gtk/gtk.h> + +diff --git a/gnome/src/sflnotify.c b/gnome/src/sflnotify.c +index 8dd5ed0..44eee7e 100644 +--- a/gnome/src/sflnotify.c ++++ b/gnome/src/sflnotify.c +@@ -29,6 +29,8 @@ + */ + + #include "config.h" ++#include <glib.h> ++#include <glib/gi18n.h> + #include "eel-gconf-extensions.h" + #include "sflnotify.h" + #include "logger.h" +diff --git a/gnome/src/sliders.c b/gnome/src/sliders.c +index 4a2fdd8..ab3e40f 100644 +--- a/gnome/src/sliders.c ++++ b/gnome/src/sliders.c +@@ -28,6 +28,7 @@ + * as that of the covered work. + */ + ++#include <glib/gi18n.h> + #include "sliders.h" + #include "dbus/dbus.h" + #include "actions.h" +diff --git a/gnome/src/statusicon.c b/gnome/src/statusicon.c +index 2fe79ee..b94864c 100644 +--- a/gnome/src/statusicon.c ++++ b/gnome/src/statusicon.c +@@ -29,6 +29,7 @@ + * as that of the covered work. + */ + ++#include <glib/gi18n.h> + #include <gtk/gtk.h> + #include "actions.h" + #include "mainwindow.h" +diff --git a/gnome/src/uimanager.c b/gnome/src/uimanager.c +index 2953156..0ddac4b 100644 +--- a/gnome/src/uimanager.c ++++ b/gnome/src/uimanager.c +@@ -34,9 +34,10 @@ + #include "dbus/dbus.h" + #include "mainwindow.h" + #include "assistant.h" ++#include <glib.h> ++#include <glib/gi18n.h> + #include <gtk/gtk.h> + #include <string.h> +-#include <glib.h> + + #include "uimanager.h" + #include "statusicon.h" +-- +1.7.8.6 + diff --git a/net-voip/sflphone/files/sflphone-1.0.1-pjsip-1.14.patch b/net-voip/sflphone/files/sflphone-1.0.1-pjsip-1.14.patch new file mode 100644 index 000000000000..aa16bcab29fe --- /dev/null +++ b/net-voip/sflphone/files/sflphone-1.0.1-pjsip-1.14.patch @@ -0,0 +1,110 @@ +From 0d66570e26c6bd728d00d251e592a4154c0c9d1c Mon Sep 17 00:00:00 2001 +From: Alexandre Savard <alexandre.savard@savoirfairelinux.com> +Date: Mon, 30 Jul 2012 12:12:45 -0400 +Subject: [PATCH] #13961: Fix cipher handling to be compatible with pjsip + 1.14.2 + +[Alexandre Rostovtsev <tetromino@gentoo.org>: backport to 1.0.1] +--- + daemon/src/sip/sipaccount.cpp | 24 ++++++++++++++++++++---- + daemon/src/sip/sipaccount.h | 7 +++++++ + 2 files changed, 27 insertions(+), 4 deletions(-) + +diff --git a/daemon/src/sip/sipaccount.cpp b/daemon/src/sip/sipaccount.cpp +index fdd4634..44d169f 100644 +--- a/daemon/src/sip/sipaccount.cpp ++++ b/daemon/src/sip/sipaccount.cpp +@@ -55,6 +55,7 @@ SIPAccount::SIPAccount(const std::string& accountID) + , transportType_(PJSIP_TRANSPORT_UNSPECIFIED) + , cred_(NULL) + , tlsSetting_() ++ , ciphers(100) + , stunServerName_() + , stunPort_(0) + , dtmfType_(OVERRTP) +@@ -145,7 +146,7 @@ void SIPAccount::serialize(Conf::YamlEmitter *emitter) + Conf::ScalarNode tlsport(portstr.str()); + Conf::ScalarNode certificate(tlsCertificateFile_); + Conf::ScalarNode calist(tlsCaListFile_); +- Conf::ScalarNode ciphers(tlsCiphers_); ++ Conf::ScalarNode ciphersNode(tlsCiphers_); + Conf::ScalarNode tlsenabled(tlsEnable_); + Conf::ScalarNode tlsmethod(tlsMethod_); + Conf::ScalarNode timeout(tlsNegotiationTimeoutSec_); +@@ -207,7 +208,7 @@ void SIPAccount::serialize(Conf::YamlEmitter *emitter) + tlsmap.setKeyValue(tlsPortKey, &tlsport); + tlsmap.setKeyValue(certificateKey, &certificate); + tlsmap.setKeyValue(calistKey, &calist); +- tlsmap.setKeyValue(ciphersKey, &ciphers); ++ tlsmap.setKeyValue(ciphersKey, &ciphersNode); + tlsmap.setKeyValue(tlsEnableKey, &tlsenabled); + tlsmap.setKeyValue(methodKey, &tlsmethod); + tlsmap.setKeyValue(timeoutKey, &timeout); +@@ -586,6 +587,18 @@ pjsip_ssl_method SIPAccount::sslMethodStringToPjEnum(const std::string& method) + + void SIPAccount::initTlsConfiguration() + { ++ pj_status_t status; ++ unsigned cipherNum; ++ ++ // Determine the cipher list supported on this machine ++ cipherNum = PJ_ARRAY_SIZE(ciphers); ++ status = pj_ssl_cipher_get_availables(&ciphers.front(), &cipherNum); ++ if (status != PJ_SUCCESS) { ++ ERROR("Could not determine cipher list on this system"); ++ } ++ ++ ciphers.resize(cipherNum); ++ + // TLS listener is unique and should be only modified through IP2IP_PROFILE + tlsListenerPort_ = tlsPort_; + +@@ -596,8 +609,8 @@ void SIPAccount::initTlsConfiguration() + pj_cstr(&tlsSetting_.privkey_file, tlsPrivateKeyFile_.c_str()); + pj_cstr(&tlsSetting_.password, tlsPassword_.c_str()); + tlsSetting_.method = sslMethodStringToPjEnum(tlsMethod_); +- pj_cstr(&tlsSetting_.ciphers, tlsCiphers_.c_str()); +- pj_cstr(&tlsSetting_.server_name, tlsServerName_.c_str()); ++ tlsSetting_.ciphers_num = ciphers.size(); ++ tlsSetting_.ciphers = &ciphers.front(); + + tlsSetting_.verify_server = tlsVerifyServer_ ? PJ_TRUE: PJ_FALSE; + tlsSetting_.verify_client = tlsVerifyClient_ ? PJ_TRUE: PJ_FALSE; +@@ -605,6 +618,9 @@ void SIPAccount::initTlsConfiguration() + + tlsSetting_.timeout.sec = atol(tlsNegotiationTimeoutSec_.c_str()); + tlsSetting_.timeout.msec = atol(tlsNegotiationTimeoutMsec_.c_str()); ++ ++ tlsSetting_.qos_type = PJ_QOS_TYPE_BEST_EFFORT; ++ tlsSetting_.qos_ignore_error = PJ_TRUE; + } + + void SIPAccount::initStunConfiguration() +diff --git a/daemon/src/sip/sipaccount.h b/daemon/src/sip/sipaccount.h +index 076fe60..7c2af13 100644 +--- a/daemon/src/sip/sipaccount.h ++++ b/daemon/src/sip/sipaccount.h +@@ -43,6 +43,8 @@ + #include "pjsip-ua/sip_regc.h" + #include "noncopyable.h" + ++typedef std::vector<pj_ssl_cipher> CipherArray; ++ + namespace Conf { + class YamlEmitter; + class MappingNode; +@@ -478,6 +480,11 @@ class SIPAccount : public Account { + // a sip transport. + pjsip_tls_setting tlsSetting_; + ++ /** ++ * Allocate a static array to be used by pjsip to store the supported ciphers on this system. ++ */ ++ CipherArray ciphers; ++ + // The STUN server name, if applicable for internal use only + pj_str_t stunServerName_; + +-- +1.7.8.6 + diff --git a/net-voip/sflphone/sflphone-1.0.1-r1.ebuild b/net-voip/sflphone/sflphone-1.0.1-r1.ebuild new file mode 100644 index 000000000000..571a94911c00 --- /dev/null +++ b/net-voip/sflphone/sflphone-1.0.1-r1.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-voip/sflphone/sflphone-1.0.1-r1.ebuild,v 1.1 2012/08/11 22:31:59 tetromino Exp $ + +EAPI="3" + +inherit autotools eutils gnome2 + +DESCRIPTION="SFLphone is a robust standards-compliant enterprise softphone, for desktop and embedded systems." +HOMEPAGE="http://www.sflphone.org/" +SRC_URI="http://www.elvanor.net/files/gentoo/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug doxygen gnome gsm networkmanager speex static-libs" + +# USE="-iax" does not work. Upstream problem. + +CDEPEND="dev-cpp/commoncpp2 + dev-libs/dbus-c++ + dev-libs/expat + dev-libs/openssl + dev-libs/libpcre + dev-libs/libyaml + media-libs/alsa-lib + media-libs/celt + media-libs/libsamplerate + media-sound/pulseaudio + net-libs/ccrtp + net-libs/iax + net-libs/libzrtpcpp + >=net-libs/pjsip-1.8.10 + sys-apps/dbus + gsm? ( media-sound/gsm ) + speex? ( media-libs/speex ) + networkmanager? ( net-misc/networkmanager ) + gnome? ( dev-libs/atk + dev-libs/check + dev-libs/log4c + gnome-base/libgnomeui + gnome-base/orbit:2 + gnome-extra/evolution-data-server + media-libs/fontconfig + media-libs/freetype + media-libs/libart_lgpl + net-libs/libsoup:2.4 + net-libs/webkit-gtk:3 + x11-libs/cairo + x11-libs/libICE + x11-libs/libnotify + x11-libs/libSM )" + +DEPEND="${CDEPEND} + >=dev-util/astyle-1.24 + doxygen? ( app-doc/doxygen ) + gnome? ( app-text/gnome-doc-utils )" + +RDEPEND="${CDEPEND}" + +src_prepare() { + # Compilation with glib-2.32, bug #427544 + epatch "${FILESDIR}/${P}-glib-2.32-headers-"{1,2,3}.patch + # Compilation with pjsip-1.14 + epatch "${FILESDIR}/${P}-pjsip-1.14.patch" + + if ! use gnome; then + ewarn + ewarn "No clients selected. Use USE=gnome to get the gnome client." + ewarn "See" + ewarn "https://projects.savoirfairelinux.com/repositories/browse/sflphone/tools/pysflphone" + ewarn "for a python command line client." + ewarn + fi + + sed -i -e 's/unpad=paren/unpad-paren/' astylerc || die "sed failed." + cd daemon + #remove "target" from lib-names, remove dep to shipped pjsip + sed -i -e 's/-$(target)//' \ + -e '/^\t\t\t-L/ d' \ + -e 's!-I$(src)/libs/pjproject!-I/usr/include!' \ + globals.mak || die "sed failed." + #respect CXXFLAGS + sed -i -e 's/CXXFLAGS="-g/CXXFLAGS="-g $CXXFLAGS /' \ + configure.ac || die "sed failed." + rm -r libs/pjproject + eautoreconf + + #TODO: remove shipped utilspp (from curlpp), use system one, see #55185 + + if use gnome; then + cd ../gnome + #fix as-needed + sed -i -e "s/X11_LIBS)/X11_LIBS) -lebook-1.2/" src/Makefile.am || die "sed failed." + eautoreconf + fi +} + +src_configure() { + cd daemon + # $(use_with iax iax2) won't work (compilation failure) + econf --disable-dependency-tracking $(use_with debug) \ + $(use_with gsm) $(use_with networkmanager) $(use_with speex) $(use_enable static-libs static) $(use_enable doxygen) + + if use gnome; then + cd ../gnome + econf $(use_enable static-libs static) + fi +} + +src_compile() { + cd daemon + emake || die "emake failed." + + if use gnome; then + cd ../gnome + emake || die "emake failed." + fi +} + +src_install() { + cd daemon + emake -j1 DESTDIR="${D}" install || die "emake install failed" + dodoc test/sflphonedrc-sample + + if use gnome; then + cd ../gnome + gnome2_src_install + fi +} + +pkg_postinst() { + elog + elog "You need to restart dbus, if you want to access" + elog "sflphoned through dbus." + elog + elog + elog "If you use the command line client" + elog "(https://projects.savoirfairelinux.com/repositories/browse/sflphone/tools/pysflphone)" + elog "extract /usr/share/doc/${PF}/${PN}drc-sample to" + elog "~/.config/${PN}/${PN}drc for example config." + elog + elog + elog "For calls out of your browser have a look in sflphone-callto" + elog "and sflphone-handler. You should consider to install" + elog "the \"Telify\" Firefox addon. See" + elog "https://projects.savoirfairelinux.com/repositories/browse/sflphone/tools" + elog + if use gnome; then + gnome2_pkg_postinst + elog + elog "sflphone-client-gnome: To manage your contacts you need" + elog "mail-client/evolution or access to an evolution-data-server" + elog "connected backend." + elog + fi +} |