summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/cython/PKGBUILD6
-rw-r--r--community/dbmail/PKGBUILD9
-rw-r--r--community/dispcalgui/PKGBUILD15
-rw-r--r--community/libexosip2/PKGBUILD6
-rw-r--r--community/libosip2/PKGBUILD6
-rw-r--r--community/libvirt-glib/PKGBUILD6
-rw-r--r--community/linphone/PKGBUILD19
-rw-r--r--community/linphone/port-to-exosip-4.patch2800
-rw-r--r--community/lz4/PKGBUILD30
-rw-r--r--community/mayavi/PKGBUILD6
-rw-r--r--community/mupdf/PKGBUILD10
-rw-r--r--community/mythplugins/PKGBUILD8
-rw-r--r--community/mythtv/PKGBUILD8
-rw-r--r--community/passenger/PKGBUILD14
-rw-r--r--community/python-bsddb/PKGBUILD6
-rw-r--r--community/python-cchardet/PKGBUILD8
-rw-r--r--community/python-mpi4py/PKGBUILD6
-rw-r--r--community/python-numexpr/PKGBUILD6
-rw-r--r--community/python-psutil/PKGBUILD6
-rw-r--r--community/python-pyopencl/PKGBUILD8
-rw-r--r--community/python-sqlalchemy/PKGBUILD8
-rw-r--r--community/python2-fonttools/PKGBUILD6
-rw-r--r--community/python2-traits/PKGBUILD6
-rw-r--r--community/qcad/PKGBUILD6
-rw-r--r--community/qcad/QCad.desktop2
-rw-r--r--community/ubuntuone-client/PKGBUILD6
-rw-r--r--community/wesnoth/PKGBUILD18
-rw-r--r--core/kbd/PKGBUILD18
-rw-r--r--core/perl/PKGBUILD6
-rw-r--r--extra/gnome-chess/PKGBUILD6
-rw-r--r--extra/gnome-mines/PKGBUILD6
-rw-r--r--extra/goffice/PKGBUILD6
-rw-r--r--extra/gupnp/PKGBUILD6
-rw-r--r--extra/libgtop/PKGBUILD6
-rw-r--r--extra/libwnck3/PKGBUILD6
-rw-r--r--extra/net-snmp/PKGBUILD6
-rw-r--r--extra/python-markupsafe/PKGBUILD6
-rwxr-xr-xextra/python-numpy/PKGBUILD6
-rw-r--r--extra/swell-foop/PKGBUILD6
-rw-r--r--libre/claws-mail-libre/PKGBUILD6
-rw-r--r--libre/file-roller-libre/PKGBUILD6
-rw-r--r--libre/mcomix-libre/PKGBUILD6
-rw-r--r--libre/tp_smapi-libre-lts/PKGBUILD2
-rwxr-xr-xlibre/unar/PKGBUILD6
-rw-r--r--libre/usermin/PKGBUILD6
-rw-r--r--libre/webmin/PKGBUILD6
-rw-r--r--nonprism/bitlbee-nonprism/PKGBUILD18
-rw-r--r--nonprism/choqok-nonprism/PKGBUILD61
-rw-r--r--nonprism/choqok-nonprism/choqok.install11
-rw-r--r--nonprism/claws-mail-libre-nonprism/PKGBUILD12
-rw-r--r--nonprism/claws-mail-libre-nonprism/claws-mail.install16
-rw-r--r--nonprism/empathy-nonprism/PKGBUILD6
-rw-r--r--nonprism/evolution-data-server-nonprism/PKGBUILD4
-rw-r--r--nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD6
-rw-r--r--nonprism/kdepim-runtime-nonprism/PKGBUILD2
-rw-r--r--pcr/cjdns-git/PKGBUILD77
-rw-r--r--pcr/cjdns-git/cjdns-git.install21
-rw-r--r--pcr/monkeysign/PKGBUILD24
-rw-r--r--pcr/monkeysphere/PKGBUILD23
-rw-r--r--pcr/python2-qrencode/PKGBUILD29
-rw-r--r--pcr/tomb/tomb.install (renamed from social/tomb/tomb.install)0
-rw-r--r--pcr/zbar/PKGBUILD40
-rw-r--r--pcr/zbar/v4l1.patch24
-rw-r--r--social/tomb/PKGBUILD30
64 files changed, 3340 insertions, 221 deletions
diff --git a/community/cython/PKGBUILD b/community/cython/PKGBUILD
index 6924be749..1f261252b 100644
--- a/community/cython/PKGBUILD
+++ b/community/cython/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 91947 2013-05-30 09:41:33Z spupykin $
+# $Id: PKGBUILD 96075 2013-08-20 06:32:15Z lcarlier $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Igor Scabini <furester @ gmail.com>
pkgname=('cython' 'cython2')
pkgbase=cython
pkgver=0.19.1
-pkgrel=1
+pkgrel=2
pkgdesc="C-Extensions for Python "
arch=(i686 x86_64)
url="http://www.cython.org"
license=('APACHE')
-makedepends=('python-distribute' 'python2-distribute')
+makedepends=('python-setuptools' 'python2-setuptools')
source=("http://cython.org/release/Cython-$pkgver.tar.gz")
md5sums=('df4cfb2b8e3345272e3fc451b76bd630')
diff --git a/community/dbmail/PKGBUILD b/community/dbmail/PKGBUILD
index f86eb43b9..f32cae085 100644
--- a/community/dbmail/PKGBUILD
+++ b/community/dbmail/PKGBUILD
@@ -1,16 +1,15 @@
-# $Id: PKGBUILD 94954 2013-08-01 13:33:14Z spupykin $
+# $Id: PKGBUILD 96159 2013-08-20 15:00:35Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Sebastian Faltoni <sebastian.faltoni@gmail.com>
pkgname=dbmail
-pkgver=3.1.2
+pkgver=3.1.3
pkgrel=1
pkgdesc="Fast and scalable sql based mail services"
arch=('i686' 'x86_64')
depends=('gmime' 'libzdb' 'mhash' 'libevent')
makedepends=('asciidoc' 'xmlto' 'docbook-xsl' 'docbook-xml' 'postgresql-libs>=8.4.1'
- 'sqlite' 'libmysqlclient' 'libldap>=2.4.18' 'libsieve'
- 'git')
+ 'sqlite' 'libmysqlclient' 'libldap>=2.4.18' 'libsieve')
optdepends=('libldap: for LDAP authentication'
'libsieve: for dbmail-sieve'
'python2-mysql2pgsql: migrate from MySQL to PostreSQL')
@@ -31,7 +30,7 @@ source=(http://www.dbmail.org/download/3.1/dbmail-${pkgver/_/-}.tar.gz
dbmail-lmtpd.xinetd
dbmail-pop3d.xinetd
dbmail-timsieved.xinetd)
-md5sums=('905bf87cad4336e161b3d0d9cd5311bd'
+md5sums=('0cce94b687226dde3cbcbaddc8e5a76c'
'c4b5793c5422b62a675d4c66ff7e9300'
'5a6297cb03c8d0b424f978ea1d7402de'
'070db88538af9833f003f4cb516d337b'
diff --git a/community/dispcalgui/PKGBUILD b/community/dispcalgui/PKGBUILD
index 974ee5eb0..b8b5b2596 100644
--- a/community/dispcalgui/PKGBUILD
+++ b/community/dispcalgui/PKGBUILD
@@ -1,31 +1,30 @@
-# $Id: PKGBUILD 94958 2013-08-01 14:04:59Z tredaelli $
+# $Id: PKGBUILD 96076 2013-08-20 06:32:16Z lcarlier $
# Maintainer: Timothy Redaelli <timothy.redaelli@gmail.com>
# Contributor: Cedric Girard <girard.cedric@gmail.com>
# Contributor: foxbunny <bg.branko@gmail.com>
pkgname=dispcalgui
pkgver=1.2.7.0
-pkgrel=1
+pkgrel=2
pkgdesc="A GUI frontend for several utilities from the open source color management system Argyll CMS"
arch=('i686' 'x86_64')
url="http://hoech.net/dispcalGUI/"
license=('GPL3')
-makedepends=('libx11' 'libxrandr' 'libxinerama' 'libxxf86vm' 'setuptools' 'xdg-utils')
+makedepends=('libx11' 'libxrandr' 'libxinerama' 'libxxf86vm' 'python2-setuptools' 'xdg-utils')
depends=('argyllcms' 'wxpython' 'hicolor-icon-theme' 'desktop-file-utils' 'python2-numpy')
optdepends=('gksu: For running as root')
install=${pkgname}.install
-
source=("http://downloads.sourceforge.net/project/dispcalgui/release/${pkgver}/dispcalGUI-${pkgver}.tar.gz")
-
md5sums=('a0ff80ee5e560fbe208c12189e00c470')
-package() {
+prepare() {
cd "${srcdir}"/dispcalGUI-${pkgver}
-
find . -name "*.py" -exec sed -i 's!/usr/bin/env python!/usr/bin/env python2!g' {} +
+}
+package() {
+ cd "${srcdir}"/dispcalGUI-${pkgver}
python2 setup.py install --root="${pkgdir}" --optimize=1
-
#udev rules are shipped with argyllcms
rm -rf "${pkgdir}"/etc/udev/
}
diff --git a/community/libexosip2/PKGBUILD b/community/libexosip2/PKGBUILD
index aa31a11c4..324bee8f4 100644
--- a/community/libexosip2/PKGBUILD
+++ b/community/libexosip2/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 88347 2013-04-16 14:01:30Z spupykin $
+# $Id: PKGBUILD 96139 2013-08-20 09:34:21Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Darwin Bautista <djclue917@gmail.com>
pkgname=libexosip2
epoch=1
-pkgver=3.6.0
+pkgver=4.0.0
pkgrel=1
pkgdesc="A library that hides the complexity of using SIP for multimedia session establishement"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ license=('GPL')
depends=('libosip2>=4.0.0' 'openssl')
options=(!libtool)
source=(http://download.savannah.nongnu.org/releases/exosip/libeXosip2-${pkgver/_/-}.tar.gz)
-md5sums=('6fef4c110f1305048a8b307f440933d9')
+md5sums=('aa385b85f6a17876763a0a860fe2afbf')
build() {
cd "$srcdir/libeXosip2-${pkgver/_/-}"
diff --git a/community/libosip2/PKGBUILD b/community/libosip2/PKGBUILD
index 399eef688..03ac35e0f 100644
--- a/community/libosip2/PKGBUILD
+++ b/community/libosip2/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 88345 2013-04-16 13:58:17Z spupykin $
+# $Id: PKGBUILD 96140 2013-08-20 09:34:42Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Michal Hybner <dta081@gmail.com>
pkgname=libosip2
epoch=1
-pkgver=3.6.0
+pkgver=4.0.0
pkgrel=1
pkgdesc="oSIP is an implementation of SIP"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ license=('LGPL')
depends=(glibc)
options=(!emptydirs !libtool)
source=(http://ftp.gnu.org/gnu/osip/libosip2-${pkgver/_/-}.tar.gz)
-md5sums=('92fd1c1698235a798497887db159c9b3')
+md5sums=('c6a2c175d39ce75c15026c5738732dab')
build() {
cd $srcdir/libosip2-${pkgver/_/-}/
diff --git a/community/libvirt-glib/PKGBUILD b/community/libvirt-glib/PKGBUILD
index f04454542..d5fc7f3cc 100644
--- a/community/libvirt-glib/PKGBUILD
+++ b/community/libvirt-glib/PKGBUILD
@@ -1,18 +1,20 @@
-# $Id: PKGBUILD 93427 2013-07-03 12:11:24Z spupykin $
+# $Id: PKGBUILD 96155 2013-08-20 11:52:08Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Stefano Facchini <stefano.facchini@gmail.com>
pkgname=libvirt-glib
-pkgver=0.1.6
+pkgver=0.1.7
pkgrel=1
pkgdesc="GLib bindings for libvirt"
arch=('i686' 'x86_64')
url="http://libvirt.org"
license=('LGPL2.1')
depends=('libvirt' 'glib2' 'gobject-introspection' 'python2')
+makedepends=('intltool')
options=('!libtool')
source=(ftp://libvirt.org/libvirt/glib/$pkgname-$pkgver.tar.gz)
sha256sums=('274b88584db94bb5d404e5398d6b5ef184afad49a2e4b3f4f6c47ba940bf55bf')
+sha256sums=('39652c07d95f980ff30b39e0fd072e768fb85d778d65432da24b17dee9d36429')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/linphone/PKGBUILD b/community/linphone/PKGBUILD
index 6485384c6..15098ea69 100644
--- a/community/linphone/PKGBUILD
+++ b/community/linphone/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 95005 2013-08-03 07:36:18Z bpiotrowski $
+# $Id: PKGBUILD 96141 2013-08-20 09:35:09Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Darwin Bautista <djclue917@gmail.com>
pkgname=linphone
-pkgver=3.6.0
-pkgrel=2
+pkgver=3.6.1
+pkgrel=1
pkgdesc="A Voice-over-IP phone"
arch=('i686' 'x86_64')
url="http://www.linphone.org/index.php/eng"
@@ -14,8 +14,15 @@ depends=('alsa-lib' 'ffmpeg' 'gtk2' 'libexosip2' 'speex' 'libv4l' 'libglade' 'v4
makedepends=('pkgconfig' 'perlxml' 'intltool' 'sgmltools-lite')
optdepends=('pulseaudio')
options=('!libtool' '!emptydirs')
-source=("http://download-mirror.savannah.gnu.org/releases/${pkgname}/3.6.x/sources/${pkgname}-$pkgver.tar.gz")
-md5sums=('9a101854bb16034b39096e18c80ceb78')
+source=("http://download-mirror.savannah.gnu.org/releases/${pkgname}/3.6.x/sources/${pkgname}-$pkgver.tar.gz"
+ "port-to-exosip-4.patch")
+md5sums=('f59b99ec2501ebbb02969c885be4c4c5'
+ '45178a854c9321c58296dead77fbc5dc')
+
+prepare() {
+ cd $srcdir/$pkgname-$pkgver
+ patch -p1 <$srcdir/port-to-exosip-4.patch
+}
build() {
cd $pkgname-$pkgver
@@ -31,6 +38,6 @@ build() {
}
package() {
- cd $pkgname-$pkgver
+ cd $srcdir/$pkgname-$pkgver
make DESTDIR="$pkgdir" install
}
diff --git a/community/linphone/port-to-exosip-4.patch b/community/linphone/port-to-exosip-4.patch
new file mode 100644
index 000000000..4c0814ddd
--- /dev/null
+++ b/community/linphone/port-to-exosip-4.patch
@@ -0,0 +1,2800 @@
+Description: post to libexosip4 API
+Author: Felix Lechner <felix.lechner@gmail.com>
+
+Only in linphone-3.6.1: aclocal.m4
+Only in linphone-3.6.1/build/macos: Makefile.in
+Only in linphone-3.6.1/build: Makefile.in
+Only in linphone-3.6.1: compile
+Only in linphone-3.6.1: config.guess
+Only in linphone-3.6.1: config.h.in
+Only in linphone-3.6.1: config.sub
+Only in linphone-3.6.1: configure
+Only in linphone-3.6.1/console: Makefile.in
+--- a/coreapi/authentication.c
++++ b/coreapi/authentication.c
+@@ -308,7 +308,7 @@ void linphone_core_add_auth_info(Linphon
+ sai.userid=ai->userid;
+ sai.realm=ai->realm;
+ sai.password=ai->passwd;
+- sal_op_authenticate(op,&sai);
++ sal_op_authenticate(lc->sal,op,&sai);
+ ai->usecount++;
+ }
+ }
+--- a/coreapi/callbacks.c
++++ b/coreapi/callbacks.c
+@@ -224,19 +224,19 @@ static void call_received(SalOp *h){
+ lc->presence_mode==LinphoneStatusDoNotDisturb ||
+ lc->presence_mode==LinphoneStatusMoved){
+ if (lc->presence_mode==LinphoneStatusBusy )
+- sal_call_decline(h,SalReasonBusy,NULL);
++ sal_call_decline(lc->sal,h,SalReasonBusy,NULL);
+ else if (lc->presence_mode==LinphoneStatusOffline)
+- sal_call_decline(h,SalReasonTemporarilyUnavailable,NULL);
++ sal_call_decline(lc->sal,h,SalReasonTemporarilyUnavailable,NULL);
+ else if (lc->presence_mode==LinphoneStatusDoNotDisturb)
+- sal_call_decline(h,SalReasonTemporarilyUnavailable,NULL);
++ sal_call_decline(lc->sal,h,SalReasonTemporarilyUnavailable,NULL);
+ else if (lc->alt_contact!=NULL && lc->presence_mode==LinphoneStatusMoved)
+- sal_call_decline(h,SalReasonRedirect,lc->alt_contact);
+- sal_op_release(h);
++ sal_call_decline(lc->sal,h,SalReasonRedirect,lc->alt_contact);
++ sal_op_release(lc->sal,h);
+ return;
+ }
+ if (!linphone_core_can_we_add_call(lc)){/*busy*/
+- sal_call_decline(h,SalReasonBusy,NULL);
+- sal_op_release(h);
++ sal_call_decline(lc->sal,h,SalReasonBusy,NULL);
++ sal_op_release(lc->sal,h);
+ return;
+ }
+ from=sal_op_get_from(h);
+@@ -246,8 +246,8 @@ static void call_received(SalOp *h){
+
+ if ((already_a_call_with_remote_address(lc,from_addr) && prevent_colliding_calls) || already_a_call_pending(lc)){
+ ms_warning("Receiving another call while one is ringing or initiated, refusing this one with busy message.");
+- sal_call_decline(h,SalReasonBusy,NULL);
+- sal_op_release(h);
++ sal_call_decline(lc->sal,h,SalReasonBusy,NULL);
++ sal_op_release(lc->sal,h);
+ linphone_address_destroy(from_addr);
+ linphone_address_destroy(to_addr);
+ return;
+@@ -449,7 +449,7 @@ static void call_accept_update(LinphoneC
+ }
+ #endif //BUILD_UPNP
+ linphone_call_update_remote_session_id_and_ver(call);
+- sal_call_accept(call->op);
++ sal_call_accept(lc->sal,call->op);
+ md=sal_call_get_final_media_description(call->op);
+ if (md && !sal_media_description_empty(md))
+ linphone_core_update_streams(lc,call,md);
+@@ -701,7 +701,7 @@ static void auth_requested(SalOp *h, con
+ sai.realm=ai->realm;
+ sai.password=ai->passwd;
+ ms_message("auth_requested(): authenticating realm=%s, username=%s",realm,username);
+- sal_op_authenticate(h,&sai);
++ sal_op_authenticate(lc->sal,h,&sai);
+ ai->usecount++;
+ ai->last_use_time=ms_time(NULL);
+ }else{
+@@ -936,6 +936,7 @@ static int op_equals(LinphoneCall *a, Sa
+ return a->op !=b; /*return 0 if equals*/
+ }
+ static void text_delivery_update(SalOp *op, SalTextDeliveryStatus status){
++ LinphoneCore *lc=(LinphoneCore *)sal_get_user_pointer(sal_op_get_sal(op));
+ LinphoneChatMessage *chat_msg=(LinphoneChatMessage* )sal_op_get_user_pointer(op);
+ const MSList* calls = linphone_core_get_calls(chat_msg->chat_room->lc);
+
+@@ -950,7 +951,7 @@ static void text_delivery_update(SalOp *
+
+ if (!ms_list_find_custom((MSList*)calls, (MSCompareFunc) op_equals, op)) {
+ /*op was only create for messaging purpose, destroying*/
+- sal_op_release(op);
++ sal_op_release(lc->sal, op);
+ }
+ }
+
+--- a/coreapi/chat.c
++++ b/coreapi/chat.c
+@@ -98,10 +98,10 @@ static void _linphone_chat_room_send_mes
+ }
+ if (msg->external_body_url) {
+ content_type=ms_strdup_printf("message/external-body; access-type=URL; URL=\"%s\"",msg->external_body_url);
+- sal_message_send(op,identity,cr->peer,content_type, NULL);
++ sal_message_send(cr->lc->sal,op,identity,cr->peer,content_type, NULL);
+ ms_free(content_type);
+ } else {
+- sal_text_send(op, identity, cr->peer,msg->message);
++ sal_text_send(cr->lc->sal, op, identity, cr->peer,msg->message);
+ }
+ msg->dir=LinphoneChatMessageOutgoing;
+ msg->from=linphone_address_new(identity);
+--- a/coreapi/friend.c
++++ b/coreapi/friend.c
+@@ -131,13 +131,13 @@ void __linphone_friend_do_subscribe(Linp
+ fr->lc->vtable.notify_recv(fr->lc,(LinphoneFriend*)fr);
+ */
+ }else{
+- sal_op_release(fr->outsub);
++ sal_op_release(fr->lc->sal,fr->outsub);
+ fr->outsub=NULL;
+ }
+ fr->outsub=sal_op_new(fr->lc->sal);
+ sal_op_set_route(fr->outsub,route);
+ sal_op_set_contact(fr->outsub,fixed_contact);
+- sal_subscribe_presence(fr->outsub,from,friend);
++ sal_subscribe_presence(fr->lc->sal,fr->outsub,from,friend);
+ fr->subscribe_active=TRUE;
+ ms_free(friend);
+ }
+@@ -278,13 +278,13 @@ void linphone_friend_notify(LinphoneFrie
+ ms_message("Want to notify %s, insub=%p",addr,lf->insub);
+ ms_free(addr);
+ if (lf->insub!=NULL){
+- sal_notify_presence(lf->insub,linphone_online_status_to_sal(os),NULL);
++ sal_notify_presence(lf->lc->sal,lf->insub,linphone_online_status_to_sal(os),NULL);
+ }
+ }
+
+ static void linphone_friend_unsubscribe(LinphoneFriend *lf){
+ if (lf->outsub!=NULL) {
+- sal_unsubscribe(lf->outsub);
++ sal_unsubscribe(lf->lc->sal,lf->outsub);
+ lf->subscribe_active=FALSE;
+ }
+ }
+@@ -292,18 +292,18 @@ static void linphone_friend_unsubscribe(
+ void linphone_friend_close_subscriptions(LinphoneFriend *lf){
+ linphone_friend_unsubscribe(lf);
+ if (lf->insub){
+- sal_notify_close(lf->insub);
++ sal_notify_close(lf->lc->sal,lf->insub);
+
+ }
+ }
+
+ void linphone_friend_destroy(LinphoneFriend *lf){
+ if (lf->insub) {
+- sal_op_release(lf->insub);
++ sal_op_release(lf->lc->sal,lf->insub);
+ lf->insub=NULL;
+ }
+ if (lf->outsub){
+- sal_op_release(lf->outsub);
++ sal_op_release(lf->lc->sal,lf->outsub);
+ lf->outsub=NULL;
+ }
+ if (lf->uri!=NULL) linphone_address_destroy(lf->uri);
+--- a/coreapi/linphonecall.c
++++ b/coreapi/linphonecall.c
+@@ -526,7 +526,7 @@ LinphoneCall * linphone_call_new_incomin
+ from_str=linphone_address_as_string_uri_only(from);
+ sal_op_set_route(call->ping_op,sal_op_get_network_origin(op));
+ sal_op_set_user_pointer(call->ping_op,call);
+- sal_ping(call->ping_op,linphone_core_find_best_identity(lc,from,NULL),from_str);
++ sal_ping(lc->sal,call->ping_op,linphone_core_find_best_identity(lc,from,NULL),from_str);
+ ms_free(from_str);
+ }
+ }
+@@ -714,7 +714,7 @@ void linphone_call_set_state(LinphoneCal
+ if (call->op!=NULL) {
+ /* so that we cannot have anymore upcalls for SAL
+ concerning this call*/
+- sal_op_release(call->op);
++ sal_op_release(lc->sal,call->op);
+ call->op=NULL;
+ }
+ linphone_call_unref(call);
+@@ -729,7 +729,7 @@ static void linphone_call_destroy(Linpho
+ #endif //BUILD_UPNP
+ linphone_call_delete_ice_session(obj);
+ if (obj->op!=NULL) {
+- sal_op_release(obj->op);
++ sal_op_release(obj->core->sal,obj->op);
+ obj->op=NULL;
+ }
+ if (obj->resultdesc!=NULL) {
+@@ -741,7 +741,7 @@ static void linphone_call_destroy(Linpho
+ obj->localdesc=NULL;
+ }
+ if (obj->ping_op) {
+- sal_op_release(obj->ping_op);
++ sal_op_release(obj->core->sal,obj->ping_op);
+ }
+ if (obj->refer_to){
+ ms_free(obj->refer_to);
+@@ -956,7 +956,7 @@ int linphone_call_get_duration(const Lin
+ * This function allows the application to know whether a new incoming call is a one that replaces another one.
+ **/
+ LinphoneCall *linphone_call_get_replaced_call(LinphoneCall *call){
+- SalOp *op=sal_call_get_replaces(call->op);
++ SalOp *op=sal_call_get_replaces(call->core->sal,call->op);
+ if (op){
+ return (LinphoneCall*)sal_op_get_user_pointer(op);
+ }
+@@ -987,7 +987,7 @@ void linphone_call_enable_camera (Linpho
+ void linphone_call_send_vfu_request(LinphoneCall *call)
+ {
+ if (LinphoneCallStreamsRunning == linphone_call_get_state(call))
+- sal_call_send_vfu_request(call->op);
++ sal_call_send_vfu_request(call->core->sal,call->op);
+ }
+ #endif
+
+--- a/coreapi/linphonecore.c
++++ b/coreapi/linphonecore.c
+@@ -27,6 +27,11 @@ Foundation, Inc., 59 Temple Place - Suit
+ #include <math.h>
+ #include <ortp/telephonyevents.h>
+ #include <ortp/zrtp.h>
++
++#ifdef HAVE_EXOSIP2_EXOSIP_H
++#include <eXosip2/eXosip.h>
++#endif
++
+ #include "mediastreamer2/mediastream.h"
+ #include "mediastreamer2/mseventqueue.h"
+ #include "mediastreamer2/msvolume.h"
+@@ -1773,10 +1778,6 @@ int linphone_core_get_sip_port(LinphoneC
+ static char _ua_name[64]="Linphone";
+ static char _ua_version[64]=LINPHONE_VERSION;
+
+-#ifdef HAVE_EXOSIP_GET_VERSION
+-extern const char *eXosip_get_version();
+-#endif
+-
+ static void apply_user_agent(LinphoneCore *lc){
+ char ua_string[256];
+ snprintf(ua_string,sizeof(ua_string)-1,"%s/%s (eXosip2/%s)",_ua_name,_ua_version,
+@@ -2302,7 +2303,7 @@ void linphone_core_start_refered_call(Li
+
+ void linphone_core_notify_refer_state(LinphoneCore *lc, LinphoneCall *referer, LinphoneCall *newcall){
+ if (referer->op!=NULL){
+- sal_call_notify_refer_state(referer->op,newcall ? newcall->op : NULL);
++ sal_call_notify_refer_state(lc->sal,referer->op,newcall ? newcall->op : NULL);
+ }
+ }
+
+@@ -2445,7 +2446,7 @@ int linphone_core_start_invite(LinphoneC
+ }
+ real_url=linphone_address_as_string(call->log->to);
+ from=linphone_address_as_string(call->log->from);
+- err=sal_call(call->op,from,real_url);
++ err=sal_call(lc->sal,call->op,from,real_url);
+ call->log->call_id=ms_strdup(sal_op_get_call_id(call->op)); /*must be known at that time*/
+
+ if (lc->sip_conf.sdp_200_ack){
+@@ -2642,7 +2643,7 @@ LinphoneCall * linphone_core_invite_addr
+ /*defer the start of the call after the OPTIONS ping*/
+ call->ping_replied=FALSE;
+ call->ping_op=sal_op_new(lc->sal);
+- sal_ping(call->ping_op,from,real_url);
++ sal_ping(lc->sal,call->ping_op,from,real_url);
+ sal_op_set_user_pointer(call->ping_op,call);
+ call->start_time=time(NULL);
+ defer = TRUE;
+@@ -2677,7 +2678,7 @@ int linphone_core_transfer_call(Linphone
+ }
+ //lc->call=NULL; //Do not do that you will lose the call afterward . . .
+ real_url=linphone_address_as_string (real_parsed_url);
+- sal_call_refer(call->op,real_url);
++ sal_call_refer(lc->sal,call->op,real_url);
+ ms_free(real_url);
+ linphone_address_destroy(real_parsed_url);
+ linphone_call_set_transfer_state(call, LinphoneCallOutgoingInit);
+@@ -2699,7 +2700,7 @@ int linphone_core_transfer_call(Linphone
+ * close the call with us (the 'dest' call).
+ **/
+ int linphone_core_transfer_call_to_another(LinphoneCore *lc, LinphoneCall *call, LinphoneCall *dest){
+- int result = sal_call_refer_with_replaces (call->op,dest->op);
++ int result = sal_call_refer_with_replaces (lc->sal,call->op,dest->op);
+ linphone_call_set_transfer_state(call, LinphoneCallOutgoingInit);
+ return result;
+ }
+@@ -2741,7 +2742,7 @@ void linphone_core_notify_incoming_call(
+ md=sal_call_get_final_media_description(call->op);
+ if (md){
+ if (sal_media_description_empty(md) || linphone_core_incompatible_security(lc,md)){
+- sal_call_decline(call->op,SalReasonMedia,NULL);
++ sal_call_decline(lc->sal,call->op,SalReasonMedia,NULL);
+ linphone_call_unref(call);
+ return;
+ }
+@@ -2785,14 +2786,14 @@ void linphone_core_notify_incoming_call(
+ linphone_call_set_state(call,LinphoneCallIncomingReceived,"Incoming call");
+
+ if (call->state==LinphoneCallIncomingReceived){
+- sal_call_notify_ringing(call->op,propose_early_media || ringback_tone!=NULL);
++ sal_call_notify_ringing(lc->sal,call->op,propose_early_media || ringback_tone!=NULL);
+
+ if (propose_early_media || ringback_tone!=NULL){
+ linphone_call_set_state(call,LinphoneCallIncomingEarlyMedia,"Incoming call early media");
+ md=sal_call_get_final_media_description(call->op);
+ linphone_core_update_streams(lc,call,md);
+ }
+- if (sal_call_get_replaces(call->op)!=NULL && lp_config_get_int(lc->config,"sip","auto_answer_replacing_calls",1)){
++ if (sal_call_get_replaces(lc->sal,call->op)!=NULL && lp_config_get_int(lc->config,"sip","auto_answer_replacing_calls",1)){
+ linphone_core_accept_call(lc,call);
+ }
+ }
+@@ -2821,7 +2822,7 @@ int linphone_core_start_update_call(Linp
+ if (lc->vtable.display_status)
+ lc->vtable.display_status(lc,_("Modifying call parameters..."));
+ sal_call_set_local_media_description (call->op,call->localdesc);
+- return sal_call_update(call->op,subject);
++ return sal_call_update(lc->sal,call->op,subject);
+ }
+
+ /**
+@@ -2950,7 +2951,7 @@ int linphone_core_start_accept_call_upda
+ #endif //BUILD_UPNP
+ linphone_call_update_remote_session_id_and_ver(call);
+ sal_call_set_local_media_description(call->op,call->localdesc);
+- sal_call_accept(call->op);
++ sal_call_accept(lc->sal,call->op);
+ md=sal_call_get_final_media_description(call->op);
+ if (md && !sal_media_description_empty(md))
+ linphone_core_update_streams (lc,call,md);
+@@ -2993,7 +2994,7 @@ int linphone_core_accept_call_update(Lin
+ if (keep_sdp_version &&(remote_desc->session_id == call->remote_session_id) && (remote_desc->session_ver == call->remote_session_ver)) {
+ /* Remote has sent an INVITE with the same SDP as before, so send a 200 OK with the same SDP as before. */
+ ms_warning("SDP version has not changed, send same SDP as before.");
+- sal_call_accept(call->op);
++ sal_call_accept(lc->sal,call->op);
+ linphone_call_set_state(call,LinphoneCallStreamsRunning,"Connected (streams running)");
+ return 0;
+ }
+@@ -3101,7 +3102,7 @@ int linphone_core_accept_call_with_param
+ }
+
+ /* check if this call is supposed to replace an already running one*/
+- replaced=sal_call_get_replaces(call->op);
++ replaced=sal_call_get_replaces(lc->sal,call->op);
+ if (replaced){
+ LinphoneCall *rc=(LinphoneCall*)sal_op_get_user_pointer (replaced);
+ if (rc){
+@@ -3159,7 +3160,7 @@ int linphone_core_accept_call_with_param
+ }
+
+ linphone_call_update_remote_session_id_and_ver(call);
+- sal_call_accept(call->op);
++ sal_call_accept(lc->sal,call->op);
+ if (lc->vtable.display_status!=NULL)
+ lc->vtable.display_status(lc,_("Connected."));
+ lc->current_call=call;
+@@ -3175,7 +3176,7 @@ int linphone_core_accept_call_with_param
+ }
+
+ int linphone_core_abort_call(LinphoneCore *lc, LinphoneCall *call, const char *error){
+- sal_call_terminate(call->op);
++ sal_call_terminate(lc->sal,call->op);
+
+ /*stop ringing*/
+ if (lc->ringstream!=NULL) {
+@@ -3218,7 +3219,7 @@ static void terminate_call(LinphoneCore
+
+ int linphone_core_redirect_call(LinphoneCore *lc, LinphoneCall *call, const char *redirect_uri){
+ if (call->state==LinphoneCallIncomingReceived){
+- sal_call_decline(call->op,SalReasonRedirect,redirect_uri);
++ sal_call_decline(lc->sal,call->op,SalReasonRedirect,redirect_uri);
+ call->reason=LinphoneReasonDeclined;
+ terminate_call(lc,call);
+ }else{
+@@ -3252,7 +3253,7 @@ int linphone_core_terminate_call(Linphon
+ {
+ call = the_call;
+ }
+- sal_call_terminate(call->op);
++ sal_call_terminate(lc->sal,call->op);
+ terminate_call(lc,call);
+ return 0;
+ }
+@@ -3284,7 +3285,7 @@ int linphone_core_decline_call(LinphoneC
+ return -1;
+ break;
+ }
+- sal_call_decline(call->op,sal_reason,NULL);
++ sal_call_decline(lc->sal,call->op,sal_reason,NULL);
+ terminate_call(lc,call);
+ return 0;
+ }
+@@ -3378,7 +3379,7 @@ int _linphone_core_pause_call(LinphoneCo
+ return -1;
+ }
+ sal_call_set_local_media_description(call->op,call->localdesc);
+- if (sal_call_update(call->op,subject) != 0){
++ if (sal_call_update(lc->sal,call->op,subject) != 0){
+ if (lc->vtable.display_warning)
+ lc->vtable.display_warning(lc,_("Could not pause the call"));
+ }
+@@ -3461,7 +3462,7 @@ int linphone_core_resume_call(LinphoneCo
+ sal_call_set_local_media_description(call->op,call->localdesc);
+ sal_media_description_set_dir(call->localdesc,SalStreamSendRecv);
+ if (call->params.in_conference && !call->current_params.in_conference) subject="Conference";
+- if(sal_call_update(call->op,subject) != 0){
++ if(sal_call_update(lc->sal,call->op,subject) != 0){
+ return -1;
+ }
+ linphone_call_set_state (call,LinphoneCallResuming,"Resuming");
+@@ -4177,7 +4178,7 @@ void linphone_core_send_dtmf(LinphoneCor
+ }
+ if (linphone_core_get_use_info_for_dtmf(lc)!=0){
+ /* Out of Band DTMF (use INFO method) */
+- sal_call_send_dtmf(call->op,dtmf);
++ sal_call_send_dtmf(lc->sal,call->op,dtmf);
+ }
+ }
+
+--- a/coreapi/presence.c
++++ b/coreapi/presence.c
+@@ -79,21 +79,21 @@ void linphone_subscription_new(LinphoneC
+ if (linphone_find_friend(lc->friends,uri,&lf)!=NULL){
+ lf->insub=op;
+ lf->inc_subscribe_pending=TRUE;
+- sal_subscribe_accept(op);
++ sal_subscribe_accept(lc->sal,op);
+ linphone_friend_done(lf); /*this will do all necessary actions */
+ }else{
+ /* check if this subscriber is in our black list */
+ if (linphone_find_friend(lc->subscribers,uri,&lf)){
+ if (lf->pol==LinphoneSPDeny){
+ ms_message("Rejecting %s because we already rejected it once.",from);
+- sal_subscribe_decline(op);
++ sal_subscribe_decline(lc->sal,op);
+ }
+ else {
+ /* else it is in wait for approval state, because otherwise it is in the friend list.*/
+ ms_message("New subscriber found in friend list, in %s state.",__policy_enum_to_str(lf->pol));
+ }
+ }else {
+- sal_subscribe_accept(op);
++ sal_subscribe_accept(lc->sal,op);
+ linphone_core_add_subscriber(lc,tmp,op);
+ }
+ }
+@@ -150,7 +150,7 @@ void linphone_notify_recv(LinphoneCore *
+ ms_message("But this person is not part of our friend list, so we don't care.");
+ }
+ if (ss==SalSubscribeTerminated){
+- sal_op_release(op);
++ sal_op_release(lc->sal,op);
+ if (lf){
+ lf->outsub=NULL;
+ lf->subscribe_active=FALSE;
+@@ -161,7 +161,7 @@ void linphone_notify_recv(LinphoneCore *
+ void linphone_subscription_closed(LinphoneCore *lc, SalOp *op){
+ LinphoneFriend *lf;
+ lf=linphone_find_friend_by_inc_subscribe(lc->friends,op);
+- sal_op_release(op);
++ sal_op_release(lc->sal,op);
+ if (lf!=NULL){
+ lf->insub=NULL;
+ }else{
+--- a/coreapi/proxy.c
++++ b/coreapi/proxy.c
+@@ -84,8 +84,8 @@ void linphone_proxy_config_destroy(Linph
+ if (obj->realm!=NULL) ms_free(obj->realm);
+ if (obj->type!=NULL) ms_free(obj->type);
+ if (obj->dial_prefix!=NULL) ms_free(obj->dial_prefix);
+- if (obj->op) sal_op_release(obj->op);
+- if (obj->publish_op) sal_op_release(obj->publish_op);
++ if (obj->op) sal_op_release(obj->lc->sal, obj->op);
++ if (obj->publish_op) sal_op_release(obj->lc->sal,obj->publish_op);
+ }
+
+ /**
+@@ -245,7 +245,7 @@ void linphone_proxy_config_edit(Linphone
+ if (obj->reg_sendregister){
+ /* unregister */
+ if (obj->state != LinphoneRegistrationNone && obj->state != LinphoneRegistrationCleared) {
+- sal_unregister(obj->op);
++ sal_unregister(obj->lc->sal,obj->op);
+ }
+ }
+ }
+@@ -312,13 +312,13 @@ static void linphone_proxy_config_regist
+ if (obj->reg_sendregister){
+ char *contact;
+ if (obj->op)
+- sal_op_release(obj->op);
++ sal_op_release(obj->lc->sal,obj->op);
+ obj->op=sal_op_new(obj->lc->sal);
+ contact=guess_contact_for_register(obj);
+ sal_op_set_contact(obj->op,contact);
+ ms_free(contact);
+ sal_op_set_user_pointer(obj->op,obj);
+- if (sal_register(obj->op,obj->reg_proxy,obj->reg_identity,obj->expires)==0) {
++ if (sal_register(obj->lc->sal,obj->op,obj->reg_proxy,obj->reg_identity,obj->expires)==0) {
+ linphone_proxy_config_set_state(obj,LinphoneRegistrationProgress,"Registration in progress");
+ } else {
+ linphone_proxy_config_set_state(obj,LinphoneRegistrationFailed,"Registration failed");
+@@ -332,7 +332,7 @@ static void linphone_proxy_config_regist
+ **/
+ void linphone_proxy_config_refresh_register(LinphoneProxyConfig *obj){
+ if (obj->reg_sendregister && obj->op){
+- if (sal_register_refresh(obj->op,obj->expires) == 0) {
++ if (sal_register_refresh(obj->lc->sal,obj->op,obj->expires) == 0) {
+ linphone_proxy_config_set_state(obj,LinphoneRegistrationProgress, "Refresh registration");
+ }
+ }
+@@ -793,10 +793,10 @@ int linphone_proxy_config_send_publish(L
+ int err;
+ SalOp *op=sal_op_new(proxy->lc->sal);
+ sal_op_set_route(op,proxy->reg_proxy);
+- err=sal_publish(op,linphone_proxy_config_get_identity(proxy),
++ err=sal_publish(proxy->lc->sal,op,linphone_proxy_config_get_identity(proxy),
+ linphone_proxy_config_get_identity(proxy),linphone_online_status_to_sal(presence_mode));
+ if (proxy->publish_op!=NULL)
+- sal_op_release(proxy->publish_op);
++ sal_op_release(proxy->lc->sal, proxy->publish_op);
+ proxy->publish_op=op;
+ return err;
+ }
+--- a/coreapi/sal_eXosip2.c
++++ b/coreapi/sal_eXosip2.c
+@@ -46,7 +46,11 @@ void _osip_list_set_empty(osip_list_t *l
+ }
+
+ void sal_get_default_local_ip(Sal *sal, int address_family,char *ip, size_t iplen){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ if (eXosip_guess_localip(sal->excontext, address_family, ip, iplen) < 0){
++#else
+ if (eXosip_guess_localip(address_family,ip,iplen)<0){
++#endif
+ /*default to something */
+ strncpy(ip,address_family==AF_INET6 ? "::1" : "127.0.0.1",iplen);
+ ms_error("Could not find default routable ip address !");
+@@ -185,14 +189,14 @@ bool_t sal_call_autoanswer_asked(SalOp *
+ return op->auto_answer_asked;
+ }
+
+-void sal_op_release(SalOp *op){
++void sal_op_release(Sal *ctx, SalOp *op){
+ if (op->sdp_answer)
+ sdp_message_free(op->sdp_answer);
+ if (op->pending_auth)
+ eXosip_event_free(op->pending_auth);
+ if (op->rid!=-1){
+ sal_remove_register(op->base.root,op->rid);
+- eXosip_register_remove(op->rid);
++ eXosip_register_remove(ctx->excontext, op->rid);
+ }
+ if (op->cid!=-1){
+ ms_message("Cleaning cid %i",op->cid);
+@@ -273,8 +277,14 @@ Sal * sal_init(){
+ osip_trace_initialize_func (OSIP_INFO4,&_osip_trace_func);
+ firsttime=FALSE;
+ }
+- eXosip_init();
+ sal=ms_new0(Sal,1);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ sal->excontext = eXosip_malloc();
++ eXosip_init(sal->excontext);
++ /* order with ms_new0 changed, maybe free(sal) on error? */
++#else
++ eXosip_init();
++#endif
+ sal->keepalive_period=30;
+ sal->double_reg=TRUE;
+ sal->use_rports=TRUE;
+@@ -290,7 +300,12 @@ Sal * sal_init(){
+ }
+
+ void sal_uninit(Sal* sal){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_quit(sal->excontext);
++ free(sal->excontext);
++#else
+ eXosip_quit();
++#endif
+ if (sal->rootCa)
+ ms_free(sal->rootCa);
+ ms_free(sal);
+@@ -348,8 +363,16 @@ void sal_set_callbacks(Sal *ctx, const S
+
+ int sal_unlisten_ports(Sal *ctx){
+ if (ctx->running){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_quit(ctx->excontext);
++#else
+ eXosip_quit();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_init(ctx->excontext);
++#else
+ eXosip_init();
++#endif
+ ctx->running=FALSE;
+ }
+ return 0;
+@@ -359,13 +382,17 @@ int sal_reset_transports(Sal *ctx){
+ #ifdef HAVE_EXOSIP_RESET_TRANSPORTS
+ if (ctx->running){
+ ms_message("Exosip transports reset.");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_reset_transports(ctx->excontext);
++#else
+ eXosip_reset_transports();
++#endif
+ }
+ return 0;
+-#else
++#else /* HAVE_EXOSIP_RESET_TRANSPORTS */
+ ms_warning("sal_reset_transports() not implemented in this version.");
+ return -1;
+-#endif
++#endif /* HAVE_EXOSIP_RESET_TRANSPORTS */
+ }
+
+
+@@ -374,9 +401,16 @@ static void set_tls_options(Sal *ctx){
+ eXosip_tls_ctx_t tlsCtx;
+ memset(&tlsCtx, 0, sizeof(tlsCtx));
+ snprintf(tlsCtx.root_ca_cert, sizeof(tlsCtx.client.cert), "%s", ctx->rootCa);
++#ifdef EXOSIP_OPT_SET_TLS_CERTIFICATES_INFO
++ eXosip_set_option(ctx->excontext, EXOSIP_OPT_SET_TLS_CERTIFICATES_INFO, &tlsCtx);
++#else
+ eXosip_set_tls_ctx(&tlsCtx);
+- }
+-#ifdef HAVE_EXOSIP_TLS_VERIFY_CERTIFICATE
++#endif
++ }
++#ifdef EXOSIP_OPT_SET_TLS_VERIFY_CERTIFICATE
++ eXosip_set_option(ctx->excontext, EXOSIP_OPT_SET_TLS_VERIFY_CERTIFICATE,
++ &ctx->verify_server_certs);
++#elif defined HAVE_EXOSIP_TLS_VERIFY_CERTIFICATE
+ eXosip_tls_verify_certificate(ctx->verify_server_certs);
+ #endif
+ #ifdef HAVE_EXOSIP_TLS_VERIFY_CN
+@@ -386,10 +420,15 @@ static void set_tls_options(Sal *ctx){
+
+ void sal_set_dscp(Sal *ctx, int dscp){
+ ctx->dscp=dscp;
+-#ifdef HAVE_EXOSIP_DSCP
+- if (dscp!=-1)
++ if (dscp!=-1) {
++#ifdef EXOSIP_OPT_SET_DSCP
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_set_option(ctx->excontext, EXOSIP_OPT_SET_DSCP, &ctx->dscp);
++#else
+ eXosip_set_option(EXOSIP_OPT_SET_DSCP,&ctx->dscp);
+ #endif
++#endif /* EXOSIP_OPT_SET_DSCP */
++ }
+ }
+
+ int sal_listen_port(Sal *ctx, const char *addr, int port, SalTransport tr, int is_secure){
+@@ -402,13 +441,21 @@ int sal_listen_port(Sal *ctx, const char
+ switch (tr) {
+ case SalTransportUDP:
+ proto=IPPROTO_UDP;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_set_option (ctx->excontext, EXOSIP_OPT_UDP_KEEP_ALIVE, &keepalive);
++#else
+ eXosip_set_option (EXOSIP_OPT_UDP_KEEP_ALIVE, &keepalive);
++#endif
+ break;
+ case SalTransportTCP:
+ case SalTransportTLS:
+ proto= IPPROTO_TCP;
+ if (!ctx->tcp_tls_keepalive) keepalive=-1;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_set_option (ctx->excontext, EXOSIP_OPT_UDP_KEEP_ALIVE, &keepalive);
++#else
+ eXosip_set_option (EXOSIP_OPT_UDP_KEEP_ALIVE,&keepalive);
++#endif
+ set_tls_options(ctx);
+ break;
+ default:
+@@ -416,9 +463,15 @@ int sal_listen_port(Sal *ctx, const char
+ }
+ /*see if it looks like an IPv6 address*/
+ int use_rports = ctx->use_rports; // Copy char to int to avoid bad alignment
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_set_option(ctx->excontext, EXOSIP_OPT_USE_RPORT, &use_rports);
++#else
+ eXosip_set_option(EXOSIP_OPT_USE_RPORT,&use_rports);
++#endif
++#ifdef EXOSIP_OPT_DONT_SEND_101
+ int dont_use_101 = !ctx->use_101; // Copy char to int to avoid bad alignment
+ eXosip_set_option(EXOSIP_OPT_DONT_SEND_101,&dont_use_101);
++#endif
+ sal_set_dscp(ctx,ctx->dscp);
+ sal_use_dates(ctx,ctx->add_dates);
+
+@@ -429,7 +482,11 @@ int sal_listen_port(Sal *ctx, const char
+ ms_fatal("SIP over DTLS is not supported yet.");
+ return -1;
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ err=eXosip_listen_addr(ctx->excontext, proto, addr, port, ipv6 ? PF_INET6 : PF_INET, is_secure);
++#else
+ err=eXosip_listen_addr(proto, addr, port, ipv6 ? PF_INET6 : PF_INET, is_secure);
++#endif
+ ctx->running=TRUE;
+ return err;
+ }
+@@ -444,7 +501,11 @@ ortp_socket_t sal_get_socket(Sal *ctx){
+ }
+
+ void sal_set_user_agent(Sal *ctx, const char *user_agent){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_set_user_agent(ctx->excontext, user_agent);
++#else
+ eXosip_set_user_agent(user_agent);
++#endif
+ }
+
+ void sal_use_session_timers(Sal *ctx, int expires){
+@@ -472,11 +533,15 @@ void sal_use_dates(Sal *ctx, bool_t enab
+ #ifdef EXOSIP_OPT_REGISTER_WITH_DATE
+ {
+ int tmp=enabled;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_set_option(ctx->excontext, EXOSIP_OPT_REGISTER_WITH_DATE, &tmp);
++#else
+ eXosip_set_option(EXOSIP_OPT_REGISTER_WITH_DATE,&tmp);
++#endif
+ }
+-#else
++#else /* EXOSIP_OPT_REGISTER_WITH_DATE */
+ if (enabled) ms_warning("Exosip does not support EXOSIP_OPT_REGISTER_WITH_DATE option.");
+-#endif
++#endif /* EXOSIP_OPT_REGISTER_WITH_DATE */
+ }
+
+ void sal_use_rport(Sal *ctx, bool_t use_rports){
+@@ -499,7 +564,9 @@ const char *sal_get_root_ca(Sal* ctx) {
+
+ void sal_verify_server_certificates(Sal *ctx, bool_t verify){
+ ctx->verify_server_certs=verify;
+-#ifdef HAVE_EXOSIP_TLS_VERIFY_CERTIFICATE
++#ifdef EXOSIP_OPT_SET_TLS_VERIFY_CERTIFICATE
++ eXosip_set_option(ctx->excontext, EXOSIP_OPT_SET_TLS_VERIFY_CERTIFICATE, &verify);
++#elif defined HAVE_EXOSIP_TLS_VERIFY_CERTIFICATE
+ eXosip_tls_verify_certificate(verify);
+ #endif
+ }
+@@ -626,7 +693,7 @@ int sal_call_set_local_media_description
+ return 0;
+ }
+
+-int sal_call(SalOp *h, const char *from, const char *to){
++int sal_call(Sal *ctx, SalOp *h, const char *from, const char *to){
+ int err;
+ const char *route;
+ osip_message_t *invite=NULL;
+@@ -638,7 +705,11 @@ int sal_call(SalOp *h, const char *from,
+ h->terminated = FALSE;
+
+ route = sal_op_get_route(h);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ err=eXosip_call_build_initial_invite(ctx->excontext, &invite, to, from, route, "Phone call");
++#else
+ err=eXosip_call_build_initial_invite(&invite,to,from,route,"Phone call");
++#endif
+ if (err!=0){
+ ms_error("Could not create call. Error %d (from=%s to=%s route=%s)",
+ err, from, to, route);
+@@ -664,9 +735,21 @@ int sal_call(SalOp *h, const char *from,
+ osip_message_set_header(invite,"Referred-By",h->referred_by);
+ }
+
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ err=eXosip_call_send_initial_invite(ctx->excontext, invite);
++#else
+ err=eXosip_call_send_initial_invite(invite);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ h->cid=err;
+ if (err<0){
+ ms_error("Fail to send invite ! Error code %d", err);
+@@ -682,14 +765,22 @@ int sal_call(SalOp *h, const char *from,
+ return 0;
+ }
+
+-int sal_call_notify_ringing(SalOp *h, bool_t early_media){
++int sal_call_notify_ringing(Sal *ctx, SalOp *h, bool_t early_media){
+ osip_message_t *msg;
+
+ /*if early media send also 180 and 183 */
+ if (early_media){
+ msg=NULL;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(ctx->excontext, h->tid, 183, &msg);
++#else
+ eXosip_call_build_answer(h->tid,183,&msg);
++#endif
+ if (msg){
+ sdp_process(h);
+ if (h->sdp_answer){
+@@ -697,22 +788,46 @@ int sal_call_notify_ringing(SalOp *h, bo
+ sdp_message_free(h->sdp_answer);
+ h->sdp_answer=NULL;
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(ctx->excontext, h->tid, 183, msg);
++#else
+ eXosip_call_send_answer(h->tid,183,msg);
++#endif
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }else{
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(ctx->excontext, h->tid, 180, NULL);
++#else
+ eXosip_call_send_answer(h->tid,180,NULL);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ return 0;
+ }
+
+-int sal_call_accept(SalOp * h){
++int sal_call_accept(Sal *ctx, SalOp * h){
+ osip_message_t *msg;
+ const char *contact=sal_op_get_contact(h);
+ /* sends a 200 OK */
++#ifdef HAVE_STRUCT_EXOSIP_T
++ int err=eXosip_call_build_answer(ctx->excontext, h->tid, 200, &msg);
++#else
+ int err=eXosip_call_build_answer(h->tid,200,&msg);
++#endif
+ if (err<0 || msg==NULL){
+ ms_error("Fail to build answer for call: err=%i",err);
+ return -1;
+@@ -741,39 +856,107 @@ int sal_call_accept(SalOp * h){
+ }else{
+ ms_error("You are accepting a call but not defined any media capabilities !");
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(ctx->excontext, h->tid, 200, msg);
++#else
+ eXosip_call_send_answer(h->tid,200,msg);
++#endif
+ return 0;
+ }
+
+-int sal_call_decline(SalOp *h, SalReason reason, const char *redirect){
++int sal_call_decline(Sal * ctx, SalOp *h, SalReason reason, const char *redirect){
+ if (reason==SalReasonBusy){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(ctx->excontext, h->tid, 486, NULL);
++#else
+ eXosip_call_send_answer(h->tid,486,NULL);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ else if (reason==SalReasonTemporarilyUnavailable){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(ctx->excontext, h->tid, 480, NULL);
++#else
+ eXosip_call_send_answer(h->tid,480,NULL);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }else if (reason==SalReasonDoNotDisturb){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(ctx->excontext, h->tid, 600, NULL);
++#else
+ eXosip_call_send_answer(h->tid,600,NULL);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }else if (reason==SalReasonMedia){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(ctx->excontext, h->tid, 415, NULL);
++#else
+ eXosip_call_send_answer(h->tid,415,NULL);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }else if (redirect!=NULL && reason==SalReasonRedirect){
+ osip_message_t *msg;
+ int code;
+ if (strstr(redirect,"sip:")!=0) code=302;
+ else code=380;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(ctx->excontext, h->tid, code, &msg);
++#else
+ eXosip_call_build_answer(h->tid,code,&msg);
++#endif
+ osip_message_set_contact(msg,redirect);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(ctx->excontext, h->tid, code, msg);
++#else
+ eXosip_call_send_answer(h->tid,code,msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
+- }else sal_call_terminate(h);
++#endif
++ }else sal_call_terminate(ctx, h);
+ return 0;
+ }
+
+@@ -796,39 +979,59 @@ int sal_call_set_referer(SalOp *h, SalOp
+ return 0;
+ }
+
+-static int send_notify_for_refer(int did, const char *sipfrag){
++static int send_notify_for_refer(Sal *ctx, int did, const char *sipfrag){
+ osip_message_t *msg;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_notify(ctx->excontext, did, EXOSIP_SUBCRSTATE_ACTIVE, &msg);
++#else
+ eXosip_call_build_notify(did,EXOSIP_SUBCRSTATE_ACTIVE,&msg);
++#endif
+ if (msg==NULL){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ ms_warning("Could not build NOTIFY for refer.");
+ return -1;
+ }
+ osip_message_set_content_type(msg,"message/sipfrag");
+ osip_message_set_header(msg,"Event","refer");
+ osip_message_set_body(msg,sipfrag,strlen(sipfrag));
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_request(ctx->excontext, did, msg);
++#else
+ eXosip_call_send_request(did,msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return 0;
+ }
+
+ /* currently only support to notify trying and 200Ok*/
+-int sal_call_notify_refer_state(SalOp *h, SalOp *newcall){
++int sal_call_notify_refer_state(Sal *ctx, SalOp *h, SalOp *newcall){
+ if (newcall==NULL){
+ /* in progress*/
+- send_notify_for_refer(h->did,"SIP/2.0 100 Trying\r\n");
++ send_notify_for_refer(ctx, h->did,"SIP/2.0 100 Trying\r\n");
+ }
+ else if (newcall->cid!=-1){
+ if (newcall->did==-1){
+ /* not yet established*/
+ if (!newcall->terminated){
+ /* in progress*/
+- send_notify_for_refer(h->did,"SIP/2.0 100 Trying\r\n");
++ send_notify_for_refer(ctx, h->did,"SIP/2.0 100 Trying\r\n");
+ }
+ }else{
+ if (!newcall->terminated){
+- if (send_notify_for_refer(h->did,"SIP/2.0 200 Ok\r\n")==-1){
++ if (send_notify_for_refer(ctx, h->did,"SIP/2.0 200 Ok\r\n")==-1){
+ /* we need previous notify transaction to complete, so buffer the request for later*/
+ h->sipfrag_pending="SIP/2.0 200 Ok\r\n";
+ }
+@@ -838,61 +1041,126 @@ int sal_call_notify_refer_state(SalOp *h
+ return 0;
+ }
+
+-int sal_ping(SalOp *op, const char *from, const char *to){
++int sal_ping(Sal *ctx, SalOp *op, const char *from, const char *to){
+ osip_message_t *options=NULL;
+
+ sal_op_set_from(op,from);
+ sal_op_set_to(op,to);
+ sal_exosip_fix_route(op);
+
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_options_build_request (ctx->excontext, &options, sal_op_get_to(op),
++ sal_op_get_from(op),sal_op_get_route(op));
++#else
+ eXosip_options_build_request (&options, sal_op_get_to(op),
+ sal_op_get_from(op),sal_op_get_route(op));
++#endif
+ if (options){
+ if (op->base.root->session_expires!=0){
+ osip_message_set_header(options, "Session-expires", "200");
+ osip_message_set_supported(options, "timer");
+ }
+ sal_add_other(sal_op_get_sal(op),op,options);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ return eXosip_options_send_request(ctx->excontext, options);
++#else
+ return eXosip_options_send_request(options);
++#endif
+ }
+ return -1;
+ }
+
+-int sal_call_refer(SalOp *h, const char *refer_to){
++int sal_call_refer(Sal *ctx, SalOp *h, const char *refer_to){
+ osip_message_t *msg=NULL;
+ int err=0;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_refer(ctx->excontext, h->did, refer_to, &msg);
++#else
+ eXosip_call_build_refer(h->did,refer_to, &msg);
+- if (msg) err=eXosip_call_send_request(h->did, msg);
++#endif
++ if (msg) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ err=eXosip_call_send_request(ctx->excontext, h->did, msg);
++#else
++ err=eXosip_call_send_request(h->did, msg);
++#endif
++ }
+ else err=-1;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return err;
+ }
+
+-int sal_call_refer_with_replaces(SalOp *h, SalOp *other_call_h){
++int sal_call_refer_with_replaces(Sal *ctx, SalOp *h, SalOp *other_call_h){
+ osip_message_t *msg=NULL;
+ char referto[256]={0};
+ int err=0;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ if (eXosip_call_get_referto(ctx->excontext, other_call_h->did,referto,sizeof(referto)-1)!=0){
++#else
+ if (eXosip_call_get_referto(other_call_h->did,referto,sizeof(referto)-1)!=0){
++#endif
+ ms_error("eXosip_call_get_referto() failed for did=%i",other_call_h->did);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return -1;
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_refer(ctx->excontext, h->did,referto, &msg);
++#else
+ eXosip_call_build_refer(h->did,referto, &msg);
++#endif
+ osip_message_set_header(msg,"Referred-By",h->base.from);
+- if (msg) err=eXosip_call_send_request(h->did, msg);
++ if (msg) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ err=eXosip_call_send_request(ctx->excontext, h->did, msg);
++#else
++ err=eXosip_call_send_request(h->did, msg);
++#endif
++ }
+ else err=-1;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return err;
+ }
+
+-SalOp *sal_call_get_replaces(SalOp *h){
++SalOp *sal_call_get_replaces(Sal *ctx, SalOp *h){
+ if (h!=NULL && h->replaces!=NULL){
+ int cid;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ cid=eXosip_call_find_by_replaces(ctx->excontext, h->replaces);
++#else
+ cid=eXosip_call_find_by_replaces(h->replaces);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ if (cid>0){
+ SalOp *ret=sal_find_call(h->base.root,cid);
+ return ret;
+@@ -901,48 +1169,81 @@ SalOp *sal_call_get_replaces(SalOp *h){
+ return NULL;
+ }
+
+-int sal_call_send_dtmf(SalOp *h, char dtmf){
++int sal_call_send_dtmf(Sal *ctx, SalOp *h, char dtmf){
+ osip_message_t *msg=NULL;
+ char dtmf_body[128];
+ char clen[10];
+
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_info(ctx->excontext, h->did, &msg);
++#else
+ eXosip_call_build_info(h->did,&msg);
++#endif
+ if (msg){
+ snprintf(dtmf_body, sizeof(dtmf_body), "Signal=%c\r\nDuration=250\r\n", dtmf);
+ osip_message_set_body(msg,dtmf_body,strlen(dtmf_body));
+ osip_message_set_content_type(msg,"application/dtmf-relay");
+ snprintf(clen,sizeof(clen),"%lu",(unsigned long)strlen(dtmf_body));
+ osip_message_set_content_length(msg,clen);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_request(ctx->excontext, h->did, msg);
++#else
+ eXosip_call_send_request(h->did,msg);
++#endif
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return 0;
+ }
+
+-static void push_auth_to_exosip(const SalAuthInfo *info){
++static void push_auth_to_exosip(Sal *ctx, const SalAuthInfo *info){
+ const char *userid;
+ if (info->userid==NULL || info->userid[0]=='\0') userid=info->username;
+ else userid=info->userid;
+ ms_message("Authentication info for username [%s], id[%s], realm [%s] added to eXosip", info->username,userid, info->realm);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_add_authentication_info (ctx->excontext, info->username,userid,
++ info->password, NULL,info->realm);
++#else
+ eXosip_add_authentication_info (info->username,userid,
+ info->password, NULL,info->realm);
++#endif
+ }
+ /*
+ * Just for symmetry ;-)
+ */
+-static void pop_auth_from_exosip() {
+- eXosip_clear_authentication_info();
++static void pop_auth_from_exosip(Sal *ctx) {
++ eXosip_clear_authentication_info(ctx->excontext);
+ }
+
+-int sal_call_terminate(SalOp *h){
++int sal_call_terminate(Sal *ctx, SalOp *h){
+ int err;
+ if (h == NULL) return -1;
+- if (h->auth_info) push_auth_to_exosip(h->auth_info);
++ if (h->auth_info) push_auth_to_exosip(ctx, h->auth_info);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ err=eXosip_call_terminate(ctx->excontext, h->cid, h->did);
++#else
+ err=eXosip_call_terminate(h->cid,h->did);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
+- if (!h->base.root->reuse_authorization) pop_auth_from_exosip();
++#endif
++ if (!h->base.root->reuse_authorization) pop_auth_from_exosip(ctx);
+ if (err!=0){
+ ms_warning("Exosip could not terminate the call: cid=%i did=%i", h->cid,h->did);
+ }
+@@ -950,7 +1251,7 @@ int sal_call_terminate(SalOp *h){
+ return 0;
+ }
+
+-void sal_op_authenticate(SalOp *h, const SalAuthInfo *info){
++void sal_op_authenticate(Sal *ctx, SalOp *h, const SalAuthInfo *info){
+ bool_t terminating=FALSE;
+ if (h->pending_auth && strcmp(h->pending_auth->request->sip_method,"BYE")==0) {
+ terminating=TRUE;
+@@ -958,7 +1259,7 @@ void sal_op_authenticate(SalOp *h, const
+ if (h->terminated && !terminating) return;
+
+ if (h->pending_auth){
+- push_auth_to_exosip(info);
++ push_auth_to_exosip(ctx, info);
+
+ /*FIXME exosip does not take into account this update register message*/
+ /*
+@@ -967,11 +1268,23 @@ void sal_op_authenticate(SalOp *h, const
+ };
+ */
+ update_contact_from_response(h,h->pending_auth->response);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_default_action(ctx->excontext, h->pending_auth);
++#else
+ eXosip_default_action(h->pending_auth);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ ms_message("eXosip_default_action() done");
+- if (!h->base.root->reuse_authorization) pop_auth_from_exosip();
++ if (!h->base.root->reuse_authorization) pop_auth_from_exosip(ctx);
+
+ if (h->auth_info) sal_auth_info_delete(h->auth_info); /*if already exist*/
+ h->auth_info=sal_auth_info_clone(info); /*store auth info for subsequent request*/
+@@ -1210,9 +1523,21 @@ static int call_proceeding(Sal *sal, eXo
+
+ if (op==NULL || op->terminated==TRUE) {
+ ms_warning("This call has been canceled.");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_terminate(sal->excontext, ev->cid, ev->did);
++#else
+ eXosip_call_terminate(ev->cid,ev->did);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return -1;
+ }
+ if (ev->did>0)
+@@ -1249,9 +1574,21 @@ static void call_accepted(Sal *sal, eXos
+
+ if (op==NULL || op->terminated==TRUE) {
+ ms_warning("This call has been already terminated.");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_terminate(sal->excontext, ev->cid, ev->did);
++#else
+ eXosip_call_terminate(ev->cid,ev->did);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return ;
+ }
+
+@@ -1266,12 +1603,28 @@ static void call_accepted(Sal *sal, eXos
+ sdp_message_free(sdp);
+ if (op->base.local_media) sdp_process(op);
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_ack(sal->excontext, ev->did, &msg);
++#else
+ eXosip_call_build_ack(ev->did,&msg);
++#endif
+ if (msg==NULL) {
+ ms_warning("This call has been already terminated.");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_terminate(sal->excontext, ev->cid, ev->did);
++#else
+ eXosip_call_terminate(ev->cid,ev->did);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return ;
+ }
+ contact=sal_op_get_contact(op);
+@@ -1284,7 +1637,11 @@ static void call_accepted(Sal *sal, eXos
+ sdp_message_free(op->sdp_answer);
+ op->sdp_answer=NULL;
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_ack(sal->excontext, ev->did, msg);
++#else
+ eXosip_call_send_ack(ev->did,msg);
++#endif
+ sal->callbacks.call_accepted(op);
+ }
+
+@@ -1458,7 +1815,11 @@ static bool_t call_failure(Sal *sal, eXo
+ sr=SalReasonMedia;
+ break;
+ case 422:
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_default_action(sal->excontext, ev);
++#else
+ eXosip_default_action(ev);
++#endif
+ return TRUE;
+ break;
+ case 480:
+@@ -1494,7 +1855,7 @@ static bool_t call_failure(Sal *sal, eXo
+ }
+
+ /* Request remote side to send us VFU */
+-void sal_call_send_vfu_request(SalOp *h){
++void sal_call_send_vfu_request(Sal *ctx, SalOp *h){
+ osip_message_t *msg=NULL;
+ char info_body[] =
+ "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"
+@@ -1508,17 +1869,33 @@ void sal_call_send_vfu_request(SalOp *h)
+
+ char clen[10];
+
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_info(ctx->excontext, h->did, &msg);
++#else
+ eXosip_call_build_info(h->did,&msg);
++#endif
+ if (msg){
+ osip_message_set_body(msg,info_body,strlen(info_body));
+ osip_message_set_content_type(msg,"application/media_control+xml");
+ snprintf(clen,sizeof(clen),"%lu",(unsigned long)strlen(info_body));
+ osip_message_set_content_length(msg,clen);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_request(ctx->excontext, h->did, msg);
++#else
+ eXosip_call_send_request(h->did,msg);
++#endif
+ ms_message("Sending VFU request !");
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+
+ static void process_media_control_xml(Sal *sal, eXosip_event_t *ev){
+@@ -1537,20 +1914,45 @@ static void process_media_control_xml(Sa
+ ms_message("Receiving VFU request !");
+ if (sal->callbacks.vfu_request){
+ sal->callbacks.vfu_request(op);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(sal->excontext, ev->tid, 200, &ans);
++#else
+ eXosip_call_build_answer(ev->tid,200,&ans);
++#endif
+ if (ans)
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(sal->excontext, ev->tid, 200, ans);
++#else
+ eXosip_call_send_answer(ev->tid,200,ans);
++#endif
+ return;
+ }
+ }
+ /*in all other cases we must say it is not implemented.*/
+ {
+ osip_message_t *ans=NULL;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(sal->excontext, ev->tid, 501, &ans);
++#else
+ eXosip_call_build_answer(ev->tid,501,&ans);
+- if (ans)
++#endif
++ if (ans) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(sal->excontext, ev->tid, 501, ans);
++#else
+ eXosip_call_send_answer(ev->tid,501,ans);
++#endif
++ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ }
+
+@@ -1579,11 +1981,28 @@ static void process_dtmf_relay(Sal *sal,
+ sal->callbacks.dtmf_received(op, tmp[0]);
+ }
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(sal->excontext, ev->tid, 200, &ans);
++#else
+ eXosip_call_build_answer(ev->tid,200,&ans);
+- if (ans)
++#endif
++ if (ans) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(sal->excontext, ev->tid, 200, ans);
++#else
+ eXosip_call_send_answer(ev->tid,200,ans);
++#endif
++ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ }
+
+@@ -1628,11 +2047,28 @@ static void process_refer(Sal *sal, SalO
+ osip_free(tmp);
+ osip_from_free(from);
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(sal->excontext, ev->tid, 202, &ans);
++#else
+ eXosip_call_build_answer(ev->tid,202,&ans);
+- if (ans)
++#endif
++ if (ans) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(sal->excontext, ev->tid, 202, ans);
++#else
+ eXosip_call_send_answer(ev->tid,202,ans);
++#endif
++ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ else
+ {
+@@ -1677,11 +2113,28 @@ static void process_notify(Sal *sal, eXo
+ }
+ }
+ /*answer that we received the notify*/
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(sal->excontext, ev->tid, 200, &ans);
++#else
+ eXosip_call_build_answer(ev->tid,200,&ans);
+- if (ans)
++#endif
++ if (ans) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(sal->excontext, ev->tid, 200, ans);
++#else
+ eXosip_call_send_answer(ev->tid,200,ans);
++#endif
++ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ osip_free(from);
+ }
+
+@@ -1699,28 +2152,79 @@ static void call_message_new(Sal *sal, e
+ else {
+ ms_message("Unhandled SIP INFO.");
+ /*send an "Not implemented" answer*/
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(sal->excontext, ev->tid, 501, &ans);
++#else
+ eXosip_call_build_answer(ev->tid,501,&ans);
+- if (ans)
++#endif
++ if (ans) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(sal->excontext, ev->tid, 501, ans);
++#else
+ eXosip_call_send_answer(ev->tid,501,ans);
++#endif
++ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ }else{
+ /*empty SIP INFO, probably to test we are alive. Send an empty answer*/
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(sal->excontext, ev->tid, 200, &ans);
++#else
+ eXosip_call_build_answer(ev->tid,200,&ans);
+- if (ans)
++#endif
++ if (ans) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(sal->excontext, ev->tid, 200, ans);
++#else
+ eXosip_call_send_answer(ev->tid,200,ans);
++#endif
++ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ }else if(MSG_IS_MESSAGE(ev->request)){
+ /* SIP messages could be received into call */
+ text_received(sal, ev);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(sal->excontext, ev->tid, 200, &ans);
++#else
+ eXosip_call_build_answer(ev->tid,200,&ans);
+- if (ans)
++#endif
++ if (ans) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(sal->excontext, ev->tid, 200, ans);
++#else
+ eXosip_call_send_answer(ev->tid,200,ans);
++#endif
++ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }else if(MSG_IS_REFER(ev->request)){
+ SalOp *op=find_op(sal,ev);
+
+@@ -1729,13 +2233,29 @@ static void call_message_new(Sal *sal, e
+ }else if(MSG_IS_NOTIFY(ev->request)){
+ process_notify(sal,ev);
+ }else if (MSG_IS_OPTIONS(ev->request)){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_answer(sal->excontext, ev->tid, 200, &ans);
++#else
+ eXosip_call_build_answer(ev->tid,200,&ans);
++#endif
+ if (ans){
+ fill_options_answer(ans);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_answer(sal->excontext, ev->tid, 200, ans);
++#else
+ eXosip_call_send_answer(ev->tid,200,ans);
++#endif
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ }else ms_warning("call_message_new: No request ?");
+ }
+@@ -1743,11 +2263,28 @@ static void call_message_new(Sal *sal, e
+ static void inc_update(Sal *sal, eXosip_event_t *ev){
+ osip_message_t *msg=NULL;
+ ms_message("Processing incoming UPDATE");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_message_build_answer(sal->excontext, ev->tid, 200, &msg);
++#else
+ eXosip_message_build_answer(ev->tid,200,&msg);
+- if (msg!=NULL)
++#endif
++ if (msg!=NULL) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_message_send_answer(sal->excontext, ev->tid, 200, msg);
++#else
+ eXosip_message_send_answer(ev->tid,200,msg);
++#endif
++ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+
+ static bool_t comes_from_local_if(osip_message_t *msg){
+@@ -1865,7 +2402,7 @@ static void text_received(Sal *sal, eXos
+ salmsg.message_id=message_id;
+ salmsg.time=date!=NULL ? mktime_utc(&ret) : time(NULL);
+ sal->callbacks.text_received(op,&salmsg);
+- sal_op_release(op);
++ sal_op_release(sal, op);
+ osip_free(from);
+ }
+
+@@ -1874,12 +2411,24 @@ static void other_request(Sal *sal, eXos
+ if (ev->request==NULL) return;
+ if (strcmp(ev->request->sip_method,"MESSAGE")==0){
+ text_received(sal,ev);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_message_send_answer(sal->excontext, ev->tid, 200, NULL);
++#else
+ eXosip_message_send_answer(ev->tid,200,NULL);
++#endif
+ }else if (strcmp(ev->request->sip_method,"OPTIONS")==0){
+ osip_message_t *options=NULL;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_options_build_answer(sal->excontext, ev->tid, 200, &options);
++#else
+ eXosip_options_build_answer(ev->tid,200,&options);
++#endif
+ fill_options_answer(options);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_options_send_answer(sal->excontext, ev->tid, 200, options);
++#else
+ eXosip_options_send_answer(ev->tid,200,options);
++#endif
+ }else if (strncmp(ev->request->sip_method, "REFER", 5) == 0){
+ ms_message("Receiving REFER request !");
+ if (comes_from_local_if(ev->request)) {
+@@ -1896,7 +2445,11 @@ static void other_request(Sal *sal, eXos
+ osip_free(tmp);
+ }
+ /*answer with a 501 Not implemented*/
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_message_send_answer(sal->excontext, ev->tid, 501, NULL);
++#else
+ eXosip_message_send_answer(ev->tid,501,NULL);
++#endif
+ }
+ }
+
+@@ -1959,7 +2512,7 @@ static bool_t fix_message_contact(SalOp
+ return TRUE;
+ }
+
+-static bool_t register_again_with_updated_contact(SalOp *op, osip_message_t *orig_request, osip_message_t *last_answer){
++static bool_t register_again_with_updated_contact(Sal *ctx, SalOp *op, osip_message_t *orig_request, osip_message_t *last_answer){
+ osip_contact_t *ctt=NULL;
+ SalAddress* ori_contact_address=NULL;
+ const char *received;
+@@ -2007,25 +2560,53 @@ static bool_t register_again_with_update
+ ms_message("Contact do not match, resending register.");
+ else return FALSE;
+
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_register_build_register(ctx->excontext, op->rid, op->expires, &msg);
++#else
+ eXosip_register_build_register(op->rid,op->expires,&msg);
++#endif
+ if (msg==NULL){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ ms_warning("Fail to create a contact updated register.");
+ return FALSE;
+ }
+ if (fix_message_contact(op,msg,last_answer,op->base.root->expire_old_contact)) {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_register_send_register(ctx->excontext, op->rid, msg);
++#else
+ eXosip_register_send_register(op->rid,msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ ms_message("Resending new register with updated contact");
+ update_contact_from_response(op,last_answer);
+ return TRUE;
+ } else {
+ ms_warning("Fail to send updated register.");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return FALSE;
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return FALSE;
+ }
+
+@@ -2040,7 +2621,7 @@ static void registration_success(Sal *sa
+ osip_message_get_expires(ev->request,0,&h);
+ if (h!=NULL && atoi(h->hvalue)!=0){
+ registered=TRUE;
+- if (!register_again_with_updated_contact(op,ev->request,ev->response)){
++ if (!register_again_with_updated_contact(sal,op,ev->request,ev->response)){
+ sal->callbacks.register_success(op,registered);
+ }
+ }else {
+@@ -2078,10 +2659,26 @@ static bool_t registration_failure(Sal *
+ if (val>op->expires)
+ op->expires=val;
+ }else op->expires*=2;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_register_build_register(sal->excontext, op->rid, op->expires, &msg);
++#else
+ eXosip_register_build_register(op->rid,op->expires,&msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_register_send_register(sal->excontext, op->rid, msg);
++#else
+ eXosip_register_send_register(op->rid,msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ break;
+ case 606: /*Not acceptable, workaround for proxies that don't like private addresses
+@@ -2092,7 +2689,7 @@ static bool_t registration_failure(Sal *
+ default:
+ /* if contact is up to date, process the failure, otherwise resend a new register with
+ updated contact first, just in case the faillure is due to incorrect contact */
+- if (ev->response && register_again_with_updated_contact(op,ev->request,ev->response))
++ if (ev->response && register_again_with_updated_contact(sal,op,ev->request,ev->response))
+ return TRUE; /*we are retrying with an updated contact*/
+ if (status_code==403){
+ se=SalErrorFailure;
+@@ -2136,7 +2733,7 @@ static void process_in_call_reply(Sal *s
+ if (ev->response){
+ if (ev->request && strcmp(osip_message_get_method(ev->request),"NOTIFY")==0){
+ if (op->sipfrag_pending){
+- send_notify_for_refer(op->did,op->sipfrag_pending);
++ send_notify_for_refer(sal, op->did,op->sipfrag_pending);
+ op->sipfrag_pending=NULL;
+ }
+ }
+@@ -2156,7 +2753,9 @@ static bool_t process_event(Sal *sal, eX
+ ms_message("CALL_CLOSED or CANCELLED\n");
+ call_terminated(sal,ev);
+ break;
++#ifdef EXOSIP_CALL_TIMEOUT
+ case EXOSIP_CALL_TIMEOUT:
++#endif
+ case EXOSIP_CALL_NOANSWER:
+ ms_message("CALL_TIMEOUT or NOANSWER\n");
+ return call_failure(sal,ev);
+@@ -2184,7 +2783,11 @@ static bool_t process_event(Sal *sal, eX
+ break;
+ case EXOSIP_CALL_REDIRECTED:
+ ms_message("CALL_REDIRECTED");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_default_action(sal->excontext, ev);
++#else
+ eXosip_default_action(ev);
++#endif
+ break;
+ case EXOSIP_CALL_PROCEEDING:
+ ms_message("CALL_PROCEEDING");
+@@ -2213,13 +2816,17 @@ static bool_t process_event(Sal *sal, eX
+ ms_message("CALL_IN_SUBSCRIPTION_NEW ");
+ sal_exosip_subscription_recv(sal,ev);
+ break;
++#ifdef EXOSIP_IN_SUBSCRIPTION_RELEASED
+ case EXOSIP_IN_SUBSCRIPTION_RELEASED:
+ ms_message("CALL_SUBSCRIPTION_NEW ");
+ sal_exosip_in_subscription_closed(sal,ev);
+ break;
++#endif
++#ifdef EXOSIP_SUBSCRIPTION_UPDATE
+ case EXOSIP_SUBSCRIPTION_UPDATE:
+ ms_message("CALL_SUBSCRIPTION_UPDATE");
+ break;
++#endif
+ case EXOSIP_SUBSCRIPTION_NOTIFY:
+ ms_message("CALL_SUBSCRIPTION_NOTIFY");
+ sal_exosip_notify_recv(sal,ev);
+@@ -2228,10 +2835,12 @@ static bool_t process_event(Sal *sal, eX
+ ms_message("EXOSIP_SUBSCRIPTION_ANSWERED, ev->sid=%i, ev->did=%i\n",ev->sid,ev->did);
+ sal_exosip_subscription_answered(sal,ev);
+ break;
++#ifdef EXOSIP_SUBSCRIPTION_CLOSED
+ case EXOSIP_SUBSCRIPTION_CLOSED:
+ ms_message("EXOSIP_SUBSCRIPTION_CLOSED\n");
+ sal_exosip_subscription_closed(sal,ev);
+ break;
++#endif
+ case EXOSIP_SUBSCRIPTION_REQUESTFAILURE: /**< announce a request failure */
+ if (ev->response && (ev->response->status_code == 407 || ev->response->status_code == 401)){
+ return process_authentication(sal,ev);
+@@ -2266,7 +2875,11 @@ static bool_t process_event(Sal *sal, eX
+ case 401:
+ return process_authentication(sal,ev);
+ case 412: {
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_automatic_action (sal->excontext);
++#else
+ eXosip_automatic_action ();
++#endif
+ return 1;
+ }
+ }
+@@ -2282,22 +2895,50 @@ static bool_t process_event(Sal *sal, eX
+
+ int sal_iterate(Sal *sal){
+ eXosip_event_t *ev;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ while((ev=eXosip_event_wait(sal->excontext, 0, 0))!=NULL){
++#else
+ while((ev=eXosip_event_wait(0,0))!=NULL){
++#endif
+ if (process_event(sal,ev))
+ eXosip_event_free(ev);
+ }
+ #ifdef HAVE_EXOSIP_TRYLOCK
++
+ if (eXosip_trylock()==0){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_automatic_refresh(sal->excontext);
++#else
+ eXosip_automatic_refresh();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }else{
+ ms_warning("eXosip_trylock busy.");
+ }
++
++#else /* HAVE_EXOSIP_TRYLOCK */
++
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
+ #else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_automatic_refresh(sal->excontext);
++#else
+ eXosip_automatic_refresh();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
+ #endif
++
++#endif /* HAVE_EXOSIP_TRYLOCK */
+ return 0;
+ }
+
+@@ -2337,7 +2978,7 @@ void sal_message_add_route(osip_message_
+ }
+
+
+-int sal_register(SalOp *h, const char *proxy, const char *from, int expires){
++int sal_register(Sal *ctx, SalOp *h, const char *proxy, const char *from, int expires){
+ osip_message_t *msg;
+ const char *contact=sal_op_get_contact(h);
+
+@@ -2361,31 +3002,60 @@ int sal_register(SalOp *h, const char *p
+ }
+ if (uri) ms_free(uri);
+ sal_address_destroy(from_parsed);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ h->rid=eXosip_register_build_initial_register(ctx->excontext, from, domain,
++ NULL, expires, &msg);
++#else
+ h->rid=eXosip_register_build_initial_register(from,domain,NULL,expires,&msg);
++#endif
+ if (msg){
+ if (contact) register_set_contact(msg,contact);
+ sal_message_add_route(msg,proxy);
+ sal_add_register(h->base.root,h);
+ }else{
+ ms_error("Could not build initial register.");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return -1;
+ }
+ }else{
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_register_build_register(ctx->excontext, h->rid, expires, &msg);
++#else
+ eXosip_register_build_register(h->rid,expires,&msg);
++#endif
+ sal_message_add_route(msg,proxy);
+ }
+ if (msg){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_register_send_register(ctx->excontext, h->rid, msg);
++#else
+ eXosip_register_send_register(h->rid,msg);
++#endif
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ h->expires=expires;
+ return (msg != NULL) ? 0 : -1;
+ }
+
+-int sal_register_refresh(SalOp *op, int expires){
++int sal_register_refresh(Sal *ctx, SalOp *op, int expires){
+ osip_message_t *msg=NULL;
+ const char *contact=sal_op_get_contact(op);
+
+@@ -2408,27 +3078,58 @@ int sal_register_refresh(SalOp *op, int
+ }
+ }
+ }
++#else /* HAVE_EXOSIP_TRYLOCK */
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
+ #else
+ eXosip_lock();
+ #endif
++#endif /* HAVE_EXOSIP_TRYLOCK */
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_register_build_register(ctx->excontext, op->rid, expires, &msg);
++#else
+ eXosip_register_build_register(op->rid,expires,&msg);
++#endif
+ if (msg!=NULL){
+ if (contact) register_set_contact(msg,contact);
+ sal_message_add_route(msg,sal_op_get_route(op));
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_register_send_register(ctx->excontext, op->rid, msg);
++#else
+ eXosip_register_send_register(op->rid,msg);
++#endif
+ }else ms_error("Could not build REGISTER refresh message.");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return (msg != NULL) ? 0 : -1;
+ }
+
+-
+-int sal_unregister(SalOp *h){
++int sal_unregister(Sal *ctx, SalOp *h){
+ osip_message_t *msg=NULL;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
+- eXosip_register_build_register(h->rid,0,&msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_register_build_register(ctx->excontext, h->rid, 0, &msg);
++#else
++ eXosip_register_build_register(h->rid, 0, &msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ if (msg) eXosip_register_send_register(ctx->excontext, h->rid,msg);
++#else
+ if (msg) eXosip_register_send_register(h->rid,msg);
++#endif
+ else ms_warning("Could not build unREGISTER !");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return 0;
+ }
+
+@@ -2598,8 +3299,13 @@ void sal_set_keepalive_period(Sal *ctx,u
+ default:
+ break;
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_set_option (ctx->excontext, EXOSIP_OPT_UDP_KEEP_ALIVE, &ctx->keepalive_period);
++#else
+ eXosip_set_option (EXOSIP_OPT_UDP_KEEP_ALIVE, &ctx->keepalive_period);
++#endif
+ }
++
+ unsigned int sal_get_keepalive_period(Sal *ctx) {
+ return ctx->keepalive_period;
+ }
+@@ -2632,16 +3338,32 @@ void sal_address_set_transport(SalAddres
+ }
+
+ /* sends a reinvite. Local media description may have changed by application since call establishment*/
+-int sal_call_update(SalOp *h, const char *subject){
++int sal_call_update(Sal *sal, SalOp *h, const char *subject){
+ int err=0;
+ osip_message_t *reinvite=NULL;
+
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ if(eXosip_call_build_request(sal->excontext, h->did, "INVITE", &reinvite) != 0 || reinvite==NULL){
++#else
+ if(eXosip_call_build_request(h->did,"INVITE",&reinvite) != 0 || reinvite==NULL){
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return -1;
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ osip_message_set_subject(reinvite,subject);
+ osip_message_set_allow(reinvite, "INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO");
+ if (h->base.contact){
+@@ -2656,9 +3378,21 @@ int sal_call_update(SalOp *h, const char
+ h->sdp_offering=TRUE;
+ set_sdp_from_desc(reinvite,h->base.local_media);
+ }else h->sdp_offering=FALSE;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ err = eXosip_call_send_request(sal->excontext, h->did, reinvite);
++#else
+ err = eXosip_call_send_request(h->did, reinvite);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return err;
+ }
+
+--- a/coreapi/sal_eXosip2.h
++++ b/coreapi/sal_eXosip2.h
+@@ -53,6 +53,9 @@ struct Sal{
+ bool_t expire_old_contact;
+ bool_t add_dates;
+ bool_t tcp_tls_keepalive;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ struct eXosip_t *excontext;
++#endif
+ };
+
+ struct SalOp{
+--- a/coreapi/sal_eXosip2_presence.c
++++ b/coreapi/sal_eXosip2_presence.c
+@@ -17,6 +17,9 @@ along with this program; if not, write t
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
+
+ #include "sal_eXosip2.h"
+
+@@ -101,7 +104,7 @@ static void msg_add_current_date(osip_me
+ }
+
+
+-int sal_message_send(SalOp *op, const char *from, const char *to, const char* content_type, const char *msg){
++int sal_message_send(Sal *ctx, SalOp *op, const char *from, const char *to, const char* content_type, const char *msg){
+ osip_message_t *sip=NULL;
+
+ if(op->cid == -1)
+@@ -113,68 +116,126 @@ int sal_message_send(SalOp *op, const ch
+ sal_op_set_to(op,to);
+
+ sal_exosip_fix_route(op);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_message_build_request(ctx->excontext, &sip, "MESSAGE", sal_op_get_to(op),
++ sal_op_get_from(op),sal_op_get_route(op));
++#else
+ eXosip_message_build_request(&sip,"MESSAGE",sal_op_get_to(op),
+ sal_op_get_from(op),sal_op_get_route(op));
++#endif
+ if (sip!=NULL){
+ sal_exosip_add_custom_headers(sip,op->base.custom_headers);
+ msg_add_current_date(sip);
+ osip_message_set_content_type(sip,content_type);
+ if (msg) osip_message_set_body(sip,msg,strlen(msg));
+ sal_add_other(op->base.root,op,sip);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_message_send_request(ctx->excontext, sip);
++#else
+ eXosip_message_send_request(sip);
++#endif
+ }else{
+ ms_error("Could not build MESSAGE request !");
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ else
+ {
+ /* we are currently in communication with the destination */
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
+ //First we generate an INFO message to get the current call_id and a good cseq
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_build_request(ctx->excontext, op->did, "MESSAGE", &sip);
++#else
+ eXosip_call_build_request(op->did,"MESSAGE",&sip);
++#endif
+ if(sip == NULL)
+ {
+ ms_warning("could not get a build info to send MESSAGE, maybe no previous call established ?");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return -1;
+ }
+ sal_exosip_add_custom_headers(sip,op->base.custom_headers);
+ msg_add_current_date(sip);
+ osip_message_set_content_type(sip,content_type);
+ if (msg) osip_message_set_body(sip,msg,strlen(msg));
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_call_send_request(ctx->excontext, op->did, sip);
++#else
+ eXosip_call_send_request(op->did,sip);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ return 0;
+ }
+
+-int sal_text_send(SalOp *op, const char *from, const char *to, const char *msg) {
+- return sal_message_send(op,from,to,"text/plain",msg);
++int sal_text_send(Sal *ctx, SalOp *op, const char *from, const char *to, const char *msg) {
++ return sal_message_send(ctx,op,from,to,"text/plain",msg);
+ }
+ /*presence Subscribe/notify*/
+-int sal_subscribe_presence(SalOp *op, const char *from, const char *to){
++int sal_subscribe_presence(Sal *ctx, SalOp *op, const char *from, const char *to){
+ osip_message_t *msg=NULL;
+ if (from)
+ sal_op_set_from(op,from);
+ if (to)
+ sal_op_set_to(op,to);
+ sal_exosip_fix_route(op);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_subscribe_build_initial_request(ctx->excontext, &msg, sal_op_get_to(op),
++ sal_op_get_from(op), sal_op_get_route(op), "presence", 600);
++#else
+ eXosip_subscribe_build_initial_request(&msg,sal_op_get_to(op),sal_op_get_from(op),
+ sal_op_get_route(op),"presence",600);
++#endif
+ if (msg==NULL){
+ ms_error("Could not build subscribe request to %s",to);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return -1;
+ }
+ if (op->base.contact){
+ _osip_list_set_empty(&msg->contacts,(void (*)(void*))osip_contact_free);
+ osip_message_set_contact(msg,op->base.contact);
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ op->sid=eXosip_subscribe_send_initial_request(ctx->excontext, msg);
++#else
+ op->sid=eXosip_subscribe_send_initial_request(msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ if (op->sid==-1){
+ osip_message_free(msg);
+ return -1;
+@@ -183,45 +244,93 @@ int sal_subscribe_presence(SalOp *op, co
+ return 0;
+ }
+
+-int sal_unsubscribe(SalOp *op){
++int sal_unsubscribe(Sal *ctx, SalOp *op){
+ osip_message_t *msg=NULL;
+ if (op->did==-1){
+ ms_error("cannot unsubscribe, no dialog !");
+ return -1;
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_subscribe_build_refresh_request(ctx->excontext, op->did, &msg);
++#else
+ eXosip_subscribe_build_refresh_request(op->did,&msg);
++#endif
+ if (msg){
+ osip_message_set_expires(msg,"0");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_subscribe_send_refresh_request(ctx->excontext, op->did, msg);
++#else
+ eXosip_subscribe_send_refresh_request(op->did,msg);
++#endif
+ }else ms_error("Could not build subscribe refresh request ! op->sid=%i, op->did=%i",
+ op->sid,op->did);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return 0;
+ }
+
+-int sal_subscribe_accept(SalOp *op){
++int sal_subscribe_accept(Sal *ctx, SalOp *op){
+ osip_message_t *msg=NULL;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_insubscription_build_answer(ctx->excontext, op->tid, 202, &msg);
++#else
+ eXosip_insubscription_build_answer(op->tid,202,&msg);
++#endif
+ if (msg==NULL){
+ ms_error("Fail to build answer to subscribe.");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return -1;
+ }
+ if (op->base.contact){
+ _osip_list_set_empty(&msg->contacts,(void (*)(void*))osip_contact_free);
+ osip_message_set_contact(msg,op->base.contact);
+ }
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_insubscription_send_answer(ctx->excontext, op->tid, 202, msg);
++#else
+ eXosip_insubscription_send_answer(op->tid,202,msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return 0;
+ }
+
+-int sal_subscribe_decline(SalOp *op){
++int sal_subscribe_decline(Sal *ctx, SalOp *op){
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_insubscription_send_answer(ctx->excontext, op->tid, 401, NULL);
++#else
+ eXosip_insubscription_send_answer(op->tid,401,NULL);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return 0;
+ }
+
+@@ -595,45 +704,82 @@ static void add_presence_body(osip_messa
+ }
+
+
+-int sal_notify_presence(SalOp *op, SalPresenceStatus status, const char *status_message){
++int sal_notify_presence(Sal *ctx, SalOp *op, SalPresenceStatus status, const char *status_message){
+ osip_message_t *msg=NULL;
++#if 1
++ enum eXosip_ss ss=EXOSIP_SUBCRSTATE_ACTIVE;
++#else
+ eXosip_ss_t ss=EXOSIP_SUBCRSTATE_ACTIVE;
++#endif
+ if (op->nid==-1){
+ ms_warning("Cannot notify, subscription was closed.");
+ return -1;
+ }
+
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_insubscription_build_notify(ctx->excontext, op->did, ss, DEACTIVATED, &msg);
++#else
+ eXosip_insubscription_build_notify(op->did,ss,DEACTIVATED,&msg);
++#endif
+ if (msg!=NULL){
+ const char *identity=sal_op_get_contact(op);
+ if (identity==NULL) identity=sal_op_get_to(op);
+ _osip_list_set_empty(&msg->contacts,(void (*)(void*))osip_contact_free);
+ osip_message_set_contact(msg,identity);
+ add_presence_body(msg,status);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_insubscription_send_request(ctx->excontext, op->did, msg);
++#else
+ eXosip_insubscription_send_request(op->did,msg);
++#endif
+ }else ms_error("could not create notify for incoming subscription.");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return 0;
+ }
+
+-int sal_notify_close(SalOp *op){
++int sal_notify_close(Sal *ctx, SalOp *op){
+ osip_message_t *msg=NULL;
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_insubscription_build_notify(ctx->excontext, op->did, EXOSIP_SUBCRSTATE_TERMINATED,
++ DEACTIVATED, &msg);
++#else
+ eXosip_insubscription_build_notify(op->did,EXOSIP_SUBCRSTATE_TERMINATED,DEACTIVATED,&msg);
++#endif
+ if (msg!=NULL){
+ const char *identity=sal_op_get_contact(op);
+ if (identity==NULL) identity=sal_op_get_to(op);
+ osip_message_set_contact(msg,identity);
+ add_presence_body(msg,SalPresenceOffline);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_insubscription_send_request(ctx->excontext, op->did, msg);
++#else
+ eXosip_insubscription_send_request(op->did,msg);
++#endif
+ }else ms_error("sal_notify_close(): could not create notify for incoming subscription"
+ " did=%i, nid=%i",op->did,op->nid);
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ return 0;
+ }
+
+-int sal_publish(SalOp *op, const char *from, const char *to, SalPresenceStatus presence_mode){
++int sal_publish(Sal *ctx, SalOp *op, const char *from, const char *to, SalPresenceStatus presence_mode){
+ osip_message_t *pub;
+ int i;
+ char buf[1024];
+@@ -641,8 +787,13 @@ int sal_publish(SalOp *op, const char *f
+
+ mk_presence_body (presence_mode, from, buf, sizeof (buf), presence_style);
+
++#ifdef HAVE_STRUCT_EXOSIP_T
++ i = eXosip_build_publish(ctx->excontext, &pub, to, from, NULL, "presence", "600",
++ presence_style ? "application/xpidf+xml" : "application/pidf+xml", buf);
++#else
+ i = eXosip_build_publish(&pub,to, from, NULL, "presence", "600",
+ presence_style ? "application/xpidf+xml" : "application/pidf+xml", buf);
++#endif
+ if (i<0){
+ ms_warning("Failed to build publish request.");
+ return -1;
+@@ -650,10 +801,23 @@ int sal_publish(SalOp *op, const char *f
+ if (route)
+ sal_message_add_route(pub,route);
+
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(ctx->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ i = eXosip_publish(ctx->excontext, pub, to); /* should update the sip-if-match parameter
++ from sip-etag from last 200ok of PUBLISH */
++#else
+ i = eXosip_publish(pub, to); /* should update the sip-if-match parameter
+ from sip-etag from last 200ok of PUBLISH */
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(ctx->excontext);
++#else
+ eXosip_unlock();
++#endif
+ if (i<0){
+ ms_message("Failed to send publish request.");
+ return -1;
+@@ -693,10 +857,26 @@ void sal_exosip_subscription_recv(Sal *s
+ }else {
+ osip_message_t *msg=NULL;
+ ms_warning("Probably a refresh subscribe");
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_lock(sal->excontext);
++#else
+ eXosip_lock();
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_insubscription_build_answer(sal->excontext, ev->tid, 202, &msg);
++#else
+ eXosip_insubscription_build_answer(ev->tid,202,&msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_insubscription_send_answer(sal->excontext, ev->tid, 202, msg);
++#else
+ eXosip_insubscription_send_answer(ev->tid,202,msg);
++#endif
++#ifdef HAVE_STRUCT_EXOSIP_T
++ eXosip_unlock(sal->excontext);
++#else
+ eXosip_unlock();
++#endif
+ }
+ }else _sal_exosip_subscription_recv(sal,ev);
+ }
+--- a/coreapi/sal.h
++++ b/coreapi/sal.h
+@@ -382,8 +382,8 @@ void sal_op_set_contact(SalOp *op, const
+ void sal_op_set_route(SalOp *op, const char *route);
+ void sal_op_set_from(SalOp *op, const char *from);
+ void sal_op_set_to(SalOp *op, const char *to);
+-void sal_op_release(SalOp *h);
+-void sal_op_authenticate(SalOp *h, const SalAuthInfo *info);
++void sal_op_release(Sal *ctx, SalOp *h);
++void sal_op_authenticate(Sal *ctx, SalOp *h, const SalAuthInfo *info);
+ void sal_op_cancel_authentication(SalOp *h);
+ void sal_op_set_user_pointer(SalOp *h, void *up);
+ int sal_op_get_auth_requested(SalOp *h, const char **realm, const char **username);
+@@ -402,51 +402,51 @@ const char* sal_op_get_call_id(const Sal
+
+ /*Call API*/
+ int sal_call_set_local_media_description(SalOp *h, SalMediaDescription *desc);
+-int sal_call(SalOp *h, const char *from, const char *to);
+-int sal_call_notify_ringing(SalOp *h, bool_t early_media);
++int sal_call(Sal *ctx, SalOp *h, const char *from, const char *to);
++int sal_call_notify_ringing(Sal *ctx, SalOp *h, bool_t early_media);
+ /*accept an incoming call or, during a call accept a reINVITE*/
+-int sal_call_accept(SalOp*h);
+-int sal_call_decline(SalOp *h, SalReason reason, const char *redirection /*optional*/);
+-int sal_call_update(SalOp *h, const char *subject);
++int sal_call_accept(Sal *ctx, SalOp *h);
++int sal_call_decline(Sal *ctx, SalOp *h, SalReason reason, const char *redirection /*optional*/);
++int sal_call_update(Sal *sal, SalOp *h, const char *subject);
+ SalMediaDescription * sal_call_get_remote_media_description(SalOp *h);
+ SalMediaDescription * sal_call_get_final_media_description(SalOp *h);
+-int sal_call_refer(SalOp *h, const char *refer_to);
+-int sal_call_refer_with_replaces(SalOp *h, SalOp *other_call_h);
++int sal_call_refer(Sal *ctx, SalOp *h, const char *refer_to);
++int sal_call_refer_with_replaces(Sal *ctx, SalOp *h, SalOp *other_call_h);
+ int sal_call_accept_refer(SalOp *h);
+ /*informs this call is consecutive to an incoming refer */
+ int sal_call_set_referer(SalOp *h, SalOp *refered_call);
+ /* returns the SalOp of a call that should be replaced by h, if any */
+-SalOp *sal_call_get_replaces(SalOp *h);
+-int sal_call_send_dtmf(SalOp *h, char dtmf);
+-int sal_call_terminate(SalOp *h);
++SalOp *sal_call_get_replaces(Sal *ctx, SalOp *h);
++int sal_call_send_dtmf(Sal *ctx, SalOp *h, char dtmf);
++int sal_call_terminate(Sal *ctx, SalOp *h);
+ bool_t sal_call_autoanswer_asked(SalOp *op);
+-void sal_call_send_vfu_request(SalOp *h);
++void sal_call_send_vfu_request(Sal *ctx, SalOp *h);
+ int sal_call_is_offerer(const SalOp *h);
+-int sal_call_notify_refer_state(SalOp *h, SalOp *newcall);
++int sal_call_notify_refer_state(Sal *ctx, SalOp *h, SalOp *newcall);
+
+ /*Registration*/
+-int sal_register(SalOp *op, const char *proxy, const char *from, int expires);
+-int sal_register_refresh(SalOp *op, int expires);
+-int sal_unregister(SalOp *h);
++int sal_register(Sal *ctx, SalOp *op, const char *proxy, const char *from, int expires);
++int sal_register_refresh(Sal *ctx, SalOp *op, int expires);
++int sal_unregister(Sal *ctx, SalOp *h);
+
+ /*Messaging */
+-int sal_text_send(SalOp *op, const char *from, const char *to, const char *text);
+-int sal_message_send(SalOp *op, const char *from, const char *to, const char* content_type, const char *msg);
++int sal_text_send(Sal *ctx, SalOp *op, const char *from, const char *to, const char *text);
++int sal_message_send(Sal *ctx, SalOp *op, const char *from, const char *to, const char* content_type, const char *msg);
+
+ /*presence Subscribe/notify*/
+-int sal_subscribe_presence(SalOp *op, const char *from, const char *to);
+-int sal_unsubscribe(SalOp *op);
+-int sal_subscribe_accept(SalOp *op);
+-int sal_subscribe_decline(SalOp *op);
+-int sal_notify_presence(SalOp *op, SalPresenceStatus status, const char *status_message);
+-int sal_notify_close(SalOp *op);
++int sal_subscribe_presence(Sal *ctx, SalOp *op, const char *from, const char *to);
++int sal_unsubscribe(Sal *ctx, SalOp *op);
++int sal_subscribe_accept(Sal *ctx, SalOp *op);
++int sal_subscribe_decline(Sal *ctx, SalOp *op);
++int sal_notify_presence(Sal *ctx, SalOp *op, SalPresenceStatus status, const char *status_message);
++int sal_notify_close(Sal *ctx, SalOp *op);
+
+ /*presence publish */
+-int sal_publish(SalOp *op, const char *from, const char *to, SalPresenceStatus status);
++int sal_publish(Sal *ctx, SalOp *op, const char *from, const char *to, SalPresenceStatus status);
+
+
+ /*ping: main purpose is to obtain its own contact address behind firewalls*/
+-int sal_ping(SalOp *op, const char *from, const char *to);
++int sal_ping(Sal *ctx, SalOp *op, const char *from, const char *to);
+
+
+
+--- a/m4/exosip.m4
++++ b/m4/exosip.m4
+@@ -13,64 +13,30 @@ case $host_alias in
+ ;;
+ esac
+
++
+ dnl eXosip embeded stuff
+ EXOSIP_CFLAGS="$OSIP_CFLAGS -DOSIP_MT "
+-EXOSIP_LIBS="$OSIP_LIBS -leXosip2 "
++EXOSIP_LIBS="$OSIP_LIBS -leXosip2 "
++
+
+-CPPFLAGS_save=$CPPFLAGS
+-CPPFLAGS="$OSIP_CFLAGS $CPPFLAGS"
+-AC_CHECK_HEADER([eXosip2/eXosip.h], ,AC_MSG_ERROR([Could not find eXosip2 headers !]))
+-
+-dnl check exosip support of DSCP in exosip
+-AC_MSG_CHECKING([for DSCP support in exosip])
+-AC_TRY_COMPILE([#include <eXosip2/eXosip.h>],
+- [int dscp=0;eXosip_set_option(EXOSIP_OPT_SET_DSCP,&dscp);],
+- has_exosip_dscp=yes,
+- has_exosip_dscp=no
++dnl check for eXosip2 headers
++AC_CHECK_HEADERS([eXosip2/eXosip.h],
++ [], [AC_MSG_ERROR([Could not find eXosip2 headers])]
+ )
+-AC_MSG_RESULT($has_exosip_dscp)
+-if test "$has_exosip_dscp" = "yes" ; then
+- AC_DEFINE( HAVE_EXOSIP_DSCP, 1, [Define if exosip dscp available] )
+-fi
+
+-CPPFLAGS=$CPPFLAGS_save
++dnl check for eXosip2 libs
++AC_SEARCH_LIBS([eXosip_init], [eXosip2],
++ [], [AC_MSG_ERROR([Could not find eXosip2 library])]
++)
+
++AC_CHECK_FUNCS([ eXosip_malloc eXosip_set_tls_ctx eXosip_get_version eXosip_tls_verify_certificate eXosip_tls_verify_cn eXosip_trylock eXosip_reset_transports ])
+
++if test "x$ac_cv_func_eXosip_malloc" == xyes; then
++ AC_DEFINE([HAVE_STRUCT_EXOSIP_T], [1], [Define if struct eXosip_t exists.])
++elif test "x$ac_cv_func_eXosip_set_tls_ctx" != xyes; then
++ AC_MSG_ERROR([Could not find eXosip2 library with version >= 3.5.0 !])
++fi
+
+-dnl check for eXosip2 libs
+-LDFLAGS_save=$LDFLAGS
+-LDFLAGS="$OSIP_LIBS $LDFLAGS $OPENSSL_LIBS"
+-LIBS_save=$LIBS
+-AC_CHECK_LIB([eXosip2],[eXosip_set_tls_ctx],
+- [],
+- [AC_MSG_ERROR([Could not find eXosip2 library with version >= 3.5.0 !])],
+- [-losipparser2 -losip2 ])
+-AC_CHECK_LIB([eXosip2],[eXosip_get_version],
+- [AC_DEFINE([HAVE_EXOSIP_GET_VERSION],[1],[Defined when eXosip_get_version is available])],
+- [],
+- [-losipparser2 -losip2 ])
+-AC_CHECK_LIB([eXosip2],[eXosip_tls_verify_certificate],
+- [AC_DEFINE([HAVE_EXOSIP_TLS_VERIFY_CERTIFICATE],[1],[Defined when eXosip_tls_verify_certificate is available])],
+- [AC_MSG_WARN([Could not find eXosip_tls_verify_certificate in eXosip2 !])],
+- [-losipparser2 -losip2 ])
+-AC_CHECK_LIB([eXosip2],[eXosip_tls_verify_cn],
+- [AC_DEFINE([HAVE_EXOSIP_TLS_VERIFY_CN],[1],[Defined when eXosip_tls_verify_certificate is available])],
+- [AC_MSG_WARN([Could not find eXosip_tls_verify_cn in eXosip2 !])],
+- [-losipparser2 -losip2 ])
+-AC_CHECK_LIB([eXosip2],[eXosip_trylock],
+- [AC_DEFINE([HAVE_EXOSIP_TRYLOCK],[1],[Defined when eXosip_get_socket is available])],
+- [],
+- [-losipparser2 -losip2 ])
+-AC_CHECK_LIB([eXosip2],[eXosip_reset_transports],
+- [AC_DEFINE([HAVE_EXOSIP_RESET_TRANSPORTS],[1],[Defined when eXosip_reset_transports is available])],
+- [],
+- [-losipparser2 -losip2 ])
+-dnl AC_CHECK_LIB([eXosip2],[eXosip_get_naptr],
+-dnl [AC_DEFINE([HAVE_EXOSIP_NAPTR_SUPPORT],[1],[Defined when eXosip_get_naptr is available])],
+-dnl [],
+-dnl [-losipparser2 -losip2 ])
+-LIBS=$LIBS_save
+-LDFLAGS=$LDFLAGS_save
+
+ AC_SUBST(EXOSIP_CFLAGS)
+ AC_SUBST(EXOSIP_LIBS)
diff --git a/community/lz4/PKGBUILD b/community/lz4/PKGBUILD
new file mode 100644
index 000000000..e305c8c70
--- /dev/null
+++ b/community/lz4/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 96146 2013-08-20 10:35:29Z seblu $
+# Maintainer: Sébastien Luttringer
+
+# Contacted by mail, author use svn commit as release version.
+# He only push tested release code into svn and support using revision as version
+
+pkgname=lz4
+pkgver=102
+pkgrel=2
+pkgdesc='Very fast lossless compression algorithm'
+arch=('i686' 'x86_64')
+url='https://code.google.com/p/lz4/'
+license=('BSD')
+makedepends=('svn')
+depends=('glibc')
+source=("$pkgname::svn+http://lz4.googlecode.com/svn/trunk/#revision=$pkgver")
+md5sums=('SKIP')
+
+build() {
+ cd $pkgname
+ make
+}
+
+package() {
+ cd $pkgname
+ install -Dm755 lz4c "$pkgdir/usr/bin/lz4c"
+ install -Dm644 cmake/pack/release_COPYING.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/mayavi/PKGBUILD b/community/mayavi/PKGBUILD
index a4498094c..df6dee64e 100644
--- a/community/mayavi/PKGBUILD
+++ b/community/mayavi/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 88238 2013-04-14 20:02:10Z aginiewicz $
+# $Id: PKGBUILD 96082 2013-08-20 06:32:22Z lcarlier $
# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
pkgname=mayavi
pkgver=4.3.0
-pkgrel=1
+pkgrel=2
pkgdesc="A 3-dimensional visualizer of scientific data"
arch=('i686' 'x86_64')
url="https://github.com/enthought/mayavi"
license=('BSD')
depends=('ipython2' 'vtk' 'python2-envisage' 'wxpython')
-makedepends=('python2-distribute' 'python2-sphinx' 'xorg-server-xvfb' 'twisted')
+makedepends=('python2-setuptools' 'python2-sphinx' 'xorg-server-xvfb' 'twisted')
replaces=('python2-mayavi')
provides=('python2-mayavi')
options=(!emptydirs)
diff --git a/community/mupdf/PKGBUILD b/community/mupdf/PKGBUILD
index 8406480bb..a957e6b26 100644
--- a/community/mupdf/PKGBUILD
+++ b/community/mupdf/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 95919 2013-08-18 17:34:31Z bpiotrowski $
+# $Id: PKGBUILD 96166 2013-08-20 21:04:13Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: Brad Fanella <bradfanella@archlinux.us>
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
@@ -7,7 +7,7 @@
pkgname=mupdf
pkgver=1.3
-pkgrel=2
+pkgrel=3
pkgdesc='Lightweight PDF and XPS viewer'
arch=('i686' 'x86_64')
url='http://mupdf.com'
@@ -33,8 +33,10 @@ package() {
rm "$pkgdir"/usr/bin/mupdf-x11
cd platform/debian
- sed -i 's/mupdf.xpm/mupdf/' mupdf.desktop
- sed -i 's/application\/x-pdf/application\/x-pdf/' mupdf.desktop
+ sed -i -e 's/mupdf.xpm/mupdf/' \
+ -e 's/application\/x-pdf/application\/x-pdf/' \
+ -e 's/mupdf-select-file/mupdf/' \
+ mupdf.desktop
install -Dm644 mupdf.desktop "$pkgdir"/usr/share/applications/mupdf.desktop
install -Dm644 mupdf.xpm "$pkgdir"/usr/share/pixmaps/mupdf.xpm
diff --git a/community/mythplugins/PKGBUILD b/community/mythplugins/PKGBUILD
index 3ecef6341..ac9b96c0f 100644
--- a/community/mythplugins/PKGBUILD
+++ b/community/mythplugins/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 95422 2013-08-12 05:40:02Z jconder $
+# $Id: PKGBUILD 96153 2013-08-20 11:49:57Z jconder $
# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
@@ -13,8 +13,8 @@ pkgname=('mythplugins-mytharchive'
'mythplugins-mythweather'
'mythplugins-mythweb'
'mythplugins-mythzoneminder')
-pkgver=0.26.0
-pkgrel=3
+pkgver=0.26.1
+pkgrel=1
epoch=1
arch=('i686' 'x86_64')
url="http://www.mythtv.org"
@@ -29,7 +29,7 @@ source=("ftp://ftp.osuosl.org/pub/mythtv/$pkgbase-$pkgver.tar.bz2"
'cdparanoia.patch'
'php55.patch'
'mtd.rc')
-md5sums=('15bd7b2f4173488966f3d761e0eacffa'
+md5sums=('d896d9f9313ba5dd95e2e977bf9c0f8f'
'5de8dd79d0b8a2b006f3c3258938b6b7'
'a6df720ef22fe6bef8c650b1bd5948cb'
'476c12ba074794ad7f4ae092bdf949d6')
diff --git a/community/mythtv/PKGBUILD b/community/mythtv/PKGBUILD
index 5616cc87c..f3c23c0cc 100644
--- a/community/mythtv/PKGBUILD
+++ b/community/mythtv/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 94897 2013-08-01 06:55:19Z bpiotrowski $
+# $Id: PKGBUILD 96148 2013-08-20 11:25:49Z jconder $
# Maintainer: Jonathan Conder <jonno.conder@gmail.com>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Juergen Hoetzel <juergen@archlinux.org>
@@ -6,8 +6,8 @@
# Contributor: dorphell <dorphell@archlinux.org>
pkgname=mythtv
-pkgver=0.26.0
-pkgrel=10
+pkgver=0.26.1
+pkgrel=1
epoch=1
pkgdesc="A Homebrew PVR project"
arch=('i686' 'x86_64')
@@ -33,7 +33,7 @@ source=("ftp://ftp.osuosl.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2"
'mythbackend.service'
'libva-compat.patch::https://github.com/garybuhrmaster/mythtv/commit/2add868d2f18b8b47d9747e043f052e88869bfc3.patch'
'http://code.mythtv.org/trac/raw-attachment/ticket/11338/libcec-2-support.patch')
-md5sums=('f57066bf75e6f14824c494d41639f4f9'
+md5sums=('ef25a9b86f4a23d6f07d83791a1e5c9e'
'f64b8219e3d27a2edf96733b851e576b'
'e4d572dcc307d6d8ae26bee5aebf9f3a'
'ae88a16e9f42a913f395bf71af18e931'
diff --git a/community/passenger/PKGBUILD b/community/passenger/PKGBUILD
index 0acb70cea..b32b989fb 100644
--- a/community/passenger/PKGBUILD
+++ b/community/passenger/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 94307 2013-07-19 15:21:45Z spupykin $
+# $Id: PKGBUILD 96150 2013-08-20 11:37:13Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=passenger
-pkgver=4.0.10
+pkgver=4.0.14
pkgrel=1
pkgdesc="mod_rails passenger"
arch=('i686' 'x86_64')
@@ -14,13 +14,15 @@ makedepends=('apache')
install=passenger.install
options=('!emptydirs')
source=($pkgname-$pkgver.tar.gz::https://github.com/FooBarWidget/passenger/archive/release-$pkgver.tar.gz)
-md5sums=('a30ec12f12923aedd42ed2747903f65a')
+md5sums=('064ba40c29364351e2a67c2ac6a13ce4')
-build(){
+prepare() {
cd $srcdir/passenger-release-$pkgver
+ sed -i '1,1i#include <stdint.h>' ext/common/Utils/MD5.cpp
+}
-# sed -i 's/env python/env python2/' lib/phusion_passenger/wsgi/request_handler.py
-
+build(){
+ cd $srcdir/passenger-release-$pkgver
./bin/passenger-install-apache2-module -a
rake nginx
}
diff --git a/community/python-bsddb/PKGBUILD b/community/python-bsddb/PKGBUILD
index 437976a45..cd8409a94 100644
--- a/community/python-bsddb/PKGBUILD
+++ b/community/python-bsddb/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 95395 2013-08-10 22:18:43Z eric $
+# $Id: PKGBUILD 96111 2013-08-20 06:32:46Z lcarlier $
# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Douglas Soares de Andrade <dsandrade@gmail.com>
@@ -7,12 +7,12 @@
pkgbase=python-bsddb
pkgname=('python2-bsddb' 'python-bsddb')
pkgver=6.0.0
-pkgrel=1
+pkgrel=2
pkgdesc="Python interface for BerkeleyDB"
license=('MIT')
arch=('i686' 'x86_64')
url="http://www.jcea.es/programacion/pybsddb.htm"
-makedepends=('python2-distribute' 'python-distribute')
+makedepends=('python2-setuptools' 'python-setuptools')
source=(http://pypi.python.org/packages/source/b/bsddb3/bsddb3-${pkgver}.tar.gz
LICENSE)
sha1sums=('ca5c204b2c9cf4fff396ba3d49994fe1a95d669f'
diff --git a/community/python-cchardet/PKGBUILD b/community/python-cchardet/PKGBUILD
index 839d69e74..9c9267c91 100644
--- a/community/python-cchardet/PKGBUILD
+++ b/community/python-cchardet/PKGBUILD
@@ -1,16 +1,17 @@
-# $Id: PKGBUILD 90632 2013-05-13 12:37:47Z mtorromeo $
+# $Id: PKGBUILD 96112 2013-08-20 06:32:47Z lcarlier $
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
pkgname=python-cchardet
pkgname=(python-cchardet python2-cchardet)
-pkgver=0.3.3
+pkgver=0.3.5
pkgrel=1
pkgdesc="Universal encoding detector faster than chardet."
url="http://pypi.python.org/pypi/cchardet/"
-makedepends=('cython' 'cython2' 'python-distribute' 'python2-distribute')
+makedepends=('cython' 'cython2' 'python-setuptools' 'python2-setuptools')
license=('MIT')
arch=('i686' 'x86_64')
source=(http://pypi.python.org/packages/source/c/cchardet/cchardet-$pkgver.tar.gz)
+sha256sums=('51094c573d248a4908a968e75edd05bab136f10fcc8a70b87c8243b6d45731f8')
build() {
cd "$srcdir/cchardet-$pkgver"
@@ -48,4 +49,3 @@ package_python2-cchardet() {
install -m0644 -D "README.rst" "$pkgdir/usr/share/licenses/$pkgname/README.rst"
}
-sha256sums=('f326245fa9dc1541a3251cbae66ce2fa8d94969a6f6dfb2800e3beb3636cd2b8')
diff --git a/community/python-mpi4py/PKGBUILD b/community/python-mpi4py/PKGBUILD
index aefaa8215..e4d34d603 100644
--- a/community/python-mpi4py/PKGBUILD
+++ b/community/python-mpi4py/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 95616 2013-08-15 02:50:55Z fyan $
+# $Id: PKGBUILD 96118 2013-08-20 06:32:52Z lcarlier $
# Maintainer : Stéphane Gaudreault <stephane@archlinux.org>
# Contributor: Sebastien Binet <binet@cern.ch>
pkgbase=python-mpi4py
pkgname=('python-mpi4py' 'python2-mpi4py')
pkgver=1.3.1
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://mpi4py.scipy.org"
license=('BSD')
-makedepends=('python' 'python2' 'python-distribute' 'python2-distribute' 'openmpi')
+makedepends=('python' 'python2' 'python-setuptools' 'python2-setuptools' 'openmpi')
source=(http://mpi4py.googlecode.com/files/mpi4py-${pkgver}.tar.gz)
build() {
diff --git a/community/python-numexpr/PKGBUILD b/community/python-numexpr/PKGBUILD
index ac6d8d3fa..c8ba3ef34 100644
--- a/community/python-numexpr/PKGBUILD
+++ b/community/python-numexpr/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 90422 2013-05-12 09:41:18Z aginiewicz $
+# $Id: PKGBUILD 96119 2013-08-20 06:32:53Z lcarlier $
# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
# Contributor: Sebastien Binet <binet@lblbox>
pkgbase=python-numexpr
pkgname=('python2-numexpr' 'python-numexpr')
pkgver=2.1
-pkgrel=1
+pkgrel=2
pkgdesc="A JIT compiler for Python expressions"
url="http://code.google.com/p/numexpr/"
arch=('i686' 'x86_64')
license=('MIT')
-makedepends=('python2-distribute' 'python-distribute' 'python-numpy' 'python2-numpy')
+makedepends=('python2-setuptools' 'python-setuptools' 'python-numpy' 'python2-numpy')
source=(http://numexpr.googlecode.com/files/numexpr-$pkgver.tar.gz)
md5sums=('8c138e81fb4214d05453da0fc88bf0d5')
diff --git a/community/python-psutil/PKGBUILD b/community/python-psutil/PKGBUILD
index 57ff32024..e2d673dc9 100644
--- a/community/python-psutil/PKGBUILD
+++ b/community/python-psutil/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 94009 2013-07-13 10:59:45Z seblu $
+# $Id: PKGBUILD 96120 2013-08-20 06:32:54Z lcarlier $
# Maintainer: Sébastien Luttringer
pkgbase=python-psutil
pkgname=('python-psutil' 'python2-psutil')
pkgver=1.0.1
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url='http://code.google.com/p/psutil/'
license=('custom: BSD')
-makedepends=('python' 'python-distribute' 'python2' 'python2-distribute')
+makedepends=('python' 'python-setuptools' 'python2' 'python2-setuptools')
source=("https://psutil.googlecode.com/files/psutil-$pkgver.tar.gz")
sha1sums=('3d3abb8b7a5479b7299a8d170ec25179410f24d1')
diff --git a/community/python-pyopencl/PKGBUILD b/community/python-pyopencl/PKGBUILD
index 13e7212ca..4a1126de9 100644
--- a/community/python-pyopencl/PKGBUILD
+++ b/community/python-pyopencl/PKGBUILD
@@ -1,15 +1,16 @@
-# $Id: PKGBUILD 94047 2013-07-13 12:36:45Z svenstaro $
+# $Id: PKGBUILD 96123 2013-08-20 06:32:57Z lcarlier $
# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
pkgbase=python-pyopencl
pkgname=('python2-pyopencl' 'python-pyopencl' 'pyopencl-headers')
pkgver=2013.1
-pkgrel=1
+pkgrel=2
pkgdesc="A complete, object-oriented language binding of OpenCL to Python"
arch=('i686' 'x86_64')
url="http://mathema.tician.de/software/pyopencl"
license=('custom')
-makedepends=('boost-libs' 'ctags' 'python2-distribute' 'python-distribute' 'libcl' 'opencl-headers' 'mesa' 'boost' 'python2-mako' 'python-mako' 'python-numpy' 'python2-numpy')
+epoch=1
+makedepends=('boost-libs' 'ctags' 'python2-setuptools' 'python-setuptools' 'libcl' 'opencl-headers' 'mesa' 'boost' 'python2-mako' 'python-mako' 'python-numpy' 'python2-numpy')
source=("http://pypi.python.org/packages/source/p/pyopencl/pyopencl-${pkgver}.tar.gz"
'LICENSE.txt')
sha1sums=('76331c9042d0286c7c722407dec0fb975a6b340c'
@@ -58,4 +59,5 @@ package_pyopencl-headers() {
for file in pyopencl-airy.cl pyopencl-bessel-j.cl pyopencl-bessel-y.cl pyopencl-complex.h pyopencl-eval-tbl.cl pyopencl-ranluxcl.cl; do
install -m644 pyopencl/cl/${file} "${pkgdir}"/usr/include/pyopencl
done
+ install -D -m644 $srcdir/LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
diff --git a/community/python-sqlalchemy/PKGBUILD b/community/python-sqlalchemy/PKGBUILD
index d72c1b2dd..b412e0272 100644
--- a/community/python-sqlalchemy/PKGBUILD
+++ b/community/python-sqlalchemy/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 89654 2013-05-01 16:07:24Z jelle $
+# $Id: PKGBUILD 96127 2013-08-20 06:33:00Z lcarlier $
# Maintainer: Angel Velasquez <angvp@archlinux.org>
# Contributor: Sébastien Luttringer <seblu@aur.archlinux.org>
pkgbase=python-sqlalchemy
pkgname=('python-sqlalchemy' 'python2-sqlalchemy')
-pkgver=0.8.1
+pkgver=0.8.2
pkgrel=1
arch=('i686' 'x86_64') # python2 package contain .so
url="http://www.sqlalchemy.org/"
license=('custom: MIT')
-makedepends=('python' 'python2' 'python-distribute' 'python2-distribute' 'python-nose' 'python2-nose')
+makedepends=('python' 'python2' 'python-setuptools' 'python2-setuptools' 'python-nose' 'python2-nose')
source=(http://downloads.sourceforge.net/sourceforge/sqlalchemy/SQLAlchemy-$pkgver.tar.gz)
-md5sums=('8e27886edc49e69921af77c2274caa41')
+md5sums=('78c5bc43fcbc3dea77fa85caa432625d')
build() {
cp -a SQLAlchemy-$pkgver SQLAlchemy2-$pkgver
diff --git a/community/python2-fonttools/PKGBUILD b/community/python2-fonttools/PKGBUILD
index 424946513..0f8910cbd 100644
--- a/community/python2-fonttools/PKGBUILD
+++ b/community/python2-fonttools/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 93407 2013-07-03 09:46:05Z aginiewicz $
+# $Id: PKGBUILD 96094 2013-08-20 06:32:32Z lcarlier $
# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
# Contributor: Firmicus <firmicus āt gmx dōt net>
pkgname=python2-fonttools
pkgver=2.4
-pkgrel=1
+pkgrel=2
pkgdesc="Converts OpenType and TrueType fonts to and from XML"
url="http://sourceforge.net/projects/fonttools/"
license=("BSD")
arch=('i686' 'x86_64')
depends=("python2-numpy")
-makedepends=("python2-distribute")
+makedepends=("python2-setuptools")
provides=('fonttools') # temporary compatibility because of rename
replaces=('fonttools')
source=(http://downloads.sourceforge.net/fonttools/fonttools-$pkgver.tar.gz)
diff --git a/community/python2-traits/PKGBUILD b/community/python2-traits/PKGBUILD
index 4efd06c57..17e8ac07f 100644
--- a/community/python2-traits/PKGBUILD
+++ b/community/python2-traits/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 88228 2013-04-14 19:37:35Z aginiewicz $
+# $Id: PKGBUILD 96105 2013-08-20 06:32:41Z lcarlier $
# Maintainer: Andrzej Giniewicz <gginiu@gmail.com>
pkgname=python2-traits
pkgver=4.3.0
-pkgrel=1
+pkgrel=2
pkgdesc="Explicitly typed attributes for Python"
arch=('i686' 'x86_64')
url="https://github.com/enthought/traits"
license=('BSD')
depends=('python2-numpy')
-makedepends=('python2-distribute')
+makedepends=('python2-setuptools')
options=(!emptydirs)
source=("$pkgname-$pkgver.tar.gz::https://github.com/enthought/traits/archive/${pkgver}.tar.gz")
diff --git a/community/qcad/PKGBUILD b/community/qcad/PKGBUILD
index f133adb14..45e62a019 100644
--- a/community/qcad/PKGBUILD
+++ b/community/qcad/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 95459 2013-08-12 13:58:43Z spupykin $
+# $Id: PKGBUILD 96151 2013-08-20 11:37:41Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
# Contributor: Giovanni Scafora <linuxmania@gmail.com>
@@ -6,7 +6,7 @@
pkgname=qcad
pkgver=3.2.0.0
-pkgrel=1
+pkgrel=2
pkgdesc="A 2D CAD package based upon Qt"
arch=('i686' 'x86_64')
url="http://www.ribbonsoft.com/qcad.html"
@@ -17,7 +17,7 @@ options=(libtool)
source=($pkgname-$pkgver.tar.gz::https://github.com/qcad/qcad/archive/v${pkgver}.tar.gz
QCad.desktop)
md5sums=('6dd9c47742a0193a739d390e81ca67d0'
- '8c4288986b78b14a813b005e81b6ba53')
+ '35100eaedbdf6625f6e6a09b177854cd')
prepare() {
cd ${srcdir}/qcad-$pkgver
diff --git a/community/qcad/QCad.desktop b/community/qcad/QCad.desktop
index 5841b786e..407319aa2 100644
--- a/community/qcad/QCad.desktop
+++ b/community/qcad/QCad.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Encoding=UTF-8
-Exec=/usr/share/qcad/qcad
+Exec=/usr/bin/qcad
Icon=/usr/share/pixmaps/qcad_icon.png
Name=QCad
StartupNotify=true
diff --git a/community/ubuntuone-client/PKGBUILD b/community/ubuntuone-client/PKGBUILD
index 15bcde899..466a5f13f 100644
--- a/community/ubuntuone-client/PKGBUILD
+++ b/community/ubuntuone-client/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 87512 2013-04-02 00:39:00Z bgyorgy $
+# $Id: PKGBUILD 96135 2013-08-20 06:33:12Z lcarlier $
# Maintainer: Balló György <ballogyor+arch at gmail dot com>
pkgname=ubuntuone-client
pkgver=4.2.0
-pkgrel=1
+pkgrel=2
pkgdesc="Ubuntu One helps you store, sync and share files between your computers"
arch=('i686' 'x86_64')
url="https://launchpad.net/ubuntuone-client"
license=('GPL' 'CCPL:cc-by-sa')
-depends=('dbus-glib' 'python2-configglue' 'python2-distribute' 'python2-gobject' 'libnotify' 'python2-pyinotify' 'ubuntu-sso-client' 'python2-ubuntuone-storageprotocol' 'hicolor-icon-theme' 'xdg-utils')
+depends=('dbus-glib' 'python2-configglue' 'python2-setuptools' 'python2-gobject' 'libnotify' 'python2-pyinotify' 'ubuntu-sso-client' 'python2-ubuntuone-storageprotocol' 'hicolor-icon-theme' 'xdg-utils')
makedepends=('intltool' 'imake' 'python2-distutils-extra')
options=('!libtool')
install=$pkgname.install
diff --git a/community/wesnoth/PKGBUILD b/community/wesnoth/PKGBUILD
index 56a743d06..b22e9bd50 100644
--- a/community/wesnoth/PKGBUILD
+++ b/community/wesnoth/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 94054 2013-07-13 12:37:56Z svenstaro $
+# $Id: PKGBUILD 96161 2013-08-20 15:02:17Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
@@ -6,30 +6,26 @@
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=wesnoth
-pkgver=1.10.6
-pkgrel=6
+pkgver=1.10.7
+pkgrel=1
pkgdesc="A turn-based strategy game on a fantasy world"
arch=('i686' 'x86_64')
license=('GPL')
url="http://www.wesnoth.org/"
-depends=('sdl_ttf' 'sdl_net' 'sdl_mixer' 'sdl_image' 'fribidi' 'boost-libs' 'pango' 'lua' "wesnoth-data>=$pkgver" 'dbus-core' 'python2')
+depends=('sdl_ttf' 'sdl_net' 'sdl_mixer' 'sdl_image' 'fribidi' 'boost-libs' 'pango' 'lua' "wesnoth-data" 'dbus-core' 'python2')
makedepends=('boost' 'cmake')
install=wesnoth.install
options=(!emptydirs)
source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2
wesnothd.tmpfiles.conf
- wesnothd.service
- https://github.com/wesnoth/wesnoth-old/commit/bbd7f6.patch)
-md5sums=('547e3489bbfa778912b11dbee612c380'
+ wesnothd.service)
+md5sums=('3f460a494530d32aa5d5d0f19c95efbd'
'2d2fea6b3d86dfd589f5ad35a3be1f97'
- 'd1b6bf1d3dc05086ee6a370adff0ae4a'
- 'edc7c0547e67cba4ca4f813ca261f572')
+ 'd1b6bf1d3dc05086ee6a370adff0ae4a')
build() {
cd "$srcdir/$pkgname-$pkgver"
- patch -Np1 -i $srcdir/bbd7f6.patch
-
mkdir build && cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
diff --git a/core/kbd/PKGBUILD b/core/kbd/PKGBUILD
index af4c52d16..74a0f8f9f 100644
--- a/core/kbd/PKGBUILD
+++ b/core/kbd/PKGBUILD
@@ -1,21 +1,24 @@
-# $Id: PKGBUILD 186234 2013-05-22 12:12:20Z tpowa $
+# $Id: PKGBUILD 193453 2013-08-20 12:18:42Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=kbd
-pkgver=1.15.5
-pkgrel=4
+pkgver=2.0.0
+pkgrel=1
pkgdesc="Keytable files and keyboard utilities"
arch=('i686' 'x86_64')
url="http://www.kbd-project.org"
license=('GPL')
depends=('glibc' 'pam')
+makedepends=('check')
source=(ftp://ftp.altlinux.org/pub/people/legion/kbd/${pkgname}-${pkgver}.tar.gz
- 'fix-keymap-loading-1.15.5.patch'
'fix-dvorak-es.patch'
'fix-euro2.patch')
provides=('vlock')
conflicts=('vlock')
replaces=('vlock')
+md5sums=('5ba259a0b2464196f6488a72070a3d60'
+ '998957c4f815347dcc874c4d7555dc66'
+ 'd869200acbc0aab6a9cafa43cb140d4e')
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
@@ -29,9 +32,6 @@ prepare() {
mv data/keymaps/i386/dvorak/no{,-dvorak}.map
mv data/keymaps/i386/fgGIod/trf{,-fgGIod}.map
mv data/keymaps/i386/colemak/{en-latin9,colemak}.map
- # fix https://bugs.archlinux.org/task/33308
- # keymap loading is broken for cetain keymaps
- patch -Np1 -i ../fix-keymap-loading-1.15.5.patch
# fix es-dvorak #33662
patch -Np1 -i ../fix-dvorak-es.patch
# fix euro2 #28213
@@ -48,7 +48,3 @@ package() {
cd ${srcdir}/${pkgname}-${pkgver}
make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes DESTDIR=${pkgdir} install
}
-md5sums=('34c71feead8ab9c01ec638acea8cd877'
- '4362091d5e23bab2d158f8c7693a45d8'
- '998957c4f815347dcc874c4d7555dc66'
- 'd869200acbc0aab6a9cafa43cb140d4e')
diff --git a/core/perl/PKGBUILD b/core/perl/PKGBUILD
index b69e86a03..3f3145e7f 100644
--- a/core/perl/PKGBUILD
+++ b/core/perl/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 186370 2013-05-26 09:24:10Z bluewind $
+# $Id: PKGBUILD 193454 2013-08-20 18:08:57Z bluewind $
# Maintainer: Florian Pritz <bluewind@xinu.at>
# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: kevin <kevin.archlinux.org>
@@ -6,7 +6,7 @@
# Contributor: francois <francois.archlinux.org>
pkgname=perl
-pkgver=5.18.0
+pkgver=5.18.1
pkgrel=1
pkgdesc="A highly capable, feature-rich programming language"
arch=(i686 x86_64)
@@ -20,7 +20,7 @@ source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
provides.pl)
install=perl.install
options=('makeflags' '!purge')
-md5sums=('a832e928adfd36d162d2a5d3b631265c'
+md5sums=('4ec1a3f3824674552e749ae420c5e68c'
'5ed2542fdb9a60682f215bd33701e61a'
'1f0cbbee783e8a6d32f01be5118e0d5e'
'999c3eea6464860704abbb055a0f0896')
diff --git a/extra/gnome-chess/PKGBUILD b/extra/gnome-chess/PKGBUILD
index c54e2504b..92b7d016e 100644
--- a/extra/gnome-chess/PKGBUILD
+++ b/extra/gnome-chess/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 188128 2013-06-10 07:55:22Z heftig $
+# $Id: PKGBUILD 193436 2013-08-20 07:10:18Z jgc $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-chess
-pkgver=3.8.3
+pkgver=3.8.4
pkgrel=1
pkgdesc="Play the classic two-player boardgame of chess"
arch=('i686' 'x86_64')
@@ -18,7 +18,7 @@ install=gnome-chess.install
url="https://live.gnome.org/Chess"
groups=('gnome-extra')
source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz)
-sha256sums=('c45493ca7de778029ea78bcf328410a6399dfd91f50241c6f6b4420115c2e786')
+sha256sums=('4b7f20d875585e1d36bc0e4dda8c66ccd2e014f8ef829c4a6ec87275c4418d6a')
build() {
cd $pkgname-$pkgver
diff --git a/extra/gnome-mines/PKGBUILD b/extra/gnome-mines/PKGBUILD
index 6c30c5076..1931c5630 100644
--- a/extra/gnome-mines/PKGBUILD
+++ b/extra/gnome-mines/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 183389 2013-04-21 22:10:07Z heftig $
+# $Id: PKGBUILD 193434 2013-08-20 07:06:23Z jgc $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=gnome-mines
-pkgver=3.8.1
+pkgver=3.8.2
pkgrel=1
pkgdesc="Clear hidden mines from a minefield"
arch=('i686' 'x86_64')
@@ -17,7 +17,7 @@ install=gnome-mines.install
url="https://live.gnome.org/Mines"
groups=('gnome-extra')
source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz)
-sha256sums=('81a47cf8eeb81f1d54ccd42b8eb04f5c8a1e6dcc8fd4f1bc714b147a934da633')
+sha256sums=('e70f13056183f8d9a8aa3721516545364e10e9fde0a4b703de7cba1fe3af531d')
build() {
cd $pkgname-$pkgver
diff --git a/extra/goffice/PKGBUILD b/extra/goffice/PKGBUILD
index 71440eb32..06edd5313 100644
--- a/extra/goffice/PKGBUILD
+++ b/extra/goffice/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 190847 2013-07-18 20:16:59Z jgc $
+# $Id: PKGBUILD 193438 2013-08-20 07:25:28Z jgc $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
pkgname=goffice
-pkgver=0.10.4
+pkgver=0.10.5
pkgrel=1
pkgdesc="A library of document-centric objects and utilities built on top of GLib and Gtk+"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ options=('!libtool')
makedepends=('pkgconfig' 'intltool' 'gtk-doc' 'gobject-introspection')
depends=('librsvg' 'gtk3' 'libgsf' 'libspectre')
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('30cb91693abff241e1b14b741ac23bc588f428b4524b12e3fecd1ea3f0bc67ba')
+sha256sums=('63a7a7dd55fbe91991a66dbc78ab27d2ac55bd722d42d4dd3087e3ae33832570')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/gupnp/PKGBUILD b/extra/gupnp/PKGBUILD
index 021576a19..25b0769c7 100644
--- a/extra/gupnp/PKGBUILD
+++ b/extra/gupnp/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 191763 2013-07-30 10:02:50Z heftig $
+# $Id: PKGBUILD 193457 2013-08-20 18:30:50Z heftig $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: György Balló <ballogy@freestart.hu>
pkgname=gupnp
-pkgver=0.20.4
+pkgver=0.20.5
pkgrel=1
pkgdesc="An object-oriented UPNP framework"
arch=(i686 x86_64)
@@ -14,7 +14,7 @@ makedepends=(gobject-introspection gtk-doc vala)
optdepends=('python2: gupnp-binding-tool')
options=('!libtool')
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('27eec44d62f6f60305cd65d7a488fc128700f8345ab37cc2ab42cf052fdd5b35')
+sha256sums=('be54bd5f3bfea36d689a5ce70679e51ec3ea3c94677e70ffc7c7ef160bffb260')
build() {
cd $pkgname-$pkgver
diff --git a/extra/libgtop/PKGBUILD b/extra/libgtop/PKGBUILD
index e0da8a86e..326865813 100644
--- a/extra/libgtop/PKGBUILD
+++ b/extra/libgtop/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 136578 2011-08-30 12:54:40Z ibiru $
+# $Id: PKGBUILD 193440 2013-08-20 08:09:13Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libgtop
-pkgver=2.28.4
+pkgver=2.28.5
pkgrel=1
pkgdesc="A library that read information about processes and the running system"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ install=libgtop.install
source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.28/${pkgname}-${pkgver}.tar.xz)
options=('!libtool')
url="http://www.gnome.org/"
-sha256sums=('b6619cfd1540267ee81d456d1a26c72c793261586f1b00a7b9a7a229d0abe1d8')
+sha256sums=('c812c174e44a8971a1f33265437cfd10f1e99869c7f5c05f8ee95846a70a3342')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/extra/libwnck3/PKGBUILD b/extra/libwnck3/PKGBUILD
index c7e58c45b..389966ed1 100644
--- a/extra/libwnck3/PKGBUILD
+++ b/extra/libwnck3/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 192146 2013-08-06 11:30:34Z heftig $
+# $Id: PKGBUILD 193459 2013-08-20 18:34:44Z heftig $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=libwnck3
_pkgbasename=libwnck
-pkgver=3.4.6
+pkgver=3.4.7
pkgrel=1
pkgdesc="Window Navigator Construction Kit (GTK+3)"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ makedepends=('intltool' 'gobject-introspection')
options=('!libtool')
url="http://www.gnome.org/"
source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgbasename/${pkgver%.*}/$_pkgbasename-$pkgver.tar.xz)
-sha256sums=('e3ae2d25b684910f49fc548dc96b8a54b77c431d94ad1fd5a37cbecab7bb1851')
+sha256sums=('d48ac9c7f50c0d563097f63d07bcc83744c7d92a1b4ef65e5faeab32b5ccb723')
build() {
cd "$_pkgbasename-$pkgver"
diff --git a/extra/net-snmp/PKGBUILD b/extra/net-snmp/PKGBUILD
index 07cb6c7c8..32950b8b5 100644
--- a/extra/net-snmp/PKGBUILD
+++ b/extra/net-snmp/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 186390 2013-05-26 09:24:49Z bluewind $
+# $Id: PKGBUILD 193416 2013-08-20 06:10:03Z angvp $
# Maintainer:
# Contributor: Dale Blount <dale@archlinux.org>
pkgname=net-snmp
pkgver=5.7.2
-pkgrel=7
+pkgrel=8
pkgdesc="A suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6"
arch=('i686' 'x86_64')
url="http://www.net-snmp.org/"
license=('BSD')
depends=('openssl' 'libnl' 'pciutils')
-makedepends=('python2-distribute')
+makedepends=('python2-setuptools')
optdepends=('perl-term-readkey: for snmpcheck application'
'perl-tk: for snmpcheck and tkmib applications'
'python2: for the python modules')
diff --git a/extra/python-markupsafe/PKGBUILD b/extra/python-markupsafe/PKGBUILD
index 6686eaa4f..fd1757779 100644
--- a/extra/python-markupsafe/PKGBUILD
+++ b/extra/python-markupsafe/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 189977 2013-07-12 06:16:17Z eric $
+# $Id: PKGBUILD 193420 2013-08-20 06:10:07Z angvp $
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: Alex Anthony <alex.anthony28991@gmail.com>
pkgname=('python-markupsafe' 'python2-markupsafe')
pkgver=0.18
-pkgrel=1
+pkgrel=2
pkgdesc="Implements a XML/HTML/XHTML Markup safe string for Python"
arch=('i686' 'x86_64')
url="http://pypi.python.org/pypi/MarkupSafe"
license=('custom')
-makedepends=('python-distribute' 'python2-distribute')
+makedepends=('python-setuptools' 'python2-setuptools')
source=("http://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-${pkgver}.tar.gz")
md5sums=('f8d252fd05371e51dec2fe9a36890687')
diff --git a/extra/python-numpy/PKGBUILD b/extra/python-numpy/PKGBUILD
index e8f9530f6..c3d783bf9 100755
--- a/extra/python-numpy/PKGBUILD
+++ b/extra/python-numpy/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 182931 2013-04-16 08:33:21Z jgc $
+# $Id: PKGBUILD 193422 2013-08-20 06:10:08Z angvp $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
# Contributor: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
@@ -6,12 +6,12 @@
pkgbase=python-numpy
pkgname=('python2-numpy' 'python-numpy')
pkgver=1.7.1
-pkgrel=1
+pkgrel=2
pkgdesc="Scientific tools for Python"
arch=('i686' 'x86_64')
license=('custom')
url="http://www.numpy.org/"
-makedepends=('lapack' 'python' 'python2' 'python-distribute' 'python2-distribute' 'gcc-fortran' 'python-nose')
+makedepends=('lapack' 'python' 'python2' 'python-setuptools' 'python2-setuptools' 'gcc-fortran' 'python-nose')
source=(http://downloads.sourceforge.net/numpy/numpy-${pkgver}.tar.gz)
md5sums=('0ab72b3b83528a7ae79c6df9042d61c6')
diff --git a/extra/swell-foop/PKGBUILD b/extra/swell-foop/PKGBUILD
index 5d93838ca..69a01e38a 100644
--- a/extra/swell-foop/PKGBUILD
+++ b/extra/swell-foop/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 183460 2013-04-21 22:12:12Z heftig $
+# $Id: PKGBUILD 193432 2013-08-20 07:00:28Z jgc $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=swell-foop
-pkgver=3.8.1
+pkgver=3.8.2
pkgrel=1
pkgdesc="Clear the screen by removing groups of colored and shaped tiles"
arch=('i686' 'x86_64')
@@ -17,7 +17,7 @@ install=swell-foop.install
url="https://live.gnome.org/Swell%20Foop"
groups=('gnome-extra')
source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz)
-sha256sums=('50d6b53d7507c1176ade9227f04d1c260143a5ebf8cf812c359c89eaeec9ee99')
+sha256sums=('33b72da1f5378801ae41cb13f3bc35ce44368c104327f68dd51f45653ca62cb9')
build() {
cd $pkgname-$pkgver
diff --git a/libre/claws-mail-libre/PKGBUILD b/libre/claws-mail-libre/PKGBUILD
index 5ee1fec05..723f4c5d2 100644
--- a/libre/claws-mail-libre/PKGBUILD
+++ b/libre/claws-mail-libre/PKGBUILD
@@ -4,14 +4,14 @@
_pkgname=claws-mail
pkgname=$_pkgname-libre
-pkgver=3.9.1
+pkgver=3.9.2
pkgrel=3
pkgdesc='A GTK+ based e-mail client, without nonfree PalmOS handheld devices support'
arch=('i686' 'x86_64' 'mips64el')
license=('GPL3')
url="http://www.$_pkgname.org"
depends=('gtk2' 'gnutls' 'startup-notification' 'enchant'
- 'gpgme' 'libetpan>=1.1' 'libsm' 'db' 'dbus-glib' 'hicolor-icon-theme' 'desktop-file-utils')
+ 'gpgme' 'libetpan>=1.1-4' 'libsm' 'dbus-glib' 'hicolor-icon-theme' 'desktop-file-utils')
makedepends=('compface' 'spamassassin' 'bogofilter' 'valgrind'
# dependencies for plugins
'libsoup' 'libgdata' 'webkitgtk2' 'libnotify' 'libcanberra' 'poppler-glib' 'pygtk')
@@ -38,7 +38,7 @@ provides=("$_pkgname=$pkgver" 'claws')
options=(!libtool)
install=$_pkgname.install
source=(http://downloads.sourceforge.net/sourceforge/sylpheed-claws/$_pkgname-$pkgver.tar.bz2{,.asc})
-md5sums=('8adc734912ff1b83545cb12850100473'
+md5sums=('90de2a265e65fbd9dffdbf428bb0ee28'
'SKIP')
build() {
diff --git a/libre/file-roller-libre/PKGBUILD b/libre/file-roller-libre/PKGBUILD
index 6ea777a16..5c6865833 100644
--- a/libre/file-roller-libre/PKGBUILD
+++ b/libre/file-roller-libre/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 189275 2013-07-02 07:37:30Z heftig $
+# $Id: PKGBUILD 193443 2013-08-20 09:36:30Z jgc $
# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
_pkgname=file-roller
pkgname=file-roller-libre
-pkgver=3.8.3
+pkgver=3.8.4
pkgrel=1
pkgdesc="Create and modify archives, with unar recommendation included and nonfree unace recommendation removed"
arch=('i686' 'x86_64' 'mips64el')
@@ -23,7 +23,7 @@ options=('!libtool' '!emptydirs')
install=file-roller.install
url="http://www.gnome.org"
source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver::3}/$_pkgname-$pkgver.tar.xz)
-sha256sums=('55caac832ed0bab89085fdf7a3c3fa1afaf8ae6fb05aeb2a872e42cb6c52894e')
+sha256sums=('3615bc41bbe28030d16ee414a8f5f9a3e37f745733c39032ef1559a06be3eea8')
build() {
cd $_pkgname-$pkgver
diff --git a/libre/mcomix-libre/PKGBUILD b/libre/mcomix-libre/PKGBUILD
index aba53582b..97e796231 100644
--- a/libre/mcomix-libre/PKGBUILD
+++ b/libre/mcomix-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 91436 2013-05-22 14:15:00Z schuay $
+# $Id: PKGBUILD 95818 2013-08-17 10:12:09Z schuay $
# Maintainer: schuay <jakob.gruber@gmail.com>
# Contributor: Ray Powell <ray_al@xphoniexx.net>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -6,13 +6,13 @@
_pkgname=mcomix
pkgname=mcomix-libre
pkgver=1.00
-pkgrel=3
+pkgrel=4
pkgdesc="A user-friendly, customizable image viewer specifically designed to handle comic books, with unar recommendation"
arch=('any')
url="http://sourceforge.net/projects/mcomix/"
license=('GPL')
depends=('pygtk' 'python-imaging' 'xdg-utils' 'python2' \
- 'desktop-file-utils' 'hicolor-icon-theme' 'python2-distribute')
+ 'desktop-file-utils' 'hicolor-icon-theme' 'python2-setuptools')
makedepends=('gettext' 'intltool')
optdepends=('unar: for rar compressed comics')
conflicts=('mcomix' 'comix')
diff --git a/libre/tp_smapi-libre-lts/PKGBUILD b/libre/tp_smapi-libre-lts/PKGBUILD
index 23900636f..f726d9a8c 100644
--- a/libre/tp_smapi-libre-lts/PKGBUILD
+++ b/libre/tp_smapi-libre-lts/PKGBUILD
@@ -12,7 +12,7 @@ pkgname=tp_smapi-libre-lts
_pkgname=tp_smapi
_extramodules=/usr/lib/modules/extramodules-3.0-LIBRE-LTS
pkgver=0.41
-pkgrel=11
+pkgrel=12
pkgdesc="Modules for ThinkPad's SMAPI functionality (built for the linux-libre-lts kernel package)"
arch=('i686' 'x86_64' 'mips64el')
url='https://github.com/evgeni/tp_smapi'
diff --git a/libre/unar/PKGBUILD b/libre/unar/PKGBUILD
index 2fa84cdf1..1ca533b9b 100755
--- a/libre/unar/PKGBUILD
+++ b/libre/unar/PKGBUILD
@@ -3,8 +3,8 @@
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgname=unar
-pkgver=1.6
-pkgrel=3
+pkgver=1.7
+pkgrel=1
pkgdesc="An Objective-C application for uncompressing archive files"
arch=('x86_64' 'i686' 'mips64el')
url="http://unarchiver.c3.cx/"
@@ -39,5 +39,5 @@ package() {
}
# vim:set ts=2 sw=2 et:
-md5sums=('bab77e196569f8f571f29c14e2d78daa'
+md5sums=('c714bbd0b51f5c1d27044c229528c286'
'4fa4ecc6e4ba14d3b6952d064e728511')
diff --git a/libre/usermin/PKGBUILD b/libre/usermin/PKGBUILD
index 9225de264..6f7eab297 100644
--- a/libre/usermin/PKGBUILD
+++ b/libre/usermin/PKGBUILD
@@ -1,7 +1,7 @@
-# $Id: PKGBUILD 185710 2013-05-17 13:08:03Z tpowa $
+# $Id: PKGBUILD 193449 2013-08-20 10:13:15Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=usermin
-pkgver=1.550
+pkgver=1.560
pkgrel=1
pkgdesc="a web interface that can be used to easily perform tasks like reading mail, setting up SSH or configuring mail forwarding (Parabola rebranded)"
arch=(i686 x86_64 mips64el)
@@ -124,6 +124,6 @@ package() {
#install license
install -m 644 -D "$srcdir"/$pkgname-$pkgver/LICENCE "$pkgdir"/usr/share/licenses/usermin/LICENCE
}
-md5sums=('ba764af4b40a7e11be69985e19a81562'
+md5sums=('155af20dc957aca8a05bfd69d7ccf23a'
'a5bd5e5ee779f8a3cf3d776ca77ee36e'
'ec37a79f948f778224550930d2a7ca07')
diff --git a/libre/webmin/PKGBUILD b/libre/webmin/PKGBUILD
index 0c46c87ea..cd16179bc 100644
--- a/libre/webmin/PKGBUILD
+++ b/libre/webmin/PKGBUILD
@@ -1,7 +1,7 @@
-# $Id: PKGBUILD 192511 2013-08-13 11:01:17Z tpowa $
+# $Id: PKGBUILD 193451 2013-08-20 10:13:52Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
pkgname=webmin
-pkgver=1.640
+pkgver=1.650
pkgrel=1
pkgdesc="a web-based interface for system administration (Parabola rebranded)"
arch=(i686 x86_64 mips64el)
@@ -210,7 +210,7 @@ package() {
# install license
install -m 644 -D "$srcdir"/$pkgname-$pkgver/LICENCE "$pkgdir"/usr/share/licenses/webmin/LICENCE
}
-md5sums=('d1d26e2df24be907e36bd1e63c1f41bf'
+md5sums=('b4d6370698fdd5e9ba930583ba0d10a3'
'b0b3e3fb231a12e60165b6b4d604dcfa'
'c86518037449e0fc0c60fc24537ea038'
'fc29ecb6a5cd8c278abe054e60381095')
diff --git a/nonprism/bitlbee-nonprism/PKGBUILD b/nonprism/bitlbee-nonprism/PKGBUILD
index f0cfcbf19..d181f3b9f 100644
--- a/nonprism/bitlbee-nonprism/PKGBUILD
+++ b/nonprism/bitlbee-nonprism/PKGBUILD
@@ -1,9 +1,17 @@
+# $Id: PKGBUILD 186656 2013-05-30 12:19:35Z dreisner $
+
+# Contributor: FUBAR <mrfubar@gmail.com>
+# Contributor: simo <simo@archlinux.org>
+# Contributor: Jeff 'codemac' Mickey <jeff@archlinux.org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
_pkgname=bitlbee
-pkgname=bitlbee-coherence
+pkgname=bitlbee-nonprism
pkgver=3.2
-pkgrel=1
-pkgdesc='Brings XMPP to IRC (removed support for nonfree, unsafe and dangerous for privacy protocols)'
+pkgrel=3
+pkgdesc='Brings XMPP to IRC, without support for unsafe and dangerous for privacy protocols'
url='http://www.bitlbee.org/'
license=('GPL')
arch=('i686' 'x86_64')
@@ -11,7 +19,7 @@ depends=('gnutls' 'glib2')
makedepends=('asciidoc' 'libotr3')
optdepends=('libotr3: for OTR encryption support'
'xinetd: to run bitlbee through xinetd')
-replaces=$_pkgname
+replaces=("$_pkgname" 'bitlbee-coherence')
conflicts=$_pkgname
provides=$_pkgname=$pkgver
source=("http://get.bitlbee.org/src/${_pkgname}-${pkgver}.tar.gz"
@@ -59,4 +67,4 @@ package() {
install -o65 -g65 -dm770 "$pkgdir/var/lib/bitlbee"
install -Dm644 "$srcdir/xinetd" "$pkgdir/etc/xinetd.d/bitlbee"
install -Dm644 "$srcdir/bitlbee.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/bitlbee.conf"
-} \ No newline at end of file
+}
diff --git a/nonprism/choqok-nonprism/PKGBUILD b/nonprism/choqok-nonprism/PKGBUILD
new file mode 100644
index 000000000..abbb4073a
--- /dev/null
+++ b/nonprism/choqok-nonprism/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id$
+# Maintainer: Peter Richard Lewis <plewis@aur.archlinux.org>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Emanuele Rossi <newdna1510@yahoo.it>
+# Contributor: Bram Schoenmakers <me@bramschoenmakers.nl>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+_pkgname=choqok
+pkgname=choqok-nonprism
+pkgver=1.3
+pkgrel=4.2
+pkgdesc="A status.net client for KDE, without Twitter support"
+url='http://choqok.gnufolks.org/'
+license=('GPL')
+arch=('i686' 'x86_64' 'mips64el')
+depends=('kdebase-runtime' 'qjson' 'qoauth' 'qca-ossl')
+makedepends=('cmake' 'automoc4')
+optdepends=('kdebase-konqueror-libre: proxy support')
+provides=("$_pkgname=$pkgver")
+conflicts=$_pkgname
+replaces=$_pkgname
+install="${_pkgname}.install"
+source=("http://downloads.sourceforge.net/${_pkgname}/${_pkgname}-${pkgver}.tar.bz2")
+md5sums=('87eea4f2c23467fb021e3e6b794eb37d')
+
+prepare() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
+ # remove twitter service and keep only twitterapi (choqok software) for status.net and open collaboration services
+ sed -i '\|add_subdirectory(twitter)|d' microblogs/CMakeLists.txt
+ sed -i 's|twitter[.]com|status.net|' microblogs/laconica/laconicamicroblog.cpp
+ sed -i 's|twitter[.]com|status.net|' microblogs/laconica/laconicasearch.cpp
+
+ # remove uploaders plugin (with only nonprivacy services)
+ sed -i '\|add_subdirectory(uploaders)|d' plugins/CMakeLists.txt
+ sed -i 's|Comment||' plugins/searchaction/choqok_searchaction.desktop
+
+ # remove twitter on docbook
+ sed -i 's| and Twitter.com||
+ s| and another with the alias|.</para>|
+ s|while a post using Twitter is called a tweet||
+ \|Twitter|d;\|twitter|d' doc/index.docbook
+}
+
+build() {
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../${_pkgname}-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+
+ # This is already installed by kdepimlibs >= 4.9.80
+ rm "${pkgdir}"/usr/share/apps/cmake/modules/FindQtOAuth.cmake
+}
diff --git a/nonprism/choqok-nonprism/choqok.install b/nonprism/choqok-nonprism/choqok.install
new file mode 100644
index 000000000..e70c054ec
--- /dev/null
+++ b/nonprism/choqok-nonprism/choqok.install
@@ -0,0 +1,11 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/nonprism/claws-mail-libre-nonprism/PKGBUILD b/nonprism/claws-mail-libre-nonprism/PKGBUILD
index 42b980a14..099b6e1a0 100644
--- a/nonprism/claws-mail-libre-nonprism/PKGBUILD
+++ b/nonprism/claws-mail-libre-nonprism/PKGBUILD
@@ -4,17 +4,17 @@
_pkgname=claws-mail
pkgname=$_pkgname-libre-nonprism
-pkgver=3.9.1
-pkgrel=3
-pkgdesc='A GTK+ based e-mail client, without nonfree PalmOS handheld devices support'
+pkgver=3.9.2
+pkgrel=3.1
+pkgdesc='A GTK+ based e-mail client, without nonfree PalmOS handheld devices and libgdata support'
arch=('i686' 'x86_64' 'mips64el')
license=('GPL3')
url="http://www.$_pkgname.org"
depends=('gtk2' 'gnutls' 'startup-notification' 'enchant'
- 'gpgme' 'libetpan>=1.1' 'libsm' 'db' 'dbus-glib' 'hicolor-icon-theme' 'desktop-file-utils')
+ 'gpgme' 'libetpan>=1.1-4' 'libsm' 'dbus-glib' 'hicolor-icon-theme' 'desktop-file-utils')
makedepends=('compface' 'spamassassin' 'bogofilter' 'valgrind'
# dependencies for plugins
- 'libsoup' 'libgdata' 'webkitgtk2' 'libnotify' 'libcanberra' 'poppler-glib' 'pygtk')
+ 'libsoup' 'webkitgtk2' 'libnotify' 'libcanberra' 'poppler-glib' 'pygtk')
#'libchamplain' needed for geolocation plugin, disabled for now - most time it's not compatible with current gnome releases
optdepends=('python2: needed for some tools and python plugin'
'perl: needed for some tools and perl plugin'
@@ -37,7 +37,7 @@ provides=("$_pkgname=$pkgver" 'claws')
options=(!libtool)
install=$_pkgname.install
source=(http://downloads.sourceforge.net/sourceforge/sylpheed-claws/$_pkgname-$pkgver.tar.bz2{,.asc})
-md5sums=('8adc734912ff1b83545cb12850100473'
+md5sums=('90de2a265e65fbd9dffdbf428bb0ee28'
'SKIP')
build() {
diff --git a/nonprism/claws-mail-libre-nonprism/claws-mail.install b/nonprism/claws-mail-libre-nonprism/claws-mail.install
new file mode 100644
index 000000000..4d2f155d4
--- /dev/null
+++ b/nonprism/claws-mail-libre-nonprism/claws-mail.install
@@ -0,0 +1,16 @@
+post_install() {
+ echo "install \"html2ps\" from AUR to add support for printing html mails with fancy plugin"
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_remove() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
diff --git a/nonprism/empathy-nonprism/PKGBUILD b/nonprism/empathy-nonprism/PKGBUILD
index de0eca1e9..602adb465 100644
--- a/nonprism/empathy-nonprism/PKGBUILD
+++ b/nonprism/empathy-nonprism/PKGBUILD
@@ -1,9 +1,9 @@
_pkgname=empathy
-pkgname=empathy-coherence
+pkgname=empathy-nonprism
pkgver=3.8.3
pkgrel=1
-pkgdesc="A GNOME instant messaging client using the Telepathy framework without support for nonfree, unsafe and dangerous for privacy protocols"
+pkgdesc="A GNOME instant messaging client using the Telepathy framework, without support for unsafe and dangerous for privacy protocols"
arch=(i686 x86_64)
url="http://live.gnome.org/Empathy"
license=(GPL2)
@@ -16,7 +16,7 @@ optdepends=('telepathy-gabble: XMPP/Jabber support'
options=('!libtool' '!makeflags')
groups=(gnome)
install=empathy.install
-replaces=$_pkgname
+replaces=("$_pkgname" 'empathy-coherence')
conflicts=$_pkgname
provides=$_pkgname=$pkgver
source=(http://ftp.gnome.org/pub/GNOME/sources/$_pkgname/${pkgver:0:3}/$_pkgname-$pkgver.tar.xz)
diff --git a/nonprism/evolution-data-server-nonprism/PKGBUILD b/nonprism/evolution-data-server-nonprism/PKGBUILD
index 2ba93b16c..96caee984 100644
--- a/nonprism/evolution-data-server-nonprism/PKGBUILD
+++ b/nonprism/evolution-data-server-nonprism/PKGBUILD
@@ -1,6 +1,6 @@
_pkgname=evolution-data-server
-pkgname=evolution-data-server-coherence
+pkgname=evolution-data-server-nonprism
pkgver=3.8.5
pkgrel=1
pkgdesc="Centralized access to appointments and contacts without libgdata support"
@@ -11,7 +11,7 @@ options=('!libtool')
install=$_pkgname.install
url="http://www.gnome.org"
license=(GPL)
-replaces=$_pkgname
+replaces=("$_pkgname" 'evolution-data-server-coherence')
conflicts=$_pkgname
provides=$_pkgname=$pkgver
source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz)
diff --git a/nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD b/nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD
index d41efa232..86c23797a 100644
--- a/nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD
+++ b/nonprism/kdenetwork-kopete-libre-nonprism/PKGBUILD
@@ -6,13 +6,13 @@ _pkgname=kdenetwork-kopete
pkgname=kdenetwork-kopete-libre-nonprism
pkgver=4.11.0
pkgrel=1
-pkgdesc='Instant Messenger, without skype and unsafe/dangerous protocols support'
+pkgdesc='Instant Messenger, without skype and support for unsafe and dangerous for privacy protocols'
url='http://kde.org/applications/internet/kopete/'
arch=('i686' 'x86_64' 'mips64el')
license=('GPL' 'LGPL' 'FDL')
groups=('kde' 'kdenetwork')
-depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr3' 'libmsn' 'libidn'
- 'qimageblitz' 'libgadu' 'mediastreamer' 'jsoncpp')
+depends=('kdebase-runtime' 'kdepimlibs' 'qca-ossl' 'libotr3' 'libidn'
+ 'qimageblitz' 'mediastreamer' 'jsoncpp')
makedepends=('cmake' 'automoc4' 'boost')
install=${_pkgname}.install
replaces=$_pkgname
diff --git a/nonprism/kdepim-runtime-nonprism/PKGBUILD b/nonprism/kdepim-runtime-nonprism/PKGBUILD
index 38a0a1edc..204a69809 100644
--- a/nonprism/kdepim-runtime-nonprism/PKGBUILD
+++ b/nonprism/kdepim-runtime-nonprism/PKGBUILD
@@ -7,7 +7,7 @@ _pkgname=kdepim-runtime
pkgname=kdepim-runtime-nonprism
pkgver=4.11.0
pkgrel=1
-pkgdesc='Extends the functionality of kdepim, without libkgapi support'
+pkgdesc='Extends the functionality of kdepim, without libkgapi and libkfbapi support'
arch=('i686' 'x86_64')
url='https://projects.kde.org/projects/kde/kdepim-runtime'
license=('GPL' 'LGPL' 'FDL')
diff --git a/pcr/cjdns-git/PKGBUILD b/pcr/cjdns-git/PKGBUILD
new file mode 100644
index 000000000..2e9646006
--- /dev/null
+++ b/pcr/cjdns-git/PKGBUILD
@@ -0,0 +1,77 @@
+# Maintainer: Prurigro
+# Contributor: Prurigro
+# Contributor: Werecat
+# Contributor: Xyne
+
+_pkgname=cjdns
+pkgname=${_pkgname}-git
+pkgver=0.3.1473
+pkgrel=1
+pkgdesc="A routing engine designed for security, scalability, speed and ease of use."
+url="https://github.com/cjdelisle/${_pkgname}"
+license=('GPL3')
+makedepends=('git' 'cmake' 'python2')
+optdepends=('python2: required by the python cjdnsadmin utilities')
+arch=('i686' 'x86_64' 'armv6h' 'armv7h')
+install=${pkgname}.install
+backup=("etc/default/${_pkgname}")
+
+source=("git://github.com/cjdelisle/${_pkgname}.git#branch=master")
+sha256sums=('SKIP')
+
+pkgver() {
+ cd "${srcdir}/${_pkgname}"
+ git describe --always | sed 's|-|.|g;s|[^\.]*\.||;s|\.[^\.]*$||'
+}
+
+prepare() {
+ cd "${srcdir}/${_pkgname}"
+
+ ## Clean previous builds and resync
+ ./clean
+
+ mkdir build
+
+ ## Set occurances of python to python2 due to a naming conflict between Debian and Archlinux
+ find "${srcdir}/${_pkgname}"/contrib/python \
+ -type f \
+ -exec sed -i 's@/usr/bin/python\s*$@/usr/bin/python2@;s@/usr/bin/env\ python@/usr/bin/env\ python2@' {} \+
+}
+
+build() {
+ cd "${srcdir}"/${_pkgname}
+
+ ## Disable Arch's generic makepkg optimizations (set via /etc/makepkg.conf) in favour of those specified by cjdns
+ unset MAKEFLAGS
+# unset CFLAGS
+# unset CPPFLAGS
+
+ ## Build using the ./do script
+ export NO_DEBUG=1
+ cd build
+ cmake ..
+ make
+}
+
+## Package creation helper functions
+_package_cjdns() {
+ install -D -m755 "${srcdir}"/${_pkgname}/build/admin/angel/cjdroute2 "${pkgdir}"/usr/bin/cjdroute
+ install -D -m755 "${srcdir}"/${_pkgname}/build/admin/angel/${_pkgname} "${pkgdir}"/usr/bin/${_pkgname}
+ install -D -m644 "${srcdir}"/${_pkgname}/contrib/systemd/${_pkgname}.service "${pkgdir}"/usr/lib/systemd/system/${_pkgname}.service
+ install -D -m755 "${srcdir}"/${_pkgname}/contrib/bash/i_am_stupid.sh "${pkgdir}"/usr/bin/cjdns-recoverconfig
+}
+_package_pyutils() {
+ install -D -m644 "${srcdir}"/${_pkgname}/contrib/python/cjdnsadmin/cjdnsadmin.py "${pkgdir}"/usr/lib/$(python2-config --libs | grep -o -E python2.*)/cjdnsadmin/cjdnsadmin.py
+ install -D -m644 "${srcdir}"/${_pkgname}/contrib/python/cjdnsadmin/bencode.py "${pkgdir}"/usr/lib/$(python2-config --libs | grep -o -E python2.*)/cjdnsadmin/bencode.py
+ install -D -m644 "${srcdir}"/${_pkgname}/contrib/python/cjdnsadmin/__init__.py "${pkgdir}"/usr/lib/$(python2-config --libs | grep -o -E python2.*)/cjdnsadmin/__init__.py
+ install -D -m755 "${srcdir}"/${_pkgname}/contrib/python/cjdnslog "${pkgdir}"/usr/bin/cjdns-log
+ install -D -m755 "${srcdir}"/${_pkgname}/contrib/python/dumptable "${pkgdir}"/usr/bin/cjdns-dumptable
+ install -D -m755 "${srcdir}"/${_pkgname}/contrib/python/findnodes "${pkgdir}"/usr/bin/cjdns-findnodes
+ install -D -m755 "${srcdir}"/${_pkgname}/contrib/python/pingAll.py "${pkgdir}"/usr/bin/cjdns-pingAll
+}
+
+## Package creation function: comment out a helper function to remove its associated functionality
+package() {
+ _package_cjdns ## Core binaries (cjdns and cjdroute), a systemd service file and a config recovery script written in bash
+ _package_pyutils ## Miscellaneous python2-based cjdns admin port utility scripts and libraries
+}
diff --git a/pcr/cjdns-git/cjdns-git.install b/pcr/cjdns-git/cjdns-git.install
new file mode 100644
index 000000000..5e9e1a64c
--- /dev/null
+++ b/pcr/cjdns-git/cjdns-git.install
@@ -0,0 +1,21 @@
+post_install() {
+ if [ $(ps -A | ps -A | grep -cE "systemd$") = 1 ]; then
+ systemctl --system daemon-reload
+ fi
+
+ if [ -z $(type -P python2) ]; then
+ echo "You don't currently have python2 installed. It isn't required to use cjdns, but some scripts have been included in the package that won't function without"
+ fi
+
+ echo "By default, the cjdns configuration file is expected to be located @ /etc/cjdroute.conf"
+}
+
+post_upgrade() {
+ if [ $(ps -A | ps -A | grep -cE "systemd$") = 1 ]; then
+ systemctl --system daemon-reload
+ fi
+
+ if [ $(grep -c cjdns /etc/passwd) = 1 ]; then
+ echo "The user 'cjdns' has been detected on your system but is no longer required by this package; if it was installed by a previous version of this package, it can now be safely deleted."
+ fi
+}
diff --git a/pcr/monkeysign/PKGBUILD b/pcr/monkeysign/PKGBUILD
new file mode 100644
index 000000000..2e4ab1f3f
--- /dev/null
+++ b/pcr/monkeysign/PKGBUILD
@@ -0,0 +1,24 @@
+# Contributor: fauno <fauno@kiwwwi.com.ar>
+pkgname=monkeysign
+pkgver=1.0
+pkgrel=1
+pkgdesc="OpenPGP Key Exchange for Humans"
+arch=('any')
+url="http://web.monkeysphere.info/monkeysign/"
+license=('GPL3')
+depends=('python2-setuptools' 'python2-qrencode' 'gtk2' 'pygtk' 'zbar' 'python2-imaging')
+source=(http://cdn.debian.net/debian/pool/main/m/${pkgname}/${pkgname}_${pkgver}.tar.gz)
+# http://cdn.debian.net/debian/pool/main/m/monkeysign/monkeysign_1.0.dsc
+sha1sums=('28e29beae7fed3c3deba236cbe8879cab5eeb4e8')
+sha256sums=('944fc4d0915236bf72390bd2dc2f5445cfb70033df438b91b1af38bd0ff9fd46')
+
+build() {
+ cd "${pkgname}-${pkgver}"
+ python2 setup.py build
+}
+
+package() {
+ cd "${pkgname}-${pkgver}"
+ python2 setup.py install --root="${pkgdir}" --prefix="/usr" --optimize=1
+}
+
diff --git a/pcr/monkeysphere/PKGBUILD b/pcr/monkeysphere/PKGBUILD
index f83e05741..749cb0c25 100644
--- a/pcr/monkeysphere/PKGBUILD
+++ b/pcr/monkeysphere/PKGBUILD
@@ -3,8 +3,8 @@
# Contributor: Olivier Mehani <shtrom-arch@ssji.net>
# $Id: PKGBUILD 264 2010-11-10 00:57:53Z shtrom $
pkgname=monkeysphere
-pkgver=0.35
-pkgrel=5
+pkgver=0.36
+pkgrel=1
pkgdesc="Leverage the OpenPGP web of trust for OpenSSH and Web authentication"
arch=('any')
url="http://web.monkeysphere.info/"
@@ -20,17 +20,20 @@ prepare() {
patch -Ni "${srcdir}/binmerge.patch"
}
-check() {
- cd "$srcdir/$pkgname-$pkgver"
-
- make test
-}
+# Checks fail
+#check() {
+# cd "$srcdir/$pkgname-$pkgver"
+#
+# make test
+#}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir/" install
mkdir -p $pkgdir/var/lib/monkeysphere
-}
-md5sums=('481ac14c9fdef0ccd1944c593bd4f517'
- 'a8bd35dc7dd58b5952beeecafe5045a7')
+}
+sha1sums=('c4f950346040f7703cb4c6e8b32022f4361d0c9d'
+ '780c2e203980558316b0714c4b2a3ad49be3ea27')
+sha256sums=('6ae4edeff2cc29b6913346e15b61500ea7cc06d761a9f42e67de83b7d2607be7'
+ 'e49a1097296b06090010ce5344588f5e4917aeb06a118de920fc58411d2a7cf7')
diff --git a/pcr/python2-qrencode/PKGBUILD b/pcr/python2-qrencode/PKGBUILD
new file mode 100644
index 000000000..dd58c1885
--- /dev/null
+++ b/pcr/python2-qrencode/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: ValHue <vhuelamo at gmail dot com>
+# https://github.com/ValHue/AUR-PKGBUILDs
+#
+# Contributor: sevkin <vsevolod at balashov dot name>
+
+_python=python2
+_name=qrencode
+pkgname="${_python}-${_name}"
+pkgver=1.01
+pkgrel=4
+pkgdesc="Encodes QR-codes."
+arch=('i686' 'x86_64' 'mips64el')
+url="http://pypi.python.org/pypi/${_name}"
+license=('Apache')
+depends=("${_python}" 'qrencode')
+makedepends=('gcc')
+source=("http://pypi.python.org/packages/source/q/${_name}/${_name}-${pkgver}.tar.gz")
+md5sums=('5a1addd4d6e6412116fcfeb9661831a9')
+
+build() {
+ cd "${_name}-${pkgver}"
+ export PYTHON="/usr/bin/${_python}"
+ ${_python} setup.py build
+}
+
+package() {
+ cd "${_name}-${pkgver}"
+ ${_python} setup.py install --root="${pkgdir}" --prefix="/usr" --optimize=1
+}
diff --git a/social/tomb/tomb.install b/pcr/tomb/tomb.install
index c1ee8b339..c1ee8b339 100644
--- a/social/tomb/tomb.install
+++ b/pcr/tomb/tomb.install
diff --git a/pcr/zbar/PKGBUILD b/pcr/zbar/PKGBUILD
new file mode 100644
index 000000000..199fc2bb8
--- /dev/null
+++ b/pcr/zbar/PKGBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Marti Raudsepp <marti@juffo.org>
+# Contributor: Radu Andries <admiral0@tuxfamily.org>
+# Contributor: Andy Weidenbaum <archbaum@gmail.com>
+
+pkgname=zbar
+pkgver=0.10
+pkgrel=3
+pkgdesc="Application and library for reading bar codes from various sources"
+arch=('i686' 'x86_64' 'mips64el')
+url="http://zbar.sourceforge.net/"
+license=('LGPL')
+depends=('imagemagick' 'libxv')
+makedepends=('gtk2' 'qt4' 'pygtk' 'v4l-utils')
+source=("http://downloads.sourceforge.net/project/zbar/zbar/$pkgver/zbar-$pkgver.tar.bz2"
+ v4l1.patch)
+optdepends=('pygtk: python2 widget'
+ 'gtk2: gtk2 widget'
+ 'qt4: qt4 widget')
+
+prepare() {
+ cd "$srcdir/zbar-$pkgver"
+ patch -p1 < ${srcdir}/v4l1.patch
+}
+
+build() {
+ cd "$srcdir/zbar-$pkgver"
+
+ ./configure --prefix=/usr CFLAGS="$CFLAGS -DNDEBUG"
+
+ make
+}
+
+package() {
+ cd "$srcdir/zbar-$pkgver"
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
+md5sums=('0fd61eb590ac1bab62a77913c8b086a5'
+ '284f11ca2a5e009744c4a1b9e92d6953')
diff --git a/pcr/zbar/v4l1.patch b/pcr/zbar/v4l1.patch
new file mode 100644
index 000000000..150b0e695
--- /dev/null
+++ b/pcr/zbar/v4l1.patch
@@ -0,0 +1,24 @@
+Thanks to Andy Weidenbaum <archbaum@gmail.com> for providing this patch!
+
+--- ./zbar/video/v4l1.c 2013-03-06 23:24:22.996336417 -0800
++++ ./zbar/video/v4l1.c 2013-03-06 23:29:29.789662369 -0800
+@@ -41,7 +41,7 @@
+ #ifdef HAVE_SYS_MMAN_H
+ # include <sys/mman.h>
+ #endif
+-#include <linux/videodev.h>
++#include <libv4l1-videodev.h>
+
+ #include "video.h"
+ #include "image.h"
+--- ./configure 2009-10-23 11:17:24.000000000 -0700
++++ ./configure 2013-03-06 23:47:33.902966990 -0800
+@@ -18709,7 +18709,7 @@
+ if test "x$enable_video" != "xno"; then
+ if test "x$win32" = "xno"; then
+
+-for ac_header in linux/videodev.h
++for ac_header in libv4l1-videodev.h
+ do
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
diff --git a/social/tomb/PKGBUILD b/social/tomb/PKGBUILD
deleted file mode 100644
index a0ac0334f..000000000
--- a/social/tomb/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-## PKGBUILD [bash]
-# Maintainer: nignux <nignux@freaknet.org>
-
-pkgname=tomb
-pkgver=1.2
-pkgrel=1
-pkgdesc="Crypto Undertaker, simple tool to manage encrypted storage, from the hashes of the dyne:bolic nesting mechanism."
-arch=('i686' 'x86_64' 'mips64el')
-url="http://tomb.dyne.org"
-license=('GPL3')
-depends=('bc' 'cryptsetup' 'gnupg' 'gtk2' 'libnotify' 'sudo' 'zsh' 'steghide'
- 'dcfldd' 'wipe')
-makedepends=('autoconf')
-provides=('tomb')
-install=${pkgname}.install
-source=(https://github.com/dyne/Tomb/tarball/v1.2)
-md5sums=('30fb11ef26355a1828933b13ee265924')
-
-build() {
- cd ${srcdir}/dyne-Tomb-ddd9331
- autoreconf -i
- ./configure --prefix=/usr
- make
-}
-
-package() {
- cd ${srcdir}/dyne-Tomb-ddd9331
- make DESTDIR=${pkgdir} install
-}
-