Compare commits

..

1 commit

Author SHA1 Message Date
Milan Crha
4abfdcb674 Rebuild for newer evolution-data-server 2015-07-22 15:50:02 +02:00
13 changed files with 695 additions and 1 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/sflphone-1.4.1.tar.gz

View file

@ -1 +0,0 @@
Dead upstream and FTBFS due to pjproject API changes

370
sflphone.spec Normal file
View file

@ -0,0 +1,370 @@
Name: sflphone
Version: 1.4.1
Release: 14%{?dist}
Summary: SIP/IAX2 compatible enterprise-class software phone
License: GPLv3+
URL: http://sflphone.org/
# Note: the number in the URL is different for every release
Source0: https://projects.savoirfairelinux.com/attachments/download/14805/%{name}-%{version}.tar.gz
# Install icon to hicolor/scalable/apps
Patch0: sflphone_icondir.patch
# Unbundle pjproject
Patch1: sflphone_unbundle.patch
%if 0%{?fedora} >= 22
# ZRTP API changes
Patch2: sflphone_zrtp.patch
# Workaround for bad #includes in zrtp headers, see https://github.com/wernerd/ZRTPCPP/pull/19
Patch3: sflphone_zrtp-includes.patch
%endif
# Disable video support in kde interface (video is not available without ffmpeg)
Patch4: sflphone_novideo.patch
# Fix gcc5 FTBFS issues
Patch5: sflphone_gcc5.patch
# Install sflphoned in libexecdir
Patch6: sflphone_sflphoned-dir.patch
# Fix incorrect conditional in SipTransport::createTlsListener
Patch7: sflphone_tls.patch
# Fix memory corruption due to keeping pointer to local variable after scope ended
Patch8: sflphone_memory-corruption.patch
# Because of pjproject arm endianness detection issues
%if 0%{?fedora} < 22
ExcludeArch: %{arm}
%endif
BuildRequires: alsa-lib-devel
BuildRequires: ccrtp-devel
BuildRequires: check-devel
BuildRequires: clutter-gtk-devel
BuildRequires: cmake
BuildRequires: dbus-c++-devel
BuildRequires: desktop-file-utils
BuildRequires: expat-devel
BuildRequires: evolution-data-server-devel
BuildRequires: gettext
BuildRequires: gnome-common
BuildRequires: gnome-doc-utils
BuildRequires: gnutls-devel
BuildRequires: gsm-devel
%if 0%{?fedora} >= 22
BuildRequires: iaxclient-libiax-devel
%endif
BuildRequires: ilbc-devel
BuildRequires: intltool
BuildRequires: kdepimlibs-devel
BuildRequires: libnotify-devel
BuildRequires: libsamplerate-devel
BuildRequires: libsexy-devel
BuildRequires: libsndfile-devel
BuildRequires: libtool
BuildRequires: libyaml-devel
BuildRequires: libzrtpcpp-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel
BuildRequires: perl-podlators
BuildRequires: pjproject-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: rarian-compat
BuildRequires: speex-devel
%if 0%{?fedora} >= 22
BuildRequires: speexdsp-devel
%endif
BuildRequires: systemd-devel
BuildRequires: yelp-tools
%description
SFLphone is a robust standards-compliant enterprise software phone,
for desktop and embedded systems. It is designed to handle
several hundreds of calls a day. It supports both SIP and IAX2
protocols.
%package common
Summary: Common files for SFLPhone
Requires: %{name}-daemon = %{version}-%{release}
BuildArch: noarch
%description common
SFLphone is a robust standards-compliant enterprise software phone,
for desktop and embedded systems. It is designed to handle
several hundreds of calls a day. It supports both SIP and IAX2
protocols.
This package includes common files for SFLPhone.
%package daemon
Summary: SFLPhone daemon
Requires: %{name}-common = %{version}-%{release}
Requires: dbus%{?_isa}
%if 0%{?fedora} < 22
Provides: bundled(libiax2) = 0.2.3
%endif
Obsoletes: %{name}-libs < 1.4.1-9
%description daemon
SFLphone is a robust standards-compliant enterprise software phone,
for desktop and embedded systems. It is designed to handle
several hundreds of calls a day. It supports both SIP and IAX2
protocols.
This package includes the SFLPhone daemon.
%package gnome
Summary: SIP/IAX2 compatible enterprise-class software phone
Requires: %{name}-daemon%{?_isa} = %{version}-%{release}
Requires: hicolor-icon-theme
%description gnome
SFLphone is a robust standards-compliant enterprise software phone,
for desktop and embedded systems. It is designed to handle
several hundreds of calls a day. It supports both SIP and IAX2
protocols.
This package includes the Gnome client.
%package gnome-plugins
Summary: Plugins (address book) for SFLphone
Requires: %{name}-gnome%{?_isa} = %{version}-%{release}
%description gnome-plugins
SFLphone is a robust standards-compliant enterprise software phone,
for desktop and embedded systems. It is designed to handle
several hundreds of calls a day. It supports both SIP and IAX2
protocols.
This package includes the address book plugin.
%package kde
Summary: KDE interface for SFLphone
Requires: %{name}-daemon%{?_isa} = %{version}-%{release}
Requires: hicolor-icon-theme
Requires: kde-filesystem
%description kde
SFLphone is a robust standards-compliant enterprise software phone,
for desktop and embedded systems. It is designed to handle
several hundreds of calls a day. It supports both SIP and IAX2
protocols.
This package includes the KDE client.
%package kde-devel
Summary: Development files for the KDE interface for SFLphone
Requires: %{name}-kde%{?_isa} = %{version}-%{release}
%description kde-devel
SFLphone is a robust standards-compliant enterprise software phone,
for desktop and embedded systems. It is designed to handle
several hundreds of calls a day. It supports both SIP and IAX2
protocols.
This package includes the development files for the KDE client.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1
%patch1 -p1
%if 0%{?fedora} >= 22
%patch2 -p1
%patch3 -p1
%endif
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
# Unbundle bundled libraries
%if 0%{?fedora} >= 22
rm -rf daemon/libs
%else
rm -rf daemon/libs/pjproject-2.2.1
%endif
# Fix FSF addresses
find . -type f -print0 | xargs -0 sed -i 's|675 Mass Ave, Cambridge, MA 02139|51 Franklin Street, Fifth Floor, Boston, MA 02110-1301|'
%build
### Compile the daemon ###
pushd daemon
./autogen.sh
LDFLAGS="%{__global_ldflags} -Wl,--as-needed" %configure --disable-video
make %{?_smp_mflags} V=1
make doc
popd
### Compile gnome client ###
pushd gnome
./autogen.sh
LDFLAGS="%{__global_ldflags} -Wl,--as-needed" %configure --disable-video
make %{?_smp_mflags} V=1
popd
### Compile plugins ###
pushd plugins
./autogen.sh
LDFLAGS="%{__global_ldflags} -Wl,--as-needed" %configure
make %{?_smp_mflags} V=1
popd
### Compile kde client ###
mkdir kde/build
pushd kde/build
LDFLAGS="%{__global_ldflags} -Wl,--as-needed" %cmake ..
make %{?_smp_mflags} VERBOSE=1
popd
%install
%make_install -C daemon
%make_install -C gnome
%make_install -C plugins
%make_install -C kde/build
%find_lang sflphone --with-gnome
%find_lang sflphone-client-kde --with-kde -f sflphone-client-kde
%find_lang sflphone-kde --with-kde -f sflphone-kde
# Fix error: file contains group "Protocol", but groups extending the format should start with "X-"
sed -i 's|\[Protocol\]|\[X-Protocol\]|' %{buildroot}%{_datadir}/applications/kde4/sflphone-client-kde.desktop
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
# Fix gzipped-svg-icon
(
cd %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
zcat sflphone-client-kde.svgz > sflphone-client-kde.svg && rm -f sflphone-client-kde.svgz
)
%post gnome
/usr/bin/update-desktop-database &> /dev/null || :
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%postun gnome
/usr/bin/update-desktop-database &> /dev/null || :
if [ $1 -eq 0 ] ; then
/usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
%posttrans gnome
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
/usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%post kde
/usr/sbin/ldconfig
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%postun kde
/usr/sbin/ldconfig
if [ $1 -eq 0 ] ; then
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi
%posttrans kde
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files common
%license COPYING
%doc daemon/AUTHORS NEWS README
%{_datadir}/%{name}/
%files daemon
%{_libdir}/%{name}/
%{_datadir}/dbus-1/services/org.%{name}.SFLphone.service
%exclude %{_libdir}/%{name}/plugins/
%{_mandir}/man1/sflphoned.1.gz*
%{_libexecdir}/sflphoned
%files gnome -f sflphone.lang
%{_bindir}/sflphone
%{_bindir}/sflphone-client-gnome
%{_datadir}/applications/%{name}.desktop
%{_datadir}/glib-2.0/schemas/org.sflphone.SFLphone.gschema.xml
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_mandir}/man1/sflphone.1.gz
%{_mandir}/man1/sflphone-client-gnome.1.gz
%files gnome-plugins
%{_libdir}/%{name}/plugins/
%files kde -f sflphone-client-kde -f sflphone-kde
%{_bindir}/sflphone-client-kde
%{_datadir}/applications/kde4/sflphone-client-kde.desktop
%{_datadir}/config.kcfg/sflphone-client-kde.kcfg
%{_datadir}/icons/hicolor/*/apps/sflphone-client-kde*
%{_datadir}/kde4/apps/sflphone-client-kde
%{_libdir}/libksflphone.so.*
%{_libdir}/libqtsflphone.so.*
%{_mandir}/man1/*kde*
%files kde-devel
%{_includedir}/ksflphone/
%{_includedir}/qtsflphone/
%{_libdir}/libksflphone.so
%{_libdir}/libqtsflphone.so
%changelog
* Wed Jul 22 2015 Milan Crha <mcrha@redhat.com> - 1.4.1-14
- Rebuild for newer evolution-data-server
* Thu Jun 25 2015 Sandro Mani <manisandro@gmail.com> - 1.4.1-13
- Add patch to fix memory corruption issues (#1222301)
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri May 15 2015 Sandro Mani <manisandro@gmail.com> - 1.4.1-10
- Add patch to fix incorrect conditional in SipTransport::createTlsListener
* Wed May 06 2015 Sandro Mani <manisandro@gmail.com> - 1.4.1-9
- Install sflphoned in /usr/libexec
- Rename sflphone-libs -> sflphone-daemon
* Tue Apr 28 2015 Milan Crha <mcrha@redhat.com> - 1.4.1-8
- Rebuild for newer evolution-data-server
* Sat Apr 18 2015 Sandro Mani <manisandro@gmail.com> - 1.4.1-7
- Pass --disable-video to Gnome client configure
* Tue Feb 17 2015 Sandro Mani <manisandro@gmail.com> - 1.4.1-6
- Rebuild (evolution-data-server)
* Tue Jan 27 2015 Sandro Mani <manisandro@gmail.com> - 1.4.1-5
- Put org.sflphone.SFLphone.service in -libs package (it contains an arch specific path)
* Tue Jan 27 2015 Sandro Mani <manisandro@gmail.com> - 1.4.1-4
- Remove -Wl,--as-needed, makes the application crash with -Wl,-z,relro
* Mon Jan 26 2015 Sandro Mani <manisandro@gmail.com> - 1.4.1-3
- Set %%{__global_ldflags} in LDFLAGS override
* Thu Jan 22 2015 Sandro Mani <manisandro@gmail.com> - 1.4.1-2
- Use %%license
- Add Requires: dbus to sflphone-common
- Fixed ownership of %%{_datadir}/icons/hicolor, added Requires: hicolor-icon-theme
- Fixed ownership of %%{_datadir}/applications/kde4/
- Require sflphone-libs in sflphone-kde, sflphone-gnome, not sflphone-common
- Fix desktop file
- Add LDFLAGS="-Wl,--as-needed"
- Fix FSF addresses
* Sun Dec 14 2014 Sandro Mani <manisandro@gmail.com> - 1.4.1-1
- 1.4.1
* Sun Aug 10 2014 Sandro Mani <manisandro@gmail.com> - 1.4.0-1
- Initial package

23
sflphone_gcc5.patch Normal file
View file

@ -0,0 +1,23 @@
diff -rupN sflphone-1.4.1/daemon/src/ip_utils.h sflphone-1.4.1-new/daemon/src/ip_utils.h
--- sflphone-1.4.1/daemon/src/ip_utils.h 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/ip_utils.h 2015-02-21 23:27:06.631839605 +0100
@@ -33,6 +33,7 @@
#define IP_UTILS_H_
#include <pjlib.h>
+#undef isblank // macro collides with symbol...
#include <ccrtp/channel.h> // For ost::IPV*Address
#include <netinet/ip.h>
diff -rupN sflphone-1.4.1/daemon/src/sip/sipaccount.cpp sflphone-1.4.1-new/daemon/src/sip/sipaccount.cpp
--- sflphone-1.4.1/daemon/src/sip/sipaccount.cpp 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/sip/sipaccount.cpp 2015-02-21 23:42:40.570974842 +0100
@@ -107,7 +107,7 @@ SIPAccount::SIPAccount(const std::string
, tlsPassword_()
, tlsMethod_("TLSv1")
, tlsCiphers_()
- , tlsServerName_(0, 0)
+ , tlsServerName_()
, tlsVerifyServer_(false)
, tlsVerifyClient_(true)
, tlsRequireClientCertificate_(true)

9
sflphone_icondir.patch Normal file
View file

@ -0,0 +1,9 @@
diff -rupN sflphone-1.4.0/gnome/pixmaps/Makefile.am sflphone-1.4.0-new/gnome/pixmaps/Makefile.am
--- sflphone-1.4.0/gnome/pixmaps/Makefile.am 2014-07-18 22:45:09.000000000 +0200
+++ sflphone-1.4.0-new/gnome/pixmaps/Makefile.am 2014-08-10 15:07:48.842721079 +0200
@@ -1,4 +1,4 @@
-icondir = $(datadir)/pixmaps
+icondir = $(datadir)/icons/hicolor/scalable/apps
icon_DATA = sflphone.svg

View file

@ -0,0 +1,94 @@
diff -rupN sflphone-1.4.1/daemon/src/sip/sipaccount.cpp sflphone-1.4.1-new/daemon/src/sip/sipaccount.cpp
--- sflphone-1.4.1/daemon/src/sip/sipaccount.cpp 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/sip/sipaccount.cpp 2015-06-07 00:15:17.460394766 +0200
@@ -1076,10 +1076,20 @@ void SIPAccount::initTlsConfiguration()
// TLS listener is unique and should be only modified through IP2IP_PROFILE
pjsip_tls_setting_default(&tlsSetting_);
- pj_cstr(&tlsSetting_.ca_list_file, tlsCaListFile_.c_str());
- pj_cstr(&tlsSetting_.cert_file, tlsCertificateFile_.c_str());
- pj_cstr(&tlsSetting_.privkey_file, tlsPrivateKeyFile_.c_str());
- pj_cstr(&tlsSetting_.password, tlsPassword_.c_str());
+ pj_pool_t *pool = link_.getMemoryPool();
+
+ pj_str_t tlsCaListFile_str = pj_str((char*) tlsCaListFile_.c_str());
+ pj_strdup(pool, &tlsSetting_.ca_list_file, &tlsCaListFile_str);
+
+ pj_str_t tlsCertificateFile_str = pj_str((char*) tlsCertificateFile_.c_str());
+ pj_strdup(pool, &tlsSetting_.cert_file, &tlsCertificateFile_str);
+
+ pj_str_t tlsPrivateKeyFile_str = pj_str((char*) tlsPrivateKeyFile_.c_str());
+ pj_strdup(pool, &tlsSetting_.privkey_file, &tlsPrivateKeyFile_str);
+
+ pj_str_t tlsPassword_str = pj_str((char*) tlsPassword_.c_str());
+ pj_strdup(pool, &tlsSetting_.password, &tlsPassword_str);
+
tlsSetting_.method = sslMethodStringToPjEnum(tlsMethod_);
tlsSetting_.ciphers_num = ciphers_.size();
tlsSetting_.ciphers = &ciphers_.front();
@@ -1451,6 +1461,8 @@ void SIPAccount::setCredentials(const st
size_t i = 0;
+ pj_pool_t *pool = link_.getMemoryPool();
+
for (const auto &item : credentials_) {
map<string, string>::const_iterator val = item.find(CONFIG_ACCOUNT_PASSWORD);
const std::string password = val != item.end() ? val->second : "";
@@ -1461,17 +1473,25 @@ void SIPAccount::setCredentials(const st
val = item.find(CONFIG_ACCOUNT_USERNAME);
if (val != item.end())
- cred_[i].username = pj_str((char*) val->second.c_str());
+ {
+ pj_str_t username_str = pj_str((char*) val->second.c_str());
+ pj_strdup(pool, &cred_[i].username, &username_str);
+ }
- cred_[i].data = pj_str((char*) password.c_str());
+ pj_str_t password_str = pj_str((char*) password.c_str());
+ pj_strdup(pool, &cred_[i].data, &password_str);
val = item.find(CONFIG_ACCOUNT_REALM);
if (val != item.end())
- cred_[i].realm = pj_str((char*) val->second.c_str());
+ {
+ pj_str_t realm_str = pj_str((char*) val->second.c_str());
+ pj_strdup(pool, &cred_[i].realm, &realm_str);
+ }
cred_[i].data_type = dataType;
- cred_[i].scheme = pj_str((char*) "digest");
+ pj_str_t scheme_str = pj_str((char*) "digest");
+ pj_strdup(pool, &cred_[i].scheme, &scheme_str);
++i;
}
}
diff -rupN sflphone-1.4.1/daemon/src/sip/sipvoiplink.cpp sflphone-1.4.1-new/daemon/src/sip/sipvoiplink.cpp
--- sflphone-1.4.1/daemon/src/sip/sipvoiplink.cpp 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/sip/sipvoiplink.cpp 2015-06-03 00:27:56.528068793 +0200
@@ -508,6 +508,11 @@ pjsip_module * SIPVoIPLink::getMod()
return &mod_ua_;
}
+pj_pool_t * SIPVoIPLink::getMemoryPool() const
+{
+ return pool_;
+}
+
SIPVoIPLink::SIPVoIPLink() : sipTransport(), sipAccountMap_(),
sipCallMapMutex_(), sipCallMap_()
#ifdef SFL_VIDEO
diff -rupN sflphone-1.4.1/daemon/src/sip/sipvoiplink.h sflphone-1.4.1-new/daemon/src/sip/sipvoiplink.h
--- sflphone-1.4.1/daemon/src/sip/sipvoiplink.h 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/sip/sipvoiplink.h 2015-06-03 00:27:35.439631448 +0200
@@ -302,6 +302,8 @@ class SIPVoIPLink : public VoIPLink {
int getModId();
pjsip_endpoint * getEndpoint();
pjsip_module * getMod();
+ pj_pool_t * getMemoryPool() const;
+
private:
NON_COPYABLE(SIPVoIPLink);

11
sflphone_novideo.patch Normal file
View file

@ -0,0 +1,11 @@
diff -rupN sflphone-1.4.1/kde/src/CMakeLists.txt sflphone-1.4.1-new/kde/src/CMakeLists.txt
--- sflphone-1.4.1/kde/src/CMakeLists.txt 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/kde/src/CMakeLists.txt 2014-12-27 21:29:30.736654122 +0100
@@ -7,6 +7,7 @@ if(POLICY CMP0022)
endif(POLICY CMP0022)
# set(CMAKE_AUTOMOC ON)
+set(ENABLE_VIDEO false)
FIND_PACKAGE ( KDE4 REQUIRED )

View file

@ -0,0 +1,22 @@
diff -rupN sflphone-1.4.1/daemon/src/client/dbus/Makefile.am sflphone-1.4.1-new/daemon/src/client/dbus/Makefile.am
--- sflphone-1.4.1/daemon/src/client/dbus/Makefile.am 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/client/dbus/Makefile.am 2015-05-06 14:35:15.551521795 +0200
@@ -70,7 +70,7 @@ service_DATA = $(service_in_files:.servi
# Rule to make the service file with bindir expanded
$(service_DATA): $(service_in_files) Makefile
- sed -e "s|libexec|$(libdir)/sflphone|" $<> $@
+ sed -e "s|libexec|$(libexecdir)|" $<> $@
EXTRA_DIST = README $(service_in_files) \
callmanager-introspec.xml \
diff -rupN sflphone-1.4.1/daemon/src/Makefile.am sflphone-1.4.1-new/daemon/src/Makefile.am
--- sflphone-1.4.1/daemon/src/Makefile.am 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/Makefile.am 2015-05-06 14:31:46.556525919 +0200
@@ -1,6 +1,5 @@
include ../globals.mak
-libexecdir=$(libdir)/sflphone
libexec_PROGRAMS = sflphoned
if SFL_VIDEO

12
sflphone_tls.patch Normal file
View file

@ -0,0 +1,12 @@
diff -rupN sflphone-1.4.1/daemon/src/sip/siptransport.cpp sflphone-1.4.1-new/daemon/src/sip/siptransport.cpp
--- sflphone-1.4.1/daemon/src/sip/siptransport.cpp 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/sip/siptransport.cpp 2015-05-15 16:31:17.575239534 +0200
@@ -254,7 +254,7 @@ SipTransport::createTlsListener(SIPAccou
listeningAddress.setPort(account.getTlsListenerPort());
- RETURN_IF_FAIL(not listeningAddress, nullptr, "Could not determine IP address for this transport");
+ RETURN_IF_FAIL(listeningAddress, nullptr, "Could not determine IP address for this transport");
DEBUG("Creating Listener on %s...", listeningAddress.toString(true).c_str());
DEBUG("CRT file : %s", account.getTlsSetting()->ca_list_file.ptr);

118
sflphone_unbundle.patch Normal file
View file

@ -0,0 +1,118 @@
diff -rupN sflphone-1.4.1/daemon/configure.ac sflphone-1.4.1-new/daemon/configure.ac
--- sflphone-1.4.1/daemon/configure.ac 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/configure.ac 2014-12-13 23:38:33.295585251 +0100
@@ -431,8 +431,6 @@ AS_IF([test "x$enable_debug" = "xyes"],
dnl What Makefiles to generate
AC_CONFIG_FILES([Makefile \
- libs/Makefile \
- libs/iax2/Makefile \
src/Makefile \
src/sip/Makefile \
src/im/Makefile \
@@ -460,5 +458,4 @@ AC_CONFIG_FILES([Makefile \
# Go!
AC_OUTPUT
-AC_CONFIG_SUBDIRS([libs/pjproject-2.2.1])
-AC_MSG_NOTICE([[Configuration done! Please make sure that pjsip library (libs/pjproject-2.2.1) has already been compiled. Run `make' to build the software.]])
+AC_MSG_NOTICE([[Configuration done! Run `make' to build the software.]])
diff -rupN sflphone-1.4.1/daemon/globals.mak sflphone-1.4.1-new/daemon/globals.mak
--- sflphone-1.4.1/daemon/globals.mak 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/globals.mak 2014-12-13 23:38:33.296585270 +0100
@@ -7,18 +7,9 @@ sflplugindir=$(sfllibdir)/plugins
ASTYLERC="$(top_srcdir)/../astylerc"
indent="/usr/bin/astyle"
-PJPROJECT_DIR=pjproject-2.2.1
# for pjsip
-include $(src)/libs/$(PJPROJECT_DIR)/build.mak
-PJSIP_LIBS=$(APP_LDFLAGS) $(APP_LDLIBS)
-
-SIP_CFLAGS=-I$(src)/libs/$(PJPROJECT_DIR)/pjsip/include \
- -I$(src)/libs/$(PJPROJECT_DIR)/pjlib/include \
- -I$(src)/libs/$(PJPROJECT_DIR)/pjlib-util/include \
- -I$(src)/libs/$(PJPROJECT_DIR)/pjmedia/include \
- -I$(src)/libs/$(PJPROJECT_DIR)/pjnath/include \
- -DPJ_AUTOCONF=1
+PJSIP_LIBS=-lpj -lpjsip -lpjlib-util -lpjmedia -lpjsip-ua -lpjnath -lpjsip-simple
if BUILD_SPEEX
SPEEXCODEC=-DHAVE_SPEEX_CODEC
@@ -34,13 +25,9 @@ endif
# Preprocessor flags
AM_CPPFLAGS = \
- -I$(src)/libs \
- -I$(src)/libs/iax2 \
- -I$(src)/libs/$(PJPROJECT_DIR) \
-I$(src)/src \
-I$(src)/src/config \
-I$(src)/test \
- $(SIP_CFLAGS) \
@DBUSCPP_CFLAGS@ \
-DPREFIX=\"$(prefix)\" \
-DPROGSHAREDIR=\"${datadir}/sflphone\" \
diff -rupN sflphone-1.4.1/daemon/Makefile.am sflphone-1.4.1-new/daemon/Makefile.am
--- sflphone-1.4.1/daemon/Makefile.am 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/Makefile.am 2014-12-13 23:38:33.296585270 +0100
@@ -19,7 +19,7 @@ unittest:
endif
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = libs src ringtones man $(TESTS_DIR) doc
+SUBDIRS = src ringtones man $(TESTS_DIR) doc
EXTRA_DIST = m4/libtool.m4 \
m4/lt~obsolete.m4 \
diff -rupN sflphone-1.4.1/daemon/src/iax/iaxcall.cpp sflphone-1.4.1-new/daemon/src/iax/iaxcall.cpp
--- sflphone-1.4.1/daemon/src/iax/iaxcall.cpp 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/iax/iaxcall.cpp 2014-12-13 23:38:33.297585288 +0100
@@ -31,8 +31,8 @@
#include <cstring>
#include <sys/socket.h>
-#include <iax-client.h>
-#include <frame.h>
+#include <iax/iax-client.h>
+#include <iax/frame.h>
#include "iaxcall.h"
#include "logger.h"
diff -rupN sflphone-1.4.1/daemon/src/iax/iaxvoiplink.h sflphone-1.4.1-new/daemon/src/iax/iaxvoiplink.h
--- sflphone-1.4.1/daemon/src/iax/iaxvoiplink.h 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/iax/iaxvoiplink.h 2014-12-13 23:38:33.297585288 +0100
@@ -45,7 +45,7 @@
#include "noncopyable.h"
#include "audio/resampler.h"
-#include <iax-client.h>
+#include <iax/iax-client.h>
#include <memory>
diff -rupN sflphone-1.4.1/daemon/src/im/instant_messaging.h sflphone-1.4.1-new/daemon/src/im/instant_messaging.h
--- sflphone-1.4.1/daemon/src/im/instant_messaging.h 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/im/instant_messaging.h 2014-12-13 23:38:33.298585307 +0100
@@ -48,7 +48,7 @@
#include "config.h"
#if HAVE_IAX
-#include <iax-client.h>
+#include <iax/iax-client.h>
#endif
#define EMPTY_MESSAGE pj_str((char*)"")
diff -rupN sflphone-1.4.1/daemon/src/Makefile.am sflphone-1.4.1-new/daemon/src/Makefile.am
--- sflphone-1.4.1/daemon/src/Makefile.am 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/Makefile.am 2014-12-13 23:38:33.298585307 +0100
@@ -18,7 +18,7 @@ endif
if USE_IAX
IAX_SUBDIR=iax
IAX_CXXFLAG=-DUSE_IAX
-IAX_LIB=./iax/libiaxlink.la $(top_builddir)/libs/iax2/libiax2.la
+IAX_LIB=./iax/libiaxlink.la -liax
endif
if USE_NETWORKMANAGER

View file

@ -0,0 +1,22 @@
diff -rupN sflphone-1.4.1/daemon/src/audio/audiortp/Makefile.am sflphone-1.4.1-new/daemon/src/audio/audiortp/Makefile.am
--- sflphone-1.4.1/daemon/src/audio/audiortp/Makefile.am 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/audio/audiortp/Makefile.am 2014-12-27 21:56:46.320140246 +0100
@@ -6,6 +6,8 @@ if BUILD_ZRTP
SFL_ZRTP_SRC=audio_zrtp_session.h audio_zrtp_session.cpp zrtp_session_callback.cpp zrtp_session_callback.h
endif
+libaudiortp_la_CXXFLAGS = -I/usr/include/libzrtpcpp
+
libaudiortp_la_SOURCES = \
$(SFL_ZRTP_SRC) \
audio_rtp_session.cpp \
diff -rupN sflphone-1.4.1/daemon/src/client/Makefile.am sflphone-1.4.1-new/daemon/src/client/Makefile.am
--- sflphone-1.4.1/daemon/src/client/Makefile.am 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/client/Makefile.am 2014-12-27 21:56:23.078730082 +0100
@@ -37,5 +37,6 @@ libclient_la_SOURCES = callmanager.cpp
$(STUB_SRC)
libclient_la_CXXFLAGS = -I./ \
+ -I/usr/include/libzrtpcpp \
-DPREFIX=\"$(prefix)\" \
-DPROGSHAREDIR=\"${datadir}/sflphone\"

12
sflphone_zrtp.patch Normal file
View file

@ -0,0 +1,12 @@
diff -rupN sflphone-1.4.1/daemon/src/audio/audiortp/audio_rtp_factory.cpp sflphone-1.4.1-new/daemon/src/audio/audiortp/audio_rtp_factory.cpp
--- sflphone-1.4.1/daemon/src/audio/audiortp/audio_rtp_factory.cpp 2014-09-19 18:09:33.000000000 +0200
+++ sflphone-1.4.1-new/daemon/src/audio/audiortp/audio_rtp_factory.cpp 2014-12-14 16:05:08.640248867 +0100
@@ -109,7 +109,7 @@ void AudioRtpFactory::initSession()
// TODO: be careful with that. The hello hash is computed asynchronously. Maybe it's
// not even available at that point.
if (helloHashEnabled_)
- call_->getLocalSDP()->setZrtpHash(static_cast<AudioZrtpSession *>(rtpSession_.get())->getHelloHash());
+ call_->getLocalSDP()->setZrtpHash(static_cast<AudioZrtpSession *>(rtpSession_.get())->getHelloHash(0));
break;
}
#endif

1
sources Normal file
View file

@ -0,0 +1 @@
2092fb6ebcdfdf4f0f45da4738b1be8d sflphone-1.4.1.tar.gz