summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-03-14 04:00:44 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-03-14 04:00:44 +0000
commit4d799458274f83bcf13d49715eaa435045a719d7 (patch)
tree4c683fd5a06f00482a687bfa738f3d8764371d96
parent4e5db57790dfb7243ca8b1d7c82f834a6294d8ab (diff)
Fri Mar 14 03:57:28 UTC 2014
-rw-r--r--community/bcg729/PKGBUILD4
-rw-r--r--community/belle-sip/PKGBUILD35
-rw-r--r--community/ibus-anthy/PKGBUILD25
-rw-r--r--community/libantlr3c/PKGBUILD31
-rw-r--r--community/linphone/PKGBUILD18
-rw-r--r--community/linphone/port-to-exosip-4.patch2800
-rw-r--r--community/mate-desktop/PKGBUILD8
-rw-r--r--community/mg/PKGBUILD16
-rw-r--r--community/mg/cleanup.patch41
-rw-r--r--community/nsd/PKGBUILD6
-rw-r--r--community/unbound/PKGBUILD7
-rw-r--r--community/wxcam/PKGBUILD4
-rw-r--r--extra/aubio/PKGBUILD10
-rw-r--r--extra/ibus/PKGBUILD26
-rw-r--r--extra/libzrtpcpp/PKGBUILD15
-rw-r--r--extra/maxima/PKGBUILD6
-rw-r--r--extra/mediastreamer/PKGBUILD4
-rw-r--r--extra/mutt/PKGBUILD8
-rw-r--r--extra/net-snmp/PKGBUILD12
-rw-r--r--extra/ortp/PKGBUILD15
-rw-r--r--extra/pyopenssl/PKGBUILD8
-rw-r--r--extra/qtcreator/PKGBUILD8
-rw-r--r--extra/sbcl/PKGBUILD6
-rw-r--r--extra/telepathy-kde-text-ui/PKGBUILD9
-rw-r--r--extra/transcode/PKGBUILD4
-rw-r--r--extra/udisks/PKGBUILD15
-rw-r--r--extra/udisks2/PKGBUILD8
-rw-r--r--libre/atril-libre/PKGBUILD (renamed from community/atril/PKGBUILD)30
-rw-r--r--libre/atril-libre/atril.install (renamed from community/atril/atril.install)0
-rw-r--r--libre/engrampa-libre/PKGBUILD (renamed from community/engrampa/PKGBUILD)31
-rw-r--r--libre/engrampa-libre/engrampa.install (renamed from community/engrampa/engrampa.install)0
-rw-r--r--libre/engrampa-libre/fr-rpm-bsdtar.patch (renamed from community/engrampa/fr-rpm-bsdtar.patch)0
-rw-r--r--libre/gst-plugins-bad-libre/PKGBUILD4
-rw-r--r--libre/gstreamer0.10-bad-libre/PKGBUILD4
-rw-r--r--libre/mate-document-viewer-libre/PKGBUILD51
-rw-r--r--libre/mate-document-viewer-libre/mate-document-viewer.install13
-rw-r--r--libre/mate-file-archiver-libre/PKGBUILD51
-rw-r--r--libre/mate-file-archiver-libre/fr-rpm-bsdtar.patch60
-rw-r--r--libre/mate-file-archiver-libre/mate-file-archiver.install13
-rw-r--r--libre/texlive-bin-libre/PKGBUILD4
-rw-r--r--libre/texlive-core-libre/PKGBUILD16
-rw-r--r--libre/texlive-core-libre/texlive-core.maps10
-rw-r--r--libre/texlive-core-libre/texmfcnf.lua190
-rw-r--r--libre/texlive-fontsextra-libre/PKGBUILD4
-rw-r--r--libre/texlive-fontsextra-libre/texlive-fontsextra.maps14
-rw-r--r--libre/texlive-latexextra-libre/PKGBUILD6
-rw-r--r--nonprism/sylpheed-nonprism/PKGBUILD19
-rw-r--r--pcr/trytond-carrier/PKGBUILD25
-rw-r--r--pcr/trytond-product-price-list/PKGBUILD25
-rw-r--r--pcr/trytond-purchase/PKGBUILD25
-rw-r--r--pcr/trytond-sale-invoice-grouping/PKGBUILD25
-rw-r--r--pcr/trytond-sale-opportunity/PKGBUILD25
-rw-r--r--pcr/trytond-sale-price-list/PKGBUILD25
-rw-r--r--pcr/trytond-sale-shipment-cost/PKGBUILD25
-rw-r--r--pcr/trytond-sale-supply-drop-shipment/PKGBUILD25
-rw-r--r--pcr/trytond-sale-supply/PKGBUILD25
-rw-r--r--pcr/trytond-sale/PKGBUILD25
-rw-r--r--pcr/trytond-stock-supply/PKGBUILD25
58 files changed, 751 insertions, 3193 deletions
diff --git a/community/bcg729/PKGBUILD b/community/bcg729/PKGBUILD
index c3dec679a..1f215ee71 100644
--- a/community/bcg729/PKGBUILD
+++ b/community/bcg729/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 100132 2013-11-01 20:20:41Z spupykin $
+# $Id: PKGBUILD 107163 2014-03-13 17:21:19Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=bcg729
pkgver=1.0.0
-pkgrel=4
+pkgrel=5
pkgdesc="g729 codec"
arch=('i686' 'x86_64')
url="http://www.linphone.org/eng/documentation/dev/bcg729.html"
diff --git a/community/belle-sip/PKGBUILD b/community/belle-sip/PKGBUILD
new file mode 100644
index 000000000..6b1c6d8fc
--- /dev/null
+++ b/community/belle-sip/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 99895 2013-10-31 02:20:19Z allan $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Darwin Bautista <djclue917@gmail.com>
+
+pkgname=belle-sip
+pkgver=1.3.0
+pkgrel=1
+pkgdesc="A Voice-over-IP phone"
+arch=('i686' 'x86_64')
+url="http://www.linphone.org/index.php/eng"
+license=('GPL')
+depends=('libantlr3c' 'gcc-libs')
+makedepends=('java-runtime')
+options=('!emptydirs')
+source=("http://download-mirror.savannah.gnu.org/releases/linphone/belle-sip/belle-sip-$pkgver.tar.gz"
+ "antlr.jar::https://github.com/antlr/website-antlr3/blob/gh-pages/download/antlr-3.4-complete.jar?raw=true")
+noextract=('antlr.jar')
+md5sums=('ae9e8be12f62552a5376edd66b0265d9'
+ '1b91dea1c7d480b3223f7c8a9aa0e172')
+
+prepare() {
+ cd $pkgname-$pkgver
+ sed -i "s#antlr_java_prefixes=.*#antlr_java_prefixes=$srcdir#" configure{,.ac}
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr --disable-tests --disable-static --libexecdir=/usr/lib/$pkgname
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/community/ibus-anthy/PKGBUILD b/community/ibus-anthy/PKGBUILD
index bb2b28caa..4d1bd41aa 100644
--- a/community/ibus-anthy/PKGBUILD
+++ b/community/ibus-anthy/PKGBUILD
@@ -1,36 +1,31 @@
-# $Id: PKGBUILD 99811 2013-10-31 01:51:20Z allan $
+# $Id: PKGBUILD 107147 2014-03-13 13:24:28Z fyan $
# Maintainer: Felix Yan <felixonmars@gmail.com>
# Contributor: Rainy <rainylau(at)gmail(dot)com>
# Contributor: Lee.MaRS <leemars at gmail dot com>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=ibus-anthy
-pkgver=1.5.4
+pkgver=1.5.5
pkgrel=1
pkgdesc='Japanese input method Anthy IMEngine for IBus Framework'
arch=('i686' 'x86_64')
license=('LGPL')
url='http://ibus.googlecode.com'
-depends=('ibus' 'anthy' 'python2' 'pygtk' 'gtk-update-icon-cache')
-makedepends=('swig' 'intltool')
+depends=('ibus' 'anthy' 'python' 'gtk-update-icon-cache' 'python-gobject')
+makedepends=('swig' 'intltool' 'git')
install=$pkgname.install
-source=("http://ibus.googlecode.com/files/${pkgname}-${pkgver}.tar.gz")
+source=("git+https://github.com/ibus/ibus-anthy.git#tag=$pkgver")
+sha512sums=('SKIP')
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd $pkgname
- # python2 fix
- for file in setup/ibus-setup-anthy.in engine/ibus-engine-anthy.in; do
- sed -i 's_exec python_exec python2_' $file
- done
-
- ./configure --prefix=/usr --libexec=/usr/lib/ibus
+ ./autogen.sh --prefix=/usr --libexec=/usr/lib/ibus
make
}
package() {
- cd $srcdir/$pkgname-$pkgver
- make DESTDIR=$pkgdir/ install
+ cd $pkgname
+ make DESTDIR="$pkgdir/" install
}
-sha512sums=('8478e9ea14472d0153cc7a35feae4edea791476dc98cfc266b598f915376d267bd5db48ea0a676209d7a6fa680628116a30fec59afaf696477cfaa14082aad8d')
diff --git a/community/libantlr3c/PKGBUILD b/community/libantlr3c/PKGBUILD
new file mode 100644
index 000000000..ba9380bfe
--- /dev/null
+++ b/community/libantlr3c/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 107165 2014-03-13 17:21:44Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Mathieu Clabaut <mathieu.clabaut@gmail.com>
+# Contributor: Artyom Smirnov <smirnoffjr@gmail.com>
+# Contributor: Alexis Robert <alexis.robert@gmail.com>
+# Maintainer: Daniel Nagy < danielnagy at gmx de>
+
+pkgname=libantlr3c
+pkgver=3.4
+pkgrel=1
+pkgdesc="C runtime for the ANTLR parsing library"
+url="http://www.antlr.org/"
+arch=("i686" "x86_64")
+license=("BSD")
+depends=('bash')
+makedepends=()
+source=(http://www.antlr3.org/download/C/${pkgname}-${pkgver}.tar.gz)
+md5sums=('08b1420129d5dccd0f4461cedf2a0d7d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ [ "$CARCH" = "x86_64" ] && _cfgopt=--enable-64bit
+ ./configure --prefix=/usr --sysconfdir=/etc ${_cfgopt}
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make install DESTDIR="${pkgdir}"
+ install -Dm0644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
+}
diff --git a/community/linphone/PKGBUILD b/community/linphone/PKGBUILD
index 8e8c66589..e2a19655d 100644
--- a/community/linphone/PKGBUILD
+++ b/community/linphone/PKGBUILD
@@ -1,28 +1,22 @@
-# $Id: PKGBUILD 99895 2013-10-31 02:20:19Z allan $
+# $Id: PKGBUILD 107167 2014-03-13 17:22:00Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Darwin Bautista <djclue917@gmail.com>
pkgname=linphone
-pkgver=3.6.1
+pkgver=3.7.0
pkgrel=1
pkgdesc="A Voice-over-IP phone"
arch=('i686' 'x86_64')
url="http://www.linphone.org/index.php/eng"
license=('GPL')
depends=('alsa-lib' 'ffmpeg' 'gtk2' 'libexosip2' 'speex' 'libv4l' 'libglade' 'v4l-utils'
- 'libpulse' 'libxv' 'mediastreamer' 'ortp' 'libzrtpcpp' 'bcg729' 'libsoup')
+ 'libpulse' 'libxv' 'mediastreamer' 'ortp' 'libzrtpcpp' 'bcg729' 'libsoup'
+ 'belle-sip')
makedepends=('pkgconfig' 'perlxml' 'intltool' 'sgmltools-lite')
optdepends=('pulseaudio')
options=('!emptydirs')
-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
-}
+source=("http://download-mirror.savannah.gnu.org/releases/${pkgname}/3.7.x/sources/${pkgname}-$pkgver.tar.gz")
+md5sums=('6978492712bdacd452e375254d6033ae')
build() {
cd $pkgname-$pkgver
diff --git a/community/linphone/port-to-exosip-4.patch b/community/linphone/port-to-exosip-4.patch
deleted file mode 100644
index 4c0814ddd..000000000
--- a/community/linphone/port-to-exosip-4.patch
+++ /dev/null
@@ -1,2800 +0,0 @@
-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/mate-desktop/PKGBUILD b/community/mate-desktop/PKGBUILD
index 7ca18c7a4..02fba2e49 100644
--- a/community/mate-desktop/PKGBUILD
+++ b/community/mate-desktop/PKGBUILD
@@ -2,7 +2,7 @@
pkgname=mate-desktop
pkgver=1.8.0
-pkgrel=2
+pkgrel=3
pkgdesc="Library with common API for various MATE modules"
url="http://mate-desktop.org"
arch=('i686' 'x86_64')
@@ -20,6 +20,11 @@ source=("http://pub.mate-desktop.org/releases/1.8/${pkgname}-${pkgver}.tar.xz")
sha1sums=('1e722d18a198751b209fcf255ad5d3653cb8f6e6')
install=${pkgname}.install
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i 's|\/usr\/bin\/python|\/usr\/bin\/env python2|' tools/mpaste
+}
+
build() {
# See the following for '--disable-desktop-docs' justification
# - https://github.com/mate-desktop/mate-desktop/issues/68
@@ -27,6 +32,7 @@ build() {
PYTHON=/usr/bin/python2 ./configure \
--prefix=/usr \
--with-gtk=2.0 \
+ --enable-mpaste \
--disable-static \
--disable-schemas-compile \
--disable-desktop-docs \
diff --git a/community/mg/PKGBUILD b/community/mg/PKGBUILD
index 176278440..d672c83bf 100644
--- a/community/mg/PKGBUILD
+++ b/community/mg/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 99913 2013-10-31 02:26:20Z allan $
+# $Id: PKGBUILD 107143 2014-03-13 09:28:15Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Hannes Rist <hrist@phreeknet.org>
pkgname=mg
-pkgver=20130922
-pkgrel=2
+pkgver=20140306
+pkgrel=1
pkgdesc="mg is Micro GNU/emacs, this is a portable version of the mg maintained by the OpenBSD team."
arch=('i686' 'x86_64')
url="http://homepage.boetes.org/software/mg/"
depends=('ncurses' 'libbsd')
-makedepends=('bmake' 'libclens')
+makedepends=('libclens')
license=('custom')
source=(http://homepage.boetes.org/software/mg/mg-$pkgver.tar.gz
cleanup.patch)
-md5sums=('35bd196ab32bae3531d6bc48be8779d0'
- 'abcea6e34c05425a52101b7c7fb60e7a')
+md5sums=('bb29858c2c0a82b78ce48ae2929ae18d'
+ '545eac98585e2f5fe0781093ddc07b36')
prepare() {
cd $srcdir/$pkgname-$pkgver
@@ -23,14 +23,14 @@ prepare() {
build() {
cd $srcdir/$pkgname-$pkgver
- bmake prefix=/usr
+ make prefix=/usr
}
package() {
cd $srcdir/$pkgname-$pkgver
mkdir -p $pkgdir/usr/bin
- bmake install INSTALL=install prefix=/usr DESTDIR=$pkgdir BINDIR=/usr/bin
+ make install INSTALL=install prefix=/usr DESTDIR=$pkgdir BINDIR=/usr/bin
mkdir -p $pkgdir/usr/share/
install -D -m0644 README $pkgdir/usr/share/licenses/$pkgname/README
diff --git a/community/mg/cleanup.patch b/community/mg/cleanup.patch
index d4d29c50f..b9a9eaf92 100644
--- a/community/mg/cleanup.patch
+++ b/community/mg/cleanup.patch
@@ -1,36 +1,13 @@
-diff -wbBur mg-20130922/file.c mg-20130922.q/file.c
---- mg-20130922/file.c 2013-09-22 13:09:36.000000000 +0400
-+++ mg-20130922.q/file.c 2013-10-30 15:20:47.927840374 +0400
-@@ -669,9 +669,9 @@
- {
- struct stat statbuf;
- int s;
-- char *dp;
-+ char *dp = malloc(strlen(fn) + 1);
-
-- dp = dirname(fn);
-+ xdirname(dp, fn, strlen(fn));
-
- if (stat(fn, &statbuf) == -1 && errno == ENOENT) {
- errno = 0;
-diff -wbBur mg-20130922/Makefile mg-20130922.q/Makefile
---- mg-20130922/Makefile 2013-09-22 18:06:43.000000000 +0400
-+++ mg-20130922.q/Makefile 2013-10-30 15:20:34.201173866 +0400
-@@ -4,7 +4,7 @@
- NOGCCERROR= true
- PROG= mg
-
--LDADD+= -lcurses -lutil -lclens
-+LDADD+= -lcurses -lutil -lclens -lbsd
- DPADD+= ${LIBCURSES} ${LIBUTIL}
-
- # (Common) compile-time options:
-@@ -17,7 +17,7 @@
+diff -wbBur mg-20140306/Makefile mg-20140306.my/Makefile
+--- mg-20140306/Makefile 2014-02-20 02:30:17.000000000 +0400
++++ mg-20140306.my/Makefile 2014-03-13 13:12:46.628940661 +0400
+@@ -15,6 +15,9 @@
#
- CFLAGS = -O2
- CFLAGS += -Wall -DFKEYS -DREGEX -DXKEYS
--CFLAGS += -I/usr/local/include/clens
-+CFLAGS += -I/usr/include/clens -isystem /usr/include/bsd -DLIBBSD_OVERLAY
+ CFLAGS+=-Wall -DFKEYS -DREGEX -DXKEYS
++CFLAGS += -I/usr/include/clens -isystem /usr/include/bsd -DLIBBSD_OVERLAY -D__dead -O2
++LDADD+=<------>-lcurses -lutil -lclens -lbsd
++
SRCS= autoexec.c basic.c bell.c buffer.c cinfo.c dir.c display.c \
echo.c extend.c file.c fileio.c funmap.c help.c kbd.c keymap.c \
+ line.c macro.c main.c match.c modes.c paragraph.c random.c \
diff --git a/community/nsd/PKGBUILD b/community/nsd/PKGBUILD
index 999e160f1..3a5568b86 100644
--- a/community/nsd/PKGBUILD
+++ b/community/nsd/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 104857 2014-01-27 16:23:54Z bisson $
+# $Id: PKGBUILD 107130 2014-03-13 00:08:38Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Kaiting Chen <kaitocracy@gmail.com>
# Contributor: Roberto Alsina <ralsina@kde.org>
pkgname=nsd
-pkgver=4.0.1
+pkgver=4.0.2
pkgrel=1
pkgdesc='Authoritative only, high performance and simple DNS server'
url='http://www.nlnetlabs.nl/nsd/'
@@ -15,7 +15,7 @@ makedepends=('flex')
source=("http://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz"
'tmpfiles.d'
'service')
-sha1sums=('788cc290ade7fc6a61fe4391837d3abddbda4df0'
+sha1sums=('0855a3a9613e36381cbc36bfc451fb5c92189acc'
'7ad2b8da961a893095eede8963cf8026b13186a1'
'3dbe300d834a32c9a339a6c76c58f5c240239e9b')
diff --git a/community/unbound/PKGBUILD b/community/unbound/PKGBUILD
index 20766114a..78e9935eb 100644
--- a/community/unbound/PKGBUILD
+++ b/community/unbound/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 100009 2013-10-31 02:58:46Z allan $
+# $Id: PKGBUILD 107132 2014-03-13 00:16:45Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: Hisato Tatekura <hisato_tatekura@excentrics.net>
# Contributor: Massimiliano Torromeo <massimiliano DOT torromeo AT google mail service>
pkgname=unbound
-pkgver=1.4.21
+pkgver=1.4.22
pkgrel=1
pkgdesc='Validating, recursive, and caching DNS resolver'
url='http://unbound.net/'
@@ -17,7 +17,7 @@ backup=('etc/unbound/unbound.conf')
source=("http://unbound.net/downloads/${pkgname}-${pkgver}.tar.gz"
'service'
'conf')
-sha1sums=('3ef4ea626e5284368d48ab618fe2207d43f2cee1'
+sha1sums=('a56e31e2f3a2fefa3caaad9200dd943d174ca81e'
'b543ae6f8b87423bec095fca6b335a9ee43739a8'
'5d473ec2943fd85367cdb653fcd58e186f07383f')
@@ -30,7 +30,6 @@ build() {
--sysconfdir=/etc \
--localstatedir=/var \
--sbindir=/usr/bin \
- --disable-static \
--disable-rpath \
--with-libevent \
--with-conf-file=/etc/unbound/unbound.conf \
diff --git a/community/wxcam/PKGBUILD b/community/wxcam/PKGBUILD
index 5e2877ed8..032d3fe71 100644
--- a/community/wxcam/PKGBUILD
+++ b/community/wxcam/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 103835 2014-01-12 02:47:26Z eric $
+# $Id: PKGBUILD 107128 2014-03-12 23:53:54Z foutrelis $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
pkgname=wxcam
pkgver=1.1
-pkgrel=3
+pkgrel=4
arch=('i686' 'x86_64')
license=(GPL)
pkgdesc="Webcam application for linux"
diff --git a/extra/aubio/PKGBUILD b/extra/aubio/PKGBUILD
index 69a66510a..c4b0ab9f2 100644
--- a/extra/aubio/PKGBUILD
+++ b/extra/aubio/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 204700 2014-01-25 13:01:02Z schiv $
+# $Id: PKGBUILD 207712 2014-03-13 18:44:20Z schiv $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: Tobias Kieslich tobias [funnychar] archlinux org
# Contributor: see .contrib
pkgname=aubio
-pkgver=0.4.0
+pkgver=0.4.1
pkgrel=1
pkgdesc="A tool for extracting annotations from audio signals"
arch=('i686' 'x86_64')
@@ -14,14 +14,14 @@ depends=('fftw' 'jack' 'ffmpeg')
makedepends=('python2-numpy')
optdepends=('python2-numpy: Python 2.x interface')
source=("http://aubio.org/pub/$pkgname-$pkgver.tar.bz2")
-md5sums=('8de88baab79f7eec8e1c7f321c4026af')
+md5sums=('ffe7d24f6bd8e9053aeaba6c0231efb0')
build() {
cd "$srcdir/$pkgname-$pkgver"
python2 waf configure --prefix=/usr --enable-fftw3f
python2 waf build $MAKEFLAGS
- cd python; python2 setup.py build # python interface
+ cd python && python2 setup.py build # python interface
}
package() {
@@ -30,7 +30,7 @@ package() {
python2 waf --destdir="$pkgdir" install
# python interface
- cd python
+ cd python || return 1
python2 setup.py install --root="$pkgdir" --optimize=1
diff --git a/extra/ibus/PKGBUILD b/extra/ibus/PKGBUILD
index bdb9624d6..fb0f71693 100644
--- a/extra/ibus/PKGBUILD
+++ b/extra/ibus/PKGBUILD
@@ -1,31 +1,33 @@
-# $Id: PKGBUILD 204310 2014-01-17 07:31:32Z fyan $
+# $Id: PKGBUILD 207688 2014-03-13 13:24:32Z fyan $
# Maintainer: Felix Yan <felixonmars@gmail.com>
pkgbase=ibus
pkgname=(ibus libibus)
-pkgver=1.5.5
+pkgver=1.5.6
pkgrel=1
pkgdesc="Next Generation Input Bus for Linux"
arch=('i686' 'x86_64')
url="http://ibus.googlecode.com"
license=('LGPL')
-depends=('dconf' 'gtk2' 'gtk3' 'hicolor-icon-theme' 'libnotify' 'pygtk' 'python2-dbus' 'python2-gobject' 'iso-codes')
-makedepends=('gobject-introspection' 'vala' 'gconf' 'intltool')
+depends=('dconf' 'gtk2' 'gtk3' 'hicolor-icon-theme' 'libnotify' 'python-dbus' 'python-gobject' 'iso-codes')
+makedepends=('gobject-introspection' 'vala' 'intltool' 'git' 'gnome-common' 'gtk-doc' 'gconf')
options=('!emptydirs')
-source=(http://ibus.googlecode.com/files/${pkgbase}-${pkgver}.tar.gz)
+source=("git+https://github.com/ibus/ibus.git#tag=$pkgver")
build() {
- cd ${pkgbase}-${pkgver}
- export PYTHON=python2
- ./configure \
+ cd ${pkgbase}
+ ./autogen.sh \
--prefix=/usr \
--libexecdir=/usr/lib/ibus \
--sysconfdir=/etc \
--disable-gconf \
--enable-dconf \
+ --enable-wayland \
+ --enable-gtk-doc \
--disable-memconf \
--enable-ui \
- --enable-python-library
+ --enable-python-library \
+ --with-python=python3
make
}
@@ -33,7 +35,7 @@ package_ibus() {
depends+=("libibus=$pkgver")
install=ibus.install
- cd ${pkgbase}-${pkgver}
+ cd ${pkgbase}
make DESTDIR="${pkgdir}" install
make -C src DESTDIR="${pkgdir}" uninstall
make -C bindings DESTDIR="${pkgdir}" uninstall
@@ -44,10 +46,10 @@ package_libibus() {
pkgdesc="IBus support library"
depends=('glib2')
- cd ${pkgbase}-${pkgver}
+ cd ${pkgbase}
make -C src DESTDIR="${pkgdir}" install
make -C bindings DESTDIR="${pkgdir}" install
make DESTDIR="${pkgdir}" install-pkgconfigDATA
}
-sha512sums=('8249d6ee4918b0e0fe030af736eed2260e1376b2fdaf0d819f289e0bd880a5e3874f1fb3d097fc74b9f359822ce16f4dae52a263aa28c2e2ce7bdf671cb2fea9')
+sha512sums=('SKIP')
diff --git a/extra/libzrtpcpp/PKGBUILD b/extra/libzrtpcpp/PKGBUILD
index 376d7bcff..f3f423387 100644
--- a/extra/libzrtpcpp/PKGBUILD
+++ b/extra/libzrtpcpp/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 194211 2013-09-10 14:40:23Z bpiotrowski $
+# $Id: PKGBUILD 207683 2014-03-13 13:04:31Z fyan $
# Maintainer:
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Jeff Mickey <jeff@archlinux.org>
# Contributor: Michel Brabants <michel.brabants@euphonynet.be>
pkgname=libzrtpcpp
-pkgver=2.3.4
+pkgver=4.2.0
pkgrel=1
pkgdesc="A C++ implementation of Phil Zimmermann's ZRTP specification"
arch=('i686' 'x86_64')
@@ -13,18 +13,17 @@ url='http://www.gnutelephony.org/index.php/GNU_ZRTP'
license=('GPL3')
depends=('ccrtp')
makedepends=('cmake')
-source=(http://ftp.gnu.org/gnu/ccrtp/${pkgname}-${pkgver}.tar.gz{,.sig})
-md5sums=('3aac59472c5649736e24de30080e2efd'
- 'SKIP')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/wernerd/ZRTPCPP/archive/V$pkgver.tar.gz")
+md5sums=('690bf483a43cfc5cac748c03aa180b0f')
prepare() {
- sed 's/lib64/lib/g' -i ${pkgname}-${pkgver}/CMakeLists.txt
+ sed 's/lib64/lib/g' -i ZRTPCPP-${pkgver}/CMakeLists.txt
}
build() {
- mkdir build
+ mkdir -p build
cd build
- cmake ../${pkgname}-${pkgver} \
+ cmake ../ZRTPCPP-${pkgver} \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release
make
diff --git a/extra/maxima/PKGBUILD b/extra/maxima/PKGBUILD
index 28a98b68e..83e206abb 100644
--- a/extra/maxima/PKGBUILD
+++ b/extra/maxima/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 205937 2014-02-14 10:21:00Z juergen $
+# $Id: PKGBUILD 207716 2014-03-13 19:21:04Z juergen $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Damir Perisa <damir@archlinux.org>
pkgname=maxima
pkgver=5.32.1
-pkgrel=2
+pkgrel=3
pkgdesc="A sophisticated computer algebra system"
arch=('i686' 'x86_64')
license=('GPL')
url="http://maxima.sourceforge.net"
-depends=('sbcl=1.1.15' 'texinfo' 'sh')
+depends=('sbcl=1.1.16' 'texinfo' 'sh')
makedepends=('python2')
optdepends=('gnuplot: plotting capabilities' 'rlwrap: readline support via /usr/bin/rmaxima' 'tk: graphical xmaxima interface')
# needs rebuild when bash changes version
diff --git a/extra/mediastreamer/PKGBUILD b/extra/mediastreamer/PKGBUILD
index a1da378c0..3264f0c80 100644
--- a/extra/mediastreamer/PKGBUILD
+++ b/extra/mediastreamer/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 207104 2014-03-06 13:35:33Z fyan $
+# $Id: PKGBUILD 207687 2014-03-13 13:14:48Z fyan $
# Maintainer:
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
@@ -6,7 +6,7 @@
pkgname=mediastreamer
pkgver=2.10.0
-pkgrel=1
+pkgrel=2
pkgdesc="A library written in C that allows you to create and run audio and video streams"
arch=('i686' 'x86_64')
url="http://www.linphone.org/"
diff --git a/extra/mutt/PKGBUILD b/extra/mutt/PKGBUILD
index fc944975f..f50d6f764 100644
--- a/extra/mutt/PKGBUILD
+++ b/extra/mutt/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 196759 2013-10-18 06:54:09Z bisson $
+# $Id: PKGBUILD 207672 2014-03-13 00:02:32Z bisson $
# Contributor: tobias [tobias [at] archlinux.org]
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
pkgname=mutt
-pkgver=1.5.22
+pkgver=1.5.23
pkgrel=1
pkgdesc='Small but very powerful text-based mail client'
url='http://www.mutt.org/'
@@ -12,8 +12,8 @@ backup=('etc/Muttrc')
arch=('i686' 'x86_64')
optdepends=('smtp-forwarder: to send mail')
depends=('gpgme' 'ncurses' 'openssl' 'libsasl' 'gdbm' 'libidn' 'mime-types' 'krb5')
-source=("ftp://ftp.mutt.org/mutt/devel/${pkgname}-${pkgver}.tar.gz")
-sha1sums=('728a114cb3a44df373dbf1292fc34dd8321057dc')
+source=("ftp://ftp.mutt.org/mutt/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('8ac821d8b1e25504a31bf5fda9c08d93a4acc862')
install=install
diff --git a/extra/net-snmp/PKGBUILD b/extra/net-snmp/PKGBUILD
index 05ebfe611..2d4084d1d 100644
--- a/extra/net-snmp/PKGBUILD
+++ b/extra/net-snmp/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 206473 2014-02-27 12:21:34Z eric $
+# $Id: PKGBUILD 207700 2014-03-13 15:36:37Z fyan $
# Maintainer:
# Contributor: Dale Blount <dale@archlinux.org>
pkgname=net-snmp
pkgver=5.7.2.1
-pkgrel=1
+pkgrel=2
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/"
@@ -17,7 +17,7 @@ optdepends=('perl-term-readkey: for snmpcheck application'
options=('!emptydirs' '!makeflags')
source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.asc}
snmpd.service snmptrapd.service libnl32.patch)
-sha1sums=('ea5b8952ca482eceac8cb1f3ffbac50e13c0a5b0'
+sha1sums=('815d4e5520a1ed96a27def33e7534b4190599f0f'
'SKIP'
'84e32c54d32e6b608747054e04a3ddfe6d6638cc'
'0244e91c7baa0abebfb5c0560e8ce04c966c5992'
@@ -25,9 +25,11 @@ sha1sums=('ea5b8952ca482eceac8cb1f3ffbac50e13c0a5b0'
prepare() {
cd ${pkgname}-${pkgver}
- make PERL_ARCHLIB=/usr/lib/perl5/core_perl PERL_INC=/usr/lib/perl5/core_perl/CORE distclean
-# http://sourceforge.net/tracker/index.php?func=detail&aid=3250304&group_id=12694&atid=112694
+ #make PERL_ARCHLIB=/usr/lib/perl5/core_perl PERL_INC=/usr/lib/perl5/core_perl/CORE distclean
+
+ # http://sourceforge.net/tracker/index.php?func=detail&aid=3250304&group_id=12694&atid=112694
patch -Np1 -i "$srcdir/libnl32.patch"
+
autoreconf -f -i
}
diff --git a/extra/ortp/PKGBUILD b/extra/ortp/PKGBUILD
index 276573f8f..47099281d 100644
--- a/extra/ortp/PKGBUILD
+++ b/extra/ortp/PKGBUILD
@@ -1,20 +1,29 @@
-# $Id: PKGBUILD 198362 2013-10-30 14:24:32Z allan $
+# $Id: PKGBUILD 207685 2014-03-13 13:07:16Z fyan $
# Maintainer:
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org>
# Contributor: William Rea <sillywilly@gmail.com>
pkgname=ortp
-pkgver=0.22.0
+pkgver=0.23.0
pkgrel=1
pkgdesc="A Real-time Transport Protocol (RTP) library"
arch=('i686' 'x86_64')
url="http://www.linphone.org/index.php/eng/code_review/ortp"
license=('GPL3')
depends=('libzrtpcpp' 'libsrtp')
-source=("http://download-mirror.savannah.gnu.org/releases/linphone/${pkgname}/sources/${pkgname}-${pkgver}.tar.gz"{,.sig})
+source=("http://download-mirror.savannah.gnu.org/releases/linphone/ortp/ortp-$pkgver.tar.gz"{,.sig})
sha1sums=('3f4712307ceba27c6498abd2090f411e02084dbd'
'SKIP')
+sha1sums=('87a154295636652cc9ac7310dc02e0258db08790'
+ 'SKIP')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+
+ # Reference: http://lists.gnu.org/archive/html/linphone-users/2014-02/msg00008.html
+ sed -i 's|libzrtpcppcore|libzrtpcpp|g' configure{,.ac}
+}
build() {
cd ${pkgname}-${pkgver}
diff --git a/extra/pyopenssl/PKGBUILD b/extra/pyopenssl/PKGBUILD
index 005655c42..2d5c238e7 100644
--- a/extra/pyopenssl/PKGBUILD
+++ b/extra/pyopenssl/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 198719 2013-11-02 09:07:53Z ioni $
+# $Id: PKGBUILD 207706 2014-03-13 16:20:18Z fyan $
# Maintainer : Ionut Biru<ibiru@archlinux.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgbase=pyopenssl
pkgname=('python-pyopenssl' 'python2-pyopenssl')
-pkgver=0.13.1
+pkgver=0.14
pkgrel=1
arch=('i686' 'x86_64')
url="http://pypi.python.org/pypi/pyOpenSSL"
license=('LGPL2.1')
-makedepends=('python' 'python2' 'openssl')
+makedepends=('python-setuptools' 'python2-setuptools' 'openssl')
source=(http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-${pkgver}.tar.gz)
-md5sums=('e27a3b76734c39ea03952ca94cc56715')
+md5sums=('8579ff3a1d858858acfba5f046a4ddf7')
build() {
cd "${srcdir}"
diff --git a/extra/qtcreator/PKGBUILD b/extra/qtcreator/PKGBUILD
index 9ce520127..cbfc4e398 100644
--- a/extra/qtcreator/PKGBUILD
+++ b/extra/qtcreator/PKGBUILD
@@ -7,9 +7,9 @@
# Contributor: delor <bartekpiech gmail com>
pkgname=qtcreator
-pkgver=3.0.1.git
-_pkgver=3.0
-pkgrel=2
+pkgver=3.1.0beta1
+_pkgver=v3.1.0-beta1
+pkgrel=1
pkgdesc='Lightweight, cross-platform integrated development environment'
arch=('i686' 'x86_64')
url='http://qt-project.org'
@@ -26,7 +26,7 @@ optdepends=('qt5-doc: for the integrated Qt documentation'
'bzr: for bazaar support'
'valgrind: for analyze support')
install=qtcreator.install
-source=("git://gitorious.org/qt-creator/qt-creator.git#branch=${_pkgver}"
+source=("git://gitorious.org/qt-creator/qt-creator.git#tag=${_pkgver}"
"git://gitorious.org/qt-labs/qbs.git"
'qtcreator.desktop')
md5sums=('SKIP'
diff --git a/extra/sbcl/PKGBUILD b/extra/sbcl/PKGBUILD
index 2c86feaaf..0d618ae17 100644
--- a/extra/sbcl/PKGBUILD
+++ b/extra/sbcl/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 205938 2014-02-14 10:21:14Z juergen $
+# $Id: PKGBUILD 207714 2014-03-13 19:11:54Z juergen $
# Contributor: John Proctor <jproctor@prium.net>
# Contributor: Daniel White <daniel@whitehouse.id.au>
# Maintainer: Juergen Hoetzel <juergen@archlinux.org>
# Contributor: Leslie Polzer (skypher)
pkgname=sbcl
-pkgver=1.1.15
+pkgver=1.1.16
pkgrel=1
pkgdesc="Steel Bank Common Lisp"
url="http://www.sbcl.org/"
@@ -17,7 +17,7 @@ makedepends=('sbcl')
install=sbcl.install
source=("http://downloads.sourceforge.net/project/sbcl/sbcl/$pkgver/$pkgname-$pkgver-source.tar.bz2"
"arch-fixes.lisp")
-md5sums=('54a1527aea0a32df972c0330b45a26dd'
+md5sums=('6fa1321e1a3a99ee8b77d704edabee38'
'7ac0c1936547f4278198b8bf7725204d')
diff --git a/extra/telepathy-kde-text-ui/PKGBUILD b/extra/telepathy-kde-text-ui/PKGBUILD
index 08469d93b..87ad9cd4a 100644
--- a/extra/telepathy-kde-text-ui/PKGBUILD
+++ b/extra/telepathy-kde-text-ui/PKGBUILD
@@ -1,10 +1,11 @@
-# $Id: PKGBUILD 207576 2014-03-12 12:15:19Z andrea $
+# $Id: PKGBUILD 207681 2014-03-13 08:16:44Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Laurent Carlier <lordheavym@gmail.com>
pkgname=telepathy-kde-text-ui
_pkgname=ktp-text-ui
-pkgver=0.8.0
+pkgver=0.8.0.1
+_pkgver=0.8.0
pkgrel=1
pkgdesc="Telepathy handler for Text Chats"
arch=('i686' 'x86_64')
@@ -13,8 +14,8 @@ license=('GPL')
depends=('telepathy-kde-contact-list' 'qjson')
makedepends=('cmake' 'automoc4' 'boost')
groups=('kde-telepathy')
-source=("http://download.kde.org/stable/kde-telepathy/${pkgver}/src/${_pkgname}-${pkgver}.tar.bz2")
-sha1sums=('865645aedaa650ad579d1ec8b27539414a76bdfb')
+source=("http://download.kde.org/stable/kde-telepathy/${_pkgver}/src/${_pkgname}-${pkgver}.tar.bz2")
+sha1sums=('f10f79cc7a19def9a4d4db5e6f9664a46c8101a3')
prepare() {
mkdir build
diff --git a/extra/transcode/PKGBUILD b/extra/transcode/PKGBUILD
index 515db2db4..0ea36fc88 100644
--- a/extra/transcode/PKGBUILD
+++ b/extra/transcode/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 204526 2014-01-22 01:48:57Z eric $
+# $Id: PKGBUILD 207666 2014-03-12 23:26:22Z foutrelis $
# Maintainer:
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor: roberto <roberto@archlinux.org>
@@ -6,7 +6,7 @@
pkgname=transcode
_sripver=0.3-4
pkgver=1.1.7
-pkgrel=13
+pkgrel=14
pkgdesc="A video/DVD ripper and encoder for the terminal/console"
arch=('i686' 'x86_64')
url="http://tcforge.berlios.de/"
diff --git a/extra/udisks/PKGBUILD b/extra/udisks/PKGBUILD
index 08ab09073..0f9bf190e 100644
--- a/extra/udisks/PKGBUILD
+++ b/extra/udisks/PKGBUILD
@@ -1,16 +1,19 @@
-# $Id: PKGBUILD 198467 2013-10-30 15:03:09Z allan $
+# $Id: PKGBUILD 207691 2014-03-13 14:24:18Z bpiotrowski $
# Maintainer: Tom Gundersen <teg@jklm.no>
pkgname=udisks
-pkgver=1.0.4
-pkgrel=8
+pkgver=1.0.5
+pkgrel=1
pkgdesc="Disk Management Service"
arch=('i686' 'x86_64')
url="http://www.freedesktop.org/wiki/Software/udisks"
license=('GPL')
-depends=('systemd' 'util-linux' 'sg3_utils' 'glib2' 'dbus-glib' 'polkit' 'parted' 'device-mapper' 'libatasmart' 'lsof')
+depends=('systemd' 'util-linux' 'sg3_utils' 'glib2' 'dbus-glib' 'polkit' 'parted'
+ 'device-mapper' 'libatasmart' 'lsof')
makedepends=('intltool' 'docbook-xsl')
-source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz udisks.service drop-pci-db.patch)
+source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz
+ udisks.service
+ drop-pci-db.patch)
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -45,6 +48,6 @@ package() {
# install the /media folder
install -d -m 755 $pkgdir/media
}
-md5sums=('86c63b2b5484f2060499a052b5b6256b'
+md5sums=('70d48dcfe523a74cd7c7fbbc2847fcdd'
'5d80832b4d4da72beeb45c15b63a1481'
'773cccd70afd18ace4332037feff67ec')
diff --git a/extra/udisks2/PKGBUILD b/extra/udisks2/PKGBUILD
index 03dbb40dd..34617e892 100644
--- a/extra/udisks2/PKGBUILD
+++ b/extra/udisks2/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 206043 2014-02-16 10:13:00Z jgc $
+# $Id: PKGBUILD 207693 2014-03-13 14:27:26Z bpiotrowski $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgname=udisks2
-pkgver=2.1.2
+pkgver=2.1.3
pkgrel=1
pkgdesc="Disk Management Service, version 2"
arch=('i686' 'x86_64')
@@ -16,13 +16,13 @@ optdepends=('parted: partition management'
'dosfstools: VFAT filesystem management support')
source=(http://udisks.freedesktop.org/releases/udisks-$pkgver.tar.bz2{,.sign}
git-fixes.patch)
-sha256sums=('afe928fe7f44086b835257efc3fcbe503e2da7c988a773c997d0291bbab4a637'
+sha256sums=('5cc92fd651ee49a7888f90d091282b949afc629b31fdb34e187208750720632d'
'SKIP'
'52a9b9f039f9f115414715375f2b5874b79b5b67fbe2bdf3105b46d3a35f673f')
prepare() {
cd udisks-$pkgver
- patch -Np1 -i ../git-fixes.patch
+ #patch -Np1 -i ../git-fixes.patch
}
build() {
diff --git a/community/atril/PKGBUILD b/libre/atril-libre/PKGBUILD
index 0a6019562..d4b98a231 100644
--- a/community/atril/PKGBUILD
+++ b/libre/atril-libre/PKGBUILD
@@ -1,12 +1,14 @@
-# $Id: PKGBUILD 106659 2014-03-06 11:40:25Z flexiondotorg $
+# $Id: PKGBUILD 106531 2014-03-05 20:16:04Z flexiondotorg $
# Maintainer : Martin Wimpress <code@flexion.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
-pkgname=atril
+_pkgname=atril
+pkgname=atril-libre
pkgver=1.8.0
pkgrel=1
-pkgdesc="Simply a document viewer"
+pkgdesc="Simply a document viewer, with libarchive recommendation"
url="http://mate-desktop.org"
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
depends=('dconf' 'dbus' 'desktop-file-utils' 'gtk2' 'libsm' 'libspectre'
'mate-desktop' 'mate-icon-theme' 'poppler-glib' 'zlib')
@@ -17,27 +19,27 @@ optdepends=('caja: Document Properties extension'
'libgxps: XPS support'
'p7zip: cbz and cb7 compressed comic books'
'texlive-bin: DVI support'
- 'unrar: cbr compressed comic books'
+ 'libarchive: cbr compressed comic books'
'yelp: for reading MATE help documents')
-replaces=('mate-document-viewer')
-provides=('mate-document-viewer')
-conflicts=('mate-document-viewer')
+replaces=('mate-document-viewer' "$_pkgname")
+provides=('mate-document-viewer' "$_pkgname=$pkgver")
+conflicts=('mate-document-viewer' "$_pkgname")
options=('!emptydirs')
groups=('mate-extra')
-source=("http://pub.mate-desktop.org/releases/1.8/${pkgname}-${pkgver}.tar.xz")
+source=("http://pub.mate-desktop.org/releases/1.8/${_pkgname}-${pkgver}.tar.xz")
sha1sums=('8327437ba12df61326b83342cea746d1764727d0')
-install=${pkgname}.install
+install=${_pkgname}.install
prepare() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${_pkgname}-${pkgver}"
NOCONFIGURE=1 ./autogen.sh
}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${_pkgname}-${pkgver}"
./configure \
--prefix=/usr \
- --libexecdir=/usr/lib/${pkgname} \
+ --libexecdir=/usr/lib/${_pkgname} \
--with-gtk=2.0 \
--enable-gtk-doc \
--enable-djvu \
@@ -52,6 +54,6 @@ build() {
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${_pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
diff --git a/community/atril/atril.install b/libre/atril-libre/atril.install
index bf6781f93..bf6781f93 100644
--- a/community/atril/atril.install
+++ b/libre/atril-libre/atril.install
diff --git a/community/engrampa/PKGBUILD b/libre/engrampa-libre/PKGBUILD
index 6356e7459..a109e8839 100644
--- a/community/engrampa/PKGBUILD
+++ b/libre/engrampa-libre/PKGBUILD
@@ -1,42 +1,43 @@
-# $Id: PKGBUILD 106656 2014-03-06 11:39:56Z flexiondotorg $
+# $Id: PKGBUILD 106530 2014-03-05 20:15:56Z flexiondotorg $
# Maintainer : Martin Wimpress <code@flexion.org>
+# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
-pkgname=engrampa
+_pkgname=engrampa
+pkgname=engrampa-libre
pkgver=1.8.0
pkgrel=1
-pkgdesc="Archive manipulator for MATE"
+pkgdesc="Archive manipulator for MATE, with unar recommendation included and nonfree unace recommendation removed"
url="http://mate-desktop.org"
-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
depends=('bzip2' 'caja' 'desktop-file-utils' 'gtk2' 'gzip' 'libarchive' 'tar')
makedepends=('mate-common' 'perl-xml-parser' 'yelp-tools')
-optdepends=('unrar: for RAR uncompression'
+optdepends=('unar: for RAR uncompression'
'zip: for ZIP archives' 'unzip: for ZIP archives'
'p7zip: 7zip compression utility' 'arj: for ARJ archives'
- 'unace: extraction tool for the proprietary ace archive format'
'yelp: for reading MATE help documents')
-replaces=('mate-file-archiver')
-provides=('mate-file-archiver')
-conflicts=('mate-file-archiver')
+replaces=('mate-file-archiver' "$_pkgname")
+provides=('mate-file-archiver' "$_pkgname=$pkgver")
+conflicts=('mate-file-archiver' "$_pkgname")
options=( '!emptydirs')
groups=('mate-extra')
-source=("http://pub.mate-desktop.org/releases/1.8/${pkgname}-${pkgver}.tar.xz"
+source=("http://pub.mate-desktop.org/releases/1.8/${_pkgname}-${pkgver}.tar.xz"
fr-rpm-bsdtar.patch)
sha1sums=('511019cee95568a4951e9da12d8a7282c3f6af65'
'219b05a979bf6f249aaae27964f02345fd81168d')
-install=${pkgname}.install
+install=${_pkgname}.install
prepare() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${_pkgname}-${pkgver}"
# This patch 'depends' on libarchive
patch -Np1 -i "${srcdir}/fr-rpm-bsdtar.patch"
}
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${_pkgname}-${pkgver}"
./configure \
--prefix=/usr \
- --libexecdir=/usr/lib/${pkgname} \
+ --libexecdir=/usr/lib/${_pkgname} \
--with-gtk=2.0 \
--disable-static \
--disable-packagekit
@@ -44,6 +45,6 @@ build() {
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${_pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
diff --git a/community/engrampa/engrampa.install b/libre/engrampa-libre/engrampa.install
index bf6781f93..bf6781f93 100644
--- a/community/engrampa/engrampa.install
+++ b/libre/engrampa-libre/engrampa.install
diff --git a/community/engrampa/fr-rpm-bsdtar.patch b/libre/engrampa-libre/fr-rpm-bsdtar.patch
index 93a783176..93a783176 100644
--- a/community/engrampa/fr-rpm-bsdtar.patch
+++ b/libre/engrampa-libre/fr-rpm-bsdtar.patch
diff --git a/libre/gst-plugins-bad-libre/PKGBUILD b/libre/gst-plugins-bad-libre/PKGBUILD
index 8cf3ce164..82d82e8dd 100644
--- a/libre/gst-plugins-bad-libre/PKGBUILD
+++ b/libre/gst-plugins-bad-libre/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 205811 2014-02-10 13:07:22Z heftig $
+# $Id: PKGBUILD 207667 2014-03-12 23:35:44Z foutrelis $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
_pkgname=gst-plugins-bad
pkgname=$_pkgname-libre
pkgver=1.2.3
-pkgrel=1
+pkgrel=2
pkgdesc="GStreamer Multimedia Framework Bad Plugins, without nonfree faac support"
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL')
diff --git a/libre/gstreamer0.10-bad-libre/PKGBUILD b/libre/gstreamer0.10-bad-libre/PKGBUILD
index 2958425b2..ead094736 100644
--- a/libre/gstreamer0.10-bad-libre/PKGBUILD
+++ b/libre/gstreamer0.10-bad-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 202895 2013-12-28 22:46:10Z bpiotrowski $
+# $Id: PKGBUILD 207669 2014-03-12 23:48:57Z foutrelis $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer (Parabola): fauno <fauno@kiwwwi.com.ar>
# Maintainer (Parabola): André Silva <emulatorman@parabola.nu>
@@ -6,7 +6,7 @@
pkgbase=gstreamer0.10-bad-libre
pkgname=('gstreamer0.10-bad-libre' 'gstreamer0.10-bad-libre-plugins')
pkgver=0.10.23
-pkgrel=7
+pkgrel=8
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL' 'GPL')
makedepends=('pkgconfig' 'gstreamer0.10-base>=0.10.36' 'xvidcore' 'libdca' 'bzip2' 'libdc1394' 'neon' 'musicbrainz' 'faad2' 'libmms' 'libcdaudio' 'libmpcdec' 'mjpegtools' 'libdvdnav' 'libmodplug' 'jasper' 'liblrdf' 'libofa' 'soundtouch' 'libvdpau' 'schroedinger' 'libass' 'libvpx' 'gsm' 'libgme' 'rtmpdump' 'libsndfile' 'librsvg' 'wildmidi' 'opus' 'git' 'spandsp' 'celt')
diff --git a/libre/mate-document-viewer-libre/PKGBUILD b/libre/mate-document-viewer-libre/PKGBUILD
deleted file mode 100644
index 969c335b2..000000000
--- a/libre/mate-document-viewer-libre/PKGBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Maintainer : Martin Wimpress <code@flexion.org>
-
-_pkgname=mate-document-viewer
-pkgname=mate-document-viewer-libre
-pkgver=1.6.2
-pkgrel=2
-pkgdesc="Simply a document viewer, with libarchive recommendation"
-url="http://mate-desktop.org"
-arch=('i686' 'x86_64' 'mips64el')
-license=('GPL')
-replaces=$_pkgname
-conflicts=$_pkgname
-provides=$_pkgname=$pkgver
-depends=('dconf' 'dbus' 'desktop-file-utils' 'gtk2' 'libmatekeyring' 'libsm'
- 'libspectre' 'mate-desktop' 'mate-icon-theme' 'poppler-glib' 'zlib')
-makedepends=('djvulibre' 'gobject-introspection' 'libgxps' 'mate-common'
- 'mate-doc-utils' 'mate-file-manager' 'perl-xml-parser' 'texlive-bin')
-optdepends=('djvulibre: DjVu support'
- 'libgxps: XPS support'
- 'mate-file-manager: Document Properties extension'
- 'p7zip: cbz and cb7 compressed comic books'
- 'texlive-bin: DVI support'
- 'libarchive: cbr compressed comic books')
-options=('!emptydirs')
-groups=('mate-extra')
-source=("http://pub.mate-desktop.org/releases/1.6/${_pkgname}-${pkgver}.tar.xz")
-sha1sums=('295a59e7b7babd86f42eebb2a9ac5405dd7b2997')
-install=${_pkgname}.install
-
-build() {
- cd "${srcdir}/${_pkgname}-${pkgver}"
- ./configure \
- --prefix=/usr \
- --libexecdir=/usr/lib/${_pkgname} \
- --enable-gtk-doc \
- --enable-djvu \
- --enable-dvi \
- --enable-t1lib \
- --enable-pixbuf \
- --enable-comics \
- --enable-introspection \
- --disable-static \
- --disable-scrollkeeper
- make
-}
-
-package() {
- cd "${srcdir}/${_pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- ln -s atril "${pkgdir}/usr/bin/mate-document-viewer"
-}
diff --git a/libre/mate-document-viewer-libre/mate-document-viewer.install b/libre/mate-document-viewer-libre/mate-document-viewer.install
deleted file mode 100644
index bf6781f93..000000000
--- a/libre/mate-document-viewer-libre/mate-document-viewer.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- glib-compile-schemas /usr/share/glib-2.0/schemas/
- gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/libre/mate-file-archiver-libre/PKGBUILD b/libre/mate-file-archiver-libre/PKGBUILD
deleted file mode 100644
index 80711e259..000000000
--- a/libre/mate-file-archiver-libre/PKGBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Maintainer : Martin Wimpress <code@flexion.org>
-
-_pkgname=mate-file-archiver
-pkgname=mate-file-archiver-libre
-pkgver=1.6.2
-pkgrel=1
-pkgdesc="Archive manipulator for MATE, with unar recommendation included and nonfree unace recommendation removed"
-url="http://mate-desktop.org"
-arch=('i686' 'x86_64' 'mips64el')
-license=('GPL')
-replaces=$_pkgname
-conflicts=$_pkgname
-provides=$_pkgname=$pkgver
-depends=('bzip2' 'desktop-file-utils' 'gtk2' 'gzip' 'libarchive'
- 'mate-file-manager' 'tar')
-makedepends=('mate-common' 'mate-doc-utils' 'perl-xml-parser')
-optdepends=('arj: for ARJ support'
- 'p7zip: for 7zip support'
- 'unar: for RAR extract support'
- 'unzip: for ZIP extract support'
- 'zip: for ZIP support')
-options=('!emptydirs')
-groups=('mate-extra')
-source=("http://pub.mate-desktop.org/releases/1.6/${_pkgname}-${pkgver}.tar.xz"
- fr-rpm-bsdtar.patch)
-sha1sums=('58a0f7d78dabd627a3a2b3352fabcba20d72aa92'
- '219b05a979bf6f249aaae27964f02345fd81168d')
-install=${_pkgname}.install
-
-prepare() {
- cd "${srcdir}/${_pkgname}-${pkgver}"
- # This patch 'depends' on libarchive
- patch -Np1 -i "${srcdir}/fr-rpm-bsdtar.patch"
-}
-
-build() {
- cd "${srcdir}/${_pkgname}-${pkgver}"
- ./configure \
- --prefix=/usr \
- --libexecdir=/usr/lib/${_pkgname} \
- --disable-static \
- --disable-scrollkeeper \
- --disable-packagekit
- mate-doc-prepare --force
- make
-}
-
-package() {
- cd "${srcdir}/${_pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
-}
diff --git a/libre/mate-file-archiver-libre/fr-rpm-bsdtar.patch b/libre/mate-file-archiver-libre/fr-rpm-bsdtar.patch
deleted file mode 100644
index 93a783176..000000000
--- a/libre/mate-file-archiver-libre/fr-rpm-bsdtar.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-This makes Engrampa use bsdtar to extract .RPM packages instead of using cpio.
-It is useful on systems that do not have cpio or RPM/YUM
-This patch was created for Arch Linux, however should work on any system that has bsdtar capable of handling cpio archives.
-
-------------------+
- rpm2cpio.c | 2 +-
- fr-command-rpm.c | 8 ++++----
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-Index: src/commands/rpm2cpio.c
-================================
---- mate-file-archiver-1.6.0/src/commands/rpm2cpio.c 2013-03-31
-+++ mate-file-archiver-1.6.0/src/commands/rpm2cpio.c 2013-07-26
-@@ -128,7 +128,7 @@
- archive_command = "bzip2 -dc";
- fclose (stream);
-
-- command = g_strdup_printf ("sh -c \"dd if=%s ibs=%u skip=1 2>/dev/null | %s | cpio %s\"", g_shell_quote (filename), offset, archive_command, cpio_args->str);
-+ command = g_strdup_printf ("sh -c \"dd if=%s ibs=%u skip=1 2>/dev/null | %s | bsdtar %s\"", g_shell_quote (filename), offset, archive_command, cpio_args->str);
-
- return system (command);
- }
-Index: src/fr-command-rpm.c
-================================
---- mate-file-archiver-1.6.0/src/fr-command-rpm.c 2013-03-31
-+++ mate-file-archiver-1.6.0/src/fr-command-rpm.c 2013-07-26
-@@ -175,7 +175,7 @@
-
- fr_process_begin_command (comm->process, "sh");
- fr_process_add_arg (comm->process, "-c");
-- fr_process_add_arg_concat (comm->process, PRIVEXECDIR "rpm2cpio ", comm->e_filename, " -itv", NULL);
-+ fr_process_add_arg_concat (comm->process, PRIVEXECDIR "rpm2cpio ", comm->e_filename, " -tvf -", NULL);
- fr_process_end_command (comm->process);
- fr_process_start (comm->process);
- }
-@@ -200,7 +200,7 @@
-
- cmd = g_string_new (PRIVEXECDIR "rpm2cpio ");
- g_string_append (cmd, comm->e_filename);
-- g_string_append (cmd, " -idu ");
-+ g_string_append (cmd, " -xf - ");
- for (scan = file_list; scan; scan = scan->next) {
- char *filename = g_shell_quote (scan->data);
- g_string_append (cmd, filename);
-@@ -233,7 +233,7 @@
- FrCommandCap capabilities;
-
- capabilities = FR_COMMAND_CAN_ARCHIVE_MANY_FILES;
-- if (is_program_available ("cpio", check_command))
-+ if (is_program_available ("bsdtar", check_command))
- capabilities |= FR_COMMAND_CAN_READ;
-
- return capabilities;
-@@ -244,7 +244,7 @@
- fr_command_rpm_get_packages (FrCommand *comm,
- const char *mime_type)
- {
-- return PACKAGES ("cpio,rpm");
-+ return PACKAGES ("bsdtar,rpm");
- }
diff --git a/libre/mate-file-archiver-libre/mate-file-archiver.install b/libre/mate-file-archiver-libre/mate-file-archiver.install
deleted file mode 100644
index bf6781f93..000000000
--- a/libre/mate-file-archiver-libre/mate-file-archiver.install
+++ /dev/null
@@ -1,13 +0,0 @@
-post_install() {
- glib-compile-schemas /usr/share/glib-2.0/schemas/
- gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
- update-desktop-database -q
-}
-
-post_upgrade() {
- post_install
-}
-
-post_remove() {
- post_install
-}
diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD
index 404843c67..6df239440 100644
--- a/libre/texlive-bin-libre/PKGBUILD
+++ b/libre/texlive-bin-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 200613 2013-11-29 21:10:52Z andyrtr $
+# $Id: PKGBUILD 207625 2014-03-12 22:46:29Z remy $
# Maintainer: Rémy Oudompheng <remy@archlinux.org>
# Contributor: francois <francois.archlinux.org>
# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
@@ -6,7 +6,7 @@
pkgname=texlive-bin-libre
pkgver=2013.30973
-pkgrel=7.1
+pkgrel=8
pkgdesc="TeX Live binaries, without biber binaries (Parabola rebranded)"
license=('GPL')
arch=('i686' 'x86_64' 'mips64el')
diff --git a/libre/texlive-core-libre/PKGBUILD b/libre/texlive-core-libre/PKGBUILD
index d3dc06cb1..0aec4683d 100644
--- a/libre/texlive-core-libre/PKGBUILD
+++ b/libre/texlive-core-libre/PKGBUILD
@@ -4,16 +4,16 @@
pkgname=texlive-core-libre
_pkgname=texlive-core
-pkgver=2013.31589
+pkgver=2013.33063
_revnr=${pkgver#2013.}
-pkgrel=1.2
+pkgrel=1
pkgdesc="TeX Live core distribution, without nonfree add-on packages (Parabola rebranded)"
license=('GPL')
arch=(any)
depends=('texlive-bin' 'perl')
optdepends=(
'ruby: for old ConTeXT MkII and epspdf'
- 'tk: for texdoctk'
+ 'perl-tk: for texdoctk'
'python2: for dviasm'
'ghostscript: for epstopdf, epspdf and other ConTeXt tools'
'psutils: to manipulate the output of dvips'
@@ -30,6 +30,7 @@ noextract=("$_pkgname-$pkgver-src.zip")
source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver-src.tar.xz"
"$_pkgname.maps"
"texmf.cnf"
+ "texmfcnf.lua"
"09-texlive-fonts.conf")
options=(!strip)
install=texlive.install
@@ -45,10 +46,11 @@ backup=(etc/texmf/web2c/texmf.cnf \
etc/texmf/web2c/mktex.cnf \
etc/texmf/xdvi/XDvi)
-mkmd5sums=('80c7fa3db1b468f9043c6acdd941a526')
+mkmd5sums=('7e11e1bf401d0a152ac50ef48d676bb3')
md5sums=('ce7c019db21ce546d6d7f1df4bc247fe'
- '306ab28bb9b070fc3e40d86d28ea7e8e'
+ '8b998b0944a766abeb1ff8ca53029084'
'd5a3f442ec3b7aa1518170f64f9d006b'
+ '16ad4dc53deb00029baef1b01ba1d984'
'393a4bf67adc7ca5df2b386759d1a637')
mksource() {
@@ -168,8 +170,8 @@ package() {
# since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c
# we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter
ln -sf /etc/texmf/web2c/texmf.cnf "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf
- # fix location of TEXMFCACHE for luatools
- sed -i 's#texlive2013#texlive#' "$pkgdir"/usr/share/texmf-dist/web2c/texmfcnf.lua
+ # replace upstream texmfcnf.lua with ours
+ install -m644 "$srcdir"/texmfcnf.lua "$pkgdir"/usr/share/texmf-dist/web2c/texmfcnf.lua
## remove aleph from fmtutil.cnf
sed -i -e '/aleph/d' "$pkgdir"/usr/share/texmf-dist/web2c/fmtutil.cnf
diff --git a/libre/texlive-core-libre/texlive-core.maps b/libre/texlive-core-libre/texlive-core.maps
index 8d86bfad1..46f598907 100644
--- a/libre/texlive-core-libre/texlive-core.maps
+++ b/libre/texlive-core-libre/texlive-core.maps
@@ -21,7 +21,17 @@ Map qzc.map
Map tabvar.map
Map troff-updmap.map
Map txfonts.map
+Map uag.map
+Map ubk.map
+Map ucr.map
+Map uhv.map
+Map unc.map
+Map upl.map
+Map usy.map
+Map utm.map
Map utopia.map
+Map uzc.map
+Map uzd.map
MixedMap ccpl.map
MixedMap cm-super-t1.map
MixedMap cm-super-t2a.map
diff --git a/libre/texlive-core-libre/texmfcnf.lua b/libre/texlive-core-libre/texmfcnf.lua
new file mode 100644
index 000000000..4409692be
--- /dev/null
+++ b/libre/texlive-core-libre/texmfcnf.lua
@@ -0,0 +1,190 @@
+-- public domain
+
+-- ConTeXt needs a properly expanded TEXMFLOCAL, so here is a
+-- bit of lua code to make that happen
+
+local texmflocal = resolvers.prefixes.selfautoparent();
+texmflocal = string.gsub(texmflocal, "20%d%d$", "texmf-local");
+
+return {
+
+ type = "configuration",
+ version = "1.1.0",
+ date = "2012-05-24",
+ time = "12:12:12",
+ comment = "ConTeXt MkIV configuration file",
+ author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
+
+ content = {
+
+ -- Originally there was support for engines and progname but I don't expect
+ -- other engines to use this file, so first engines were removed. After that
+ -- if made sense also to get rid of progname. At some point specific formats
+ -- will be supported but then as a subtable with fallbacks, which sounds more
+ -- natural. Also, at some point the paths will become tables. For the moment
+ -- I don't care too much about it as extending is easy.
+
+ variables = {
+
+ -- The following variable is predefined (but can be overloaded) and in
+ -- most cases you can leve this one untouched. The built-in definition
+ -- permits relocation of the tree.
+ --
+ -- TEXMFCNF = "{selfautodir:,selfautoparent:}{,{/share,}/texmf{-local,}/web2c}"
+ --
+ -- more readable than "selfautoparent:{/texmf{-local,}{,/web2c},}}" is:
+ --
+ -- TEXMFCNF = {
+ -- "selfautoparent:/texmf-local",
+ -- "selfautoparent:/texmf-local/web2c",
+ -- "selfautoparent:/texmf-dist",
+ -- "selfautoparent:/texmf/web2c",
+ -- "selfautoparent:",
+ -- }
+
+ -- only used for FONTCONFIG_PATH & TEXMFCACHE in TeX Live
+
+ TEXMFSYSVAR = "/var/lib/texmf",
+ TEXMFVAR = "home:.texlive/texmf-var",
+
+ -- We have only one cache path but there can be more. The first writable one
+ -- will be chosen but there can be more readable paths.
+
+ TEXMFCACHE = "$TEXMFSYSVAR;$TEXMFVAR",
+ TEXMFCONFIG = "home:.texlive/texmf-config",
+
+ -- I don't like this texmf under home and texmf-home would make more
+ -- sense. One never knows what installers put under texmf anywhere and
+ -- sorting out problems will be a pain. But on the other hand ... home
+ -- mess is normally under the users own responsibility.
+ --
+ -- By using prefixes we don't get expanded paths in the cache __path__
+ -- entry. This makes the tex root relocatable.
+
+ TEXMFOS = "selfautodir:share",
+ TEXMFDIST = "selfautodir:share/texmf-dist",
+
+ TEXMFLOCAL = texmflocal,
+ TEXMFSYSCONFIG = "/etc/texmf",
+ TEXMFFONTS = "selfautoparent:texmf-fonts",
+ TEXMFPROJECT = "selfautoparent:texmf-project",
+
+ TEXMFHOME = "home:texmf",
+ -- TEXMFHOME = os.name == "macosx" and "home:Library/texmf" or "home:texmf",
+
+ -- We need texmfos for a few rare files but as I have a few more bin trees
+ -- a hack is needed. Maybe other users also have texmf-platform-new trees.
+
+ TEXMF = "{$TEXMFCONFIG,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFPROJECT,!!$TEXMFFONTS,!!$TEXMFLOCAL,!!$TEXMFDIST}",
+
+ TEXFONTMAPS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/map/{pdftex,dvips}//",
+ ENCFONTS = ".;$TEXMF/fonts/data//;$TEXMF/fonts/enc/{dvips,pdftex}//",
+ VFFONTS = ".;$TEXMF/fonts/{data,vf}//",
+ TFMFONTS = ".;$TEXMF/fonts/{data,tfm}//",
+ T1FONTS = ".;$TEXMF/fonts/{data,type1}//;$OSFONTDIR",
+ AFMFONTS = ".;$TEXMF/fonts/{data,afm}//;$OSFONTDIR",
+ TTFONTS = ".;$TEXMF/fonts/{data,truetype}//;$OSFONTDIR",
+ OPENTYPEFONTS = ".;$TEXMF/fonts/{data,opentype}//;$OSFONTDIR",
+ CMAPFONTS = ".;$TEXMF/fonts/cmap//",
+ FONTFEATURES = ".;$TEXMF/fonts/{data,fea}//;$OPENTYPEFONTS;$TTFONTS;$T1FONTS;$AFMFONTS",
+ FONTCIDMAPS = ".;$TEXMF/fonts/{data,cid}//",
+ OFMFONTS = ".;$TEXMF/fonts/{data,ofm,tfm}//",
+ OVFFONTS = ".;$TEXMF/fonts/{data,ovf,vf}//",
+
+ TEXINPUTS = ".;$TEXMF/tex/{context,plain/base,generic}//",
+ MPINPUTS = ".;$TEXMF/metapost/{context,base,}//",
+
+ -- In the next variable the inputs path will go away.
+
+ TEXMFSCRIPTS = ".;$TEXMF/scripts/context/{lua,ruby,python,perl}//;$TEXINPUTS",
+ PERLINPUTS = ".;$TEXMF/scripts/context/perl",
+ PYTHONINPUTS = ".;$TEXMF/scripts/context/python",
+ RUBYINPUTS = ".;$TEXMF/scripts/context/ruby",
+ LUAINPUTS = ".;$TEXINPUTS;$TEXMF/scripts/context/lua//",
+ CLUAINPUTS = ".;$SELFAUTOLOC/lib/{context,luatex,}/lua//",
+
+ -- Not really used by MkIV so they might go away.
+
+ BIBINPUTS = ".;$TEXMF/bibtex/bib//",
+ BSTINPUTS = ".;$TEXMF/bibtex/bst//",
+
+ -- Experimental
+
+ ICCPROFILES = ".;$TEXMF/tex/context/colors/{icc,profiles}//;$OSCOLORDIR",
+
+ -- A few special ones that will change some day.
+
+ FONTCONFIG_FILE = "fonts.conf",
+ FONTCONFIG_PATH = "$TEXMFSYSVAR/fonts/conf",
+
+ },
+
+ -- We have a few reserved subtables. These control runtime behaviour. The
+ -- keys have names like 'foo.bar' which means that you have to use keys
+ -- like ['foo.bar'] so for convenience we also support 'foo_bar'.
+
+ directives = {
+
+ -- There are a few variables that determine the engines
+ -- limits. Most will fade away when we close in on version 1.
+
+ ["luatex.expanddepth"] = "10000", -- 10000
+ ["luatex.hashextra"] = "100000", -- 0
+ ["luatex.nestsize"] = "1000", -- 50
+ ["luatex.maxinopen"] = "500", -- 15
+ ["luatex.maxprintline"] = " 10000", -- 79
+ ["luatex.maxstrings"] = "500000", -- 15000 -- obsolete
+ ["luatex.paramsize"] = "25000", -- 60
+ ["luatex.savesize"] = "50000", -- 4000
+ ["luatex.stacksize"] = "10000", -- 300
+
+ -- A few process related variables come next.
+
+ -- ["system.checkglobals"] = "10",
+ -- ["system.nostatistics"] = "yes",
+ ["system.errorcontext"] = "10",
+ ["system.compile.cleanup"] = "no", -- remove tma files
+ ["system.compile.strip"] = "yes", -- strip tmc files
+
+ -- The io modes are similar to the traditional ones. Possible values
+ -- are all, paranoid and restricted.
+
+ ["system.outputmode"] = "restricted",
+ ["system.inputmode"] = "any",
+
+ -- The following variable is under consideration. We do have protection
+ -- mechanims but it's not enabled by default.
+
+ ["system.commandmode"] = "any", -- any none list
+ ["system.commandlist"] = "mtxrun, convert, inkscape, gs, imagemagick, curl, bibtex, pstoedit",
+
+ -- The mplib library support mechanisms have their own
+ -- configuration. Normally these variables can be left as
+ -- they are.
+
+ ["mplib.texerrors"] = "yes",
+
+ -- Normally you can leave the font related directives untouched
+ -- as they only make sense when testing.
+
+ -- ["fonts.autoreload"] = "no",
+ -- ["fonts.otf.loader.method"] = "table", -- table mixed sparse
+ -- ["fonts.otf.loader.cleanup"] = "0", -- 0 1 2 3
+
+ -- In an edit cycle it can be handy to launch an editor. The
+ -- preferred one can be set here.
+
+ -- ["pdfview.method"] = "okular", -- default (often acrobat) xpdf okular
+
+ },
+
+ experiments = {
+ ["fonts.autorscale"] = "yes",
+ },
+
+ trackers = {
+ },
+
+ },
+
+}
diff --git a/libre/texlive-fontsextra-libre/PKGBUILD b/libre/texlive-fontsextra-libre/PKGBUILD
index 70f079049..fb8697bc6 100644
--- a/libre/texlive-fontsextra-libre/PKGBUILD
+++ b/libre/texlive-fontsextra-libre/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=texlive-fontsextra-libre
_pkgname=texlive-fontsextra
-pkgver=2013.31570
+pkgver=2013.33010
_revnr=${pkgver#2013.}
pkgrel=1
pkgdesc="TeX Live - all sorts of extra fonts, without nonfree add-on packages"
@@ -22,7 +22,7 @@ source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver-src.t
options=('!emptydirs')
options=(!strip)
install=texlive.install
-mkmd5sums=('3f519371dd2e22e5b32daa461b89aea2')
+mkmd5sums=('4953978642ddcfc90854230b57145b5b')
md5sums=('e6b12e482913169f44c54172316416bc'
'f489cc5f762dcdbe6acb11624de7e138')
diff --git a/libre/texlive-fontsextra-libre/texlive-fontsextra.maps b/libre/texlive-fontsextra-libre/texlive-fontsextra.maps
index 852afce52..0b67bca11 100644
--- a/libre/texlive-fontsextra-libre/texlive-fontsextra.maps
+++ b/libre/texlive-fontsextra-libre/texlive-fontsextra.maps
@@ -1,5 +1,7 @@
Map Acorn.map
+Map Alegreya.map
Map AnnSton.map
+Map AnonymousPro.map
Map ArrowsADF.map
Map ArtNouv.map
Map ArtNouvc.map
@@ -19,6 +21,7 @@ Map Konanur.map
Map Kramer.map
Map LibreBaskerville.map
Map LibreCaslon.map
+Map LobsterTwo.map
Map MnSymbol.map
Map MorrisIn.map
Map Nouveaud.map
@@ -32,7 +35,9 @@ Map SourceCodePro.map
Map SourceSansPro.map
Map Starburst.map
Map Typocaps.map
+Map XCharter.map
Map Zallman.map
+Map accanthis.map
Map antt.map
Map ap.map
Map archaicprw.map
@@ -64,6 +69,7 @@ Map epigrafica.map
Map esvect.map
Map fbb.map
Map fdsymbol.map
+Map fetamont.map
Map fge.map
Map foekfont.map
Map fonetika.map
@@ -77,6 +83,7 @@ Map gfscomplutum.map
Map gfsdidot.map
Map gfsneohellenic.map
Map gfssolomos.map
+Map gillius.map
Map gptimes.map
Map hacm.map
Map icelandic.map
@@ -90,8 +97,14 @@ Map linearA.map
Map mathabx.map
Map mdbch.map
Map mdgreek.map
+Map mdici.map
+Map mdpgd.map
+Map mdpus.map
Map mdput.map
Map mdsymbol.map
+Map mdugm.map
+Map merriweather.map
+Map mintspirit.map
Map newpx.map
Map newtx.map
Map ocrb.map
@@ -108,6 +121,7 @@ Map sansmathaccent.map
Map sansmathfonts.map
Map sqrcaps.map
Map starfont.map
+Map stix.map
Map superiors.map
Map tfrupee.map
Map uaq.map
diff --git a/libre/texlive-latexextra-libre/PKGBUILD b/libre/texlive-latexextra-libre/PKGBUILD
index cbdc46a12..12b8355a3 100644
--- a/libre/texlive-latexextra-libre/PKGBUILD
+++ b/libre/texlive-latexextra-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 193983 2013-09-09 12:57:56Z remy $
+# $Id: PKGBUILD 207649 2014-03-12 22:58:16Z remy $
# Maintainer: Firmicus <firmicus āt gmx dōt net>
# Maintainer: Rémy Oudompheng <remy@archlinux.org>
# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
@@ -6,7 +6,7 @@
pkgname=texlive-latexextra-libre
_pkgname=texlive-latexextra
-pkgver=2013.31588
+pkgver=2013.33063
_revnr=${pkgver#2013.}
pkgrel=1
pkgdesc="TeX Live - Large collection of add-on packages for LaTeX, without nonfree add-on packages"
@@ -31,7 +31,7 @@ source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver-src.t
options=('!emptydirs')
options=(!strip)
install=texlive.install
-mkmd5sums=('7c9755ca4e104089fab816d805990f6f')
+mkmd5sums=('ef7a22d455bcf59aee21fc65274df5b8')
md5sums=('7e6ff7b61faf268fe2b814c4949ab364'
'9e4825f47dac663dd62c4bfa67899e84')
diff --git a/nonprism/sylpheed-nonprism/PKGBUILD b/nonprism/sylpheed-nonprism/PKGBUILD
index 08b0b3c13..75f98249b 100644
--- a/nonprism/sylpheed-nonprism/PKGBUILD
+++ b/nonprism/sylpheed-nonprism/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 79630 2012-11-09 11:59:02Z speps $
+# $Id: PKGBUILD 107092 2014-03-12 11:31:06Z speps $
# Maintainer: speps <speps at aur dot archlinux dot org>
# Contributor: Alexander Fehr <pizzapunk gmail com>
# Contributor: dorphell <dorphell@archlinux.org>
@@ -7,33 +7,32 @@
_pkgname=sylpheed
pkgname=sylpheed-nonprism
-pkgver=3.3.0
-pkgrel=1.1
+pkgver=3.3.1
+pkgrel=1
pkgdesc="Lightweight and user-friendly e-mail client, without Gmail support"
arch=('i686' 'x86_64')
url="http://sylpheed.sraoss.jp/en/"
license=('GPL')
-depends=('gpgme' 'gtkspell' 'desktop-file-utils' 'compface')
-makedepends=('openssl')
-options=('!libtool')
replaces=$_pkgname
conflicts=$_pkgname
provides=$_pkgname=$pkgver
+depends=('compface' 'gpgme' 'gtkspell' 'desktop-file-utils')
+makedepends=('openssl')
install="$_pkgname.install"
source=("http://sylpheed.sraoss.jp/$_pkgname/v3.3/$_pkgname-$pkgver.tar.bz2"
'nonprism.patch')
-md5sums=('20442f81dbb4e7c59462360ad0bb1afb'
+md5sums=('34551fa05722bac80bbe0688bb4a3341'
'e1bddc14962e607cdb899ec082660639')
prepare() {
- cd "$srcdir/$_pkgname-$pkgver"
+ cd $_pkgname-$pkgver
# Remove Gmail support
patch -Np1 -i "$srcdir/nonprism.patch"
}
build() {
- cd "$srcdir/$_pkgname-$pkgver"
+ cd $_pkgname-$pkgver
./configure --prefix=/usr \
--enable-ldap
make
@@ -43,7 +42,7 @@ build() {
}
package() {
- cd "$srcdir/$_pkgname-$pkgver"
+ cd $_pkgname-$pkgver
make DESTDIR="$pkgdir/" install
# Install Attachment-Tool Plug-in
diff --git a/pcr/trytond-carrier/PKGBUILD b/pcr/trytond-carrier/PKGBUILD
new file mode 100644
index 000000000..c4827cac0
--- /dev/null
+++ b/pcr/trytond-carrier/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-carrier
+_pkgname=trytond_carrier
+pkgver=3.0.0
+_pkgdir=3.0
+pkgrel=3
+pkgdesc="The carrier module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-party>=3.0' 'trytond-product>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("f1c0c88d3e3ab4f2955a252125090eb7")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file
diff --git a/pcr/trytond-product-price-list/PKGBUILD b/pcr/trytond-product-price-list/PKGBUILD
new file mode 100644
index 000000000..bc55f3e7b
--- /dev/null
+++ b/pcr/trytond-product-price-list/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-product-price-list
+_pkgname=trytond_product_price_list
+pkgver=3.0.0
+_pkgdir=3.0
+pkgrel=3
+pkgdesc="The product_price_list module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-company>=3.0' 'trytond-product>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("d220b8f8693368fe17688ddeda92aaa8")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file
diff --git a/pcr/trytond-purchase/PKGBUILD b/pcr/trytond-purchase/PKGBUILD
new file mode 100644
index 000000000..5b0042cb0
--- /dev/null
+++ b/pcr/trytond-purchase/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-purchase
+_pkgname=trytond_purchase
+pkgver=3.0.0
+_pkgdir=3.0
+pkgrel=3
+pkgdesc="The purchase module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-account>=3.0' 'trytond-account-invoice>=3.0' 'trytond-account-product>=3.0' 'trytond-company>=3.0' 'trytond-currency>=3.0' 'trytond-party>=3.0' 'trytond-product>=3.0' 'trytond-stock>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("83da5c8fce0588ca6077e1adb21d15d9")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file
diff --git a/pcr/trytond-sale-invoice-grouping/PKGBUILD b/pcr/trytond-sale-invoice-grouping/PKGBUILD
new file mode 100644
index 000000000..8606d43e2
--- /dev/null
+++ b/pcr/trytond-sale-invoice-grouping/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-sale-invoice-grouping
+_pkgname=trytond_sale_invoice_grouping
+pkgver=3.0.1
+_pkgdir=3.0
+pkgrel=2
+pkgdesc="The sale_invoice_grouping module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-party>=3.0' 'trytond-account-invoice>=3.0' 'trytond-sale>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("aef313cc4465536e7c4c925514bbdc3f")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file
diff --git a/pcr/trytond-sale-opportunity/PKGBUILD b/pcr/trytond-sale-opportunity/PKGBUILD
new file mode 100644
index 000000000..c2702eb4b
--- /dev/null
+++ b/pcr/trytond-sale-opportunity/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-sale-opportunity
+_pkgname=trytond_sale_opportunity
+pkgver=3.0.0
+_pkgdir=3.0
+pkgrel=3
+pkgdesc="The sale_opportunity module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-account>=3.0' 'trytond-company>=3.0' 'trytond-currency>=3.0' 'trytond-party>=3.0' 'trytond-product>=3.0' 'trytond-sale>=3.0' 'trytond-stock>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("08a104e969fa638f265e427260756dfd")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file
diff --git a/pcr/trytond-sale-price-list/PKGBUILD b/pcr/trytond-sale-price-list/PKGBUILD
new file mode 100644
index 000000000..f0d501e9a
--- /dev/null
+++ b/pcr/trytond-sale-price-list/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-sale-price-list
+_pkgname=trytond_sale_price_list
+pkgver=3.0.0
+_pkgdir=3.0
+pkgrel=3
+pkgdesc="The sale_price_list module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-party>=3.0' 'trytond-product-price-list>=3.0' 'trytond-sale>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("aad1178622b585285bd24964926a1326")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file
diff --git a/pcr/trytond-sale-shipment-cost/PKGBUILD b/pcr/trytond-sale-shipment-cost/PKGBUILD
new file mode 100644
index 000000000..723ebfc11
--- /dev/null
+++ b/pcr/trytond-sale-shipment-cost/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-sale-shipment-cost
+_pkgname=trytond_sale_shipment_cost
+pkgver=3.0.0
+_pkgdir=3.0
+pkgrel=3
+pkgdesc="The sale_shipment_cost module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-account-invoice>=3.0' 'trytond-carrier>=3.0' 'trytond-currency>=3.0' 'trytond-sale>=3.0' 'trytond-stock>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("031f6c3decc0f8918527b324c3674238")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file
diff --git a/pcr/trytond-sale-supply-drop-shipment/PKGBUILD b/pcr/trytond-sale-supply-drop-shipment/PKGBUILD
new file mode 100644
index 000000000..2c8acf5e5
--- /dev/null
+++ b/pcr/trytond-sale-supply-drop-shipment/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-sale-supply-drop-shipment
+_pkgname=trytond_sale_supply_drop_shipment
+pkgver=3.0.0
+_pkgdir=3.0
+pkgrel=3
+pkgdesc="The sale_supply_drop_shipment module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-company>=3.0' 'trytond-purchase>=3.0' 'trytond-sale>=3.0' 'trytond-sale-supply>=3.0' 'trytond-stock>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("3c7ace69223264f6a06ee2a5393bdb3e")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file
diff --git a/pcr/trytond-sale-supply/PKGBUILD b/pcr/trytond-sale-supply/PKGBUILD
new file mode 100644
index 000000000..031c2ca85
--- /dev/null
+++ b/pcr/trytond-sale-supply/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-sale-supply
+_pkgname=trytond_sale_supply
+pkgver=3.0.0
+_pkgdir=3.0
+pkgrel=3
+pkgdesc="The sale_supply module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-purchase>=3.0' 'trytond-sale>=3.0' 'trytond-stock>=3.0' 'trytond-stock-supply>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("806c0c542375cd2f9883352c544b2411")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file
diff --git a/pcr/trytond-sale/PKGBUILD b/pcr/trytond-sale/PKGBUILD
new file mode 100644
index 000000000..f6ac99044
--- /dev/null
+++ b/pcr/trytond-sale/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-sale
+_pkgname=trytond_sale
+pkgver=3.0.0
+_pkgdir=3.0
+pkgrel=3
+pkgdesc="The sale module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-account>=3.0' 'trytond-account-invoice>=3.0' 'trytond-account-product>=3.0' 'trytond-company>=3.0' 'trytond-currency>=3.0' 'trytond-party>=3.0' 'trytond-product>=3.0' 'trytond-stock>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("87b25a8af9d592a903a071031bd5f2e9")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file
diff --git a/pcr/trytond-stock-supply/PKGBUILD b/pcr/trytond-stock-supply/PKGBUILD
new file mode 100644
index 000000000..6f65cfc8d
--- /dev/null
+++ b/pcr/trytond-stock-supply/PKGBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Robin Baumgartner <robin@baumgartners.ch>
+pkgname=trytond-stock-supply
+_pkgname=trytond_stock_supply
+pkgver=3.0.0
+_pkgdir=3.0
+pkgrel=3
+pkgdesc="The stock_supply module of the Tryton application platform"
+arch=('any')
+url='http://www.tryton.org/'
+license=('GPL3')
+groups=('trytond-modules')
+depends=('trytond>=3.0' 'trytond-account>=3.0' 'trytond-party>=3.0' 'trytond-product>=3.0' 'trytond-purchase>=3.0' 'trytond-stock>=3.0')
+makedepends=('python2-distribute')
+source=("http://downloads.tryton.org/$_pkgdir/$_pkgname-$pkgver.tar.gz")
+md5sums=("19b178ba0b6d42cc64e09577113edf88")
+
+build() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py build
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ python2 setup.py install --root=$pkgdir
+} \ No newline at end of file