Package Details: pjproject 2.15.1-1

Git Clone URL: https://aur.archlinux.org/pjproject.git (read-only, click to copy)
Package Base: pjproject
Description: Open source SIP stack and media stack
Upstream URL: https://www.pjsip.org/
Licenses: GPL-2.0-only
Submitter: None
Maintainer: alerque (GNUtoo, wuestengecko)
Last Packager: alerque
Votes: 34
Popularity: 0.001892
First Submitted: 2007-09-07 12:14 (UTC)
Last Updated: 2024-12-16 07:22 (UTC)

Dependencies (29)

Sources (3)

Pinned Comments

alerque commented on 2020-02-22 05:37 (UTC)

PSA: I've started hosting this and also many other packages I maintain in the AUR as prebuilt packages in my repository for those that want to install them using pacman without messing around with building from the AUR.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 Next › Last »

Maniaxx commented on 2019-06-28 22:10 (UTC)

Why are these options disabled? pjsua doesn't find any soundcard with --disable-sound and thus is barely usable. The others don't seem to harm either. Why closing doors here?

--disable-v4l2 \
--disable-video \
--disable-sound \

alerque commented on 2019-06-18 13:02 (UTC)

Thanks for the patches @GNUtoo and @wuestengecko! I've applied everything and added you both as co-maintainers as well.

wuestengecko commented on 2019-06-14 19:58 (UTC) (edited on 2019-06-14 20:41 (UTC) by wuestengecko)

On top of the ones from GNUtoo, I'd like to add two more patches which you can find here: <https://gist.github.com/Wuestengecko/c5e12a95a11dcb4e7b31128726ee4565>

The first file are GNUtoo's patches (git am refused one of them, which I have fixed). The second file (= my first patch) is kind of a full rewrite of the PKGBUILD. It now builds the python bindings (which I need) as split package. The last one is simply a bump to the newly released v2.9 upstream version.

GNUtoo commented on 2019-04-14 22:01 (UTC) (edited on 2019-04-14 22:01 (UTC) by GNUtoo)

Hi, I've 3 patches for pjproject:

From ae2130a11511f307f46622a48d96c60f411cdccf Mon Sep 17 00:00:00 2001
From: Denis 'GNUtoo' Carikli GNUtoo@cyberdimension.org
Date: Sun, 14 Apr 2019 23:33:27 +0200
Subject: [PATCH 1/3] Fix illegal instructions on x86_64 by disabling
 -march=native

Before this package was built with -march=native, so if you build it on a machine with a processor that supports avx (Advanced Vector Extensions), libpjsip.so.2 ended up with vpxor instructions that don't work anymore on machines with a processor that do not have such extension, and would result in an illegal instruction at asterisk startup on such machines.

Signed-off-by: Denis 'GNUtoo' Carikli GNUtoo@cyberdimension.org

PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/PKGBUILD b/PKGBUILD index 8658642..3543582 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -5,7 +5,7 @@

pkgname=pjproject pkgver=2.8 -pkgrel=1 +pkgrel=2 pkgdesc='Open source SIP stack and media stack' arch=('i686' 'x86_64' 'armv7h') url='http://www.pjsip.org/' @@ -18,7 +18,7 @@ sha256sums=('503d0bd7f9f13dc1492ac9b71b761b1089851fbb608b9a13996edc3c42006f79')

build() { cd "$pkgname-$pkgver" - export CXXFLAGS="$CXXFLAGS -fPIC -march=native" + export CXXFLAGS="$CXXFLAGS -fPIC" export CFLAGS="$CXXFLAGS -DNDEBUG" ./configure --prefix=/usr --with-external-speex --with-external-srtp --with-external-pa --with-external-gsm --disable-oss --enable-shared --disable-opencore-amr --disable-v4l2 --disable-video --disable-sound echo "#define PJ_HAS_IPV6 1" >> "$srcdir/$pkgname-$pkgver/pjlib/include/pj/config_site.h" -- 2.21.0

From a5fa962b0f0003c95f28e429d6e575131a2dadea Mon Sep 17 00:00:00 2001
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Date: Sun, 14 Apr 2019 23:48:47 +0200
Subject: [PATCH 2/3] disable libwebrtc on i686 to fix illegal instructions

Both Parabola and archlinux32 whish to support all i686 machines
that don't have SSE2:
- Parabola's minimum system requirements states that:
  "Parabola GNU/Linux-libre should run on any i686 compatible machine
  [...]"[1]
  Wikipedia states that i686 has MMX and SSE[2] but doesn't mention
  SSE2 as a requirement[2].
- Archlinux32 states:
  "Currently some i686 packages require SSE2 - which is a bug we're
  trying to solve."[3]

References:
-----------
[1]https://wiki.parabola.nu/Beginners%27_guide#Minimum_system_requirements
[2]https://en.wikipedia.org/wiki/P6_(microarchitecture)
[3]https://archlinux32.org/architecture/

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
---
 PKGBUILD | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/PKGBUILD b/PKGBUILD
index 3543582..297adb3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,7 +5,7 @@

 pkgname=pjproject
 pkgver=2.8
-pkgrel=2
+pkgrel=3
 pkgdesc='Open source SIP stack and media stack'
 arch=('i686' 'x86_64' 'armv7h')
 url='http://www.pjsip.org/'
@@ -19,8 +19,12 @@ sha256sums=('503d0bd7f9f13dc1492ac9b71b761b1089851fbb608b9a13996edc3c42006f79')
 build() {
   cd "$pkgname-$pkgver"
   export CXXFLAGS="$CXXFLAGS -fPIC"
+  if [ "$CARCH" = "i686" ]; then
+    export CXXFLAGS="$CXXFLAGS -march=i686"
+    arch_opts="--disable-libwebrtc"
+  fi
   export CFLAGS="$CXXFLAGS -DNDEBUG"
-  ./configure --prefix=/usr --with-external-speex --with-external-srtp --with-external-pa --with-external-gsm --disable-oss --enable-shared --disable-opencore-amr --disable-v4l2 --disable-video --disable-sound
+  ./configure --prefix=/usr --with-external-speex --with-external-srtp --with-external-pa --with-external-gsm --disable-oss --enable-shared --disable-opencore-amr --disable-v4l2 --disable-video --disable-sound ${arch_opts}
   echo "#define PJ_HAS_IPV6 1" >> "$srcdir/$pkgname-$pkgver/pjlib/include/pj/config_site.h"
   make -j1 dep
   make -j1
-- 
2.21.0

From 5fe317891222a6a34a429751f00bce09fee9f1c0 Mon Sep 17 00:00:00 2001
From: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Date: Sun, 14 Apr 2019 23:58:49 +0200
Subject: [PATCH 3/3] package: catch ARM binaries

In package(), the trailing '*' was added to
pjsip-apps/bin/pjsua-*gnu in order to catch binaries like
pjsip-apps/bin/pjsua-armv7l-unknown-linux-gnueabihf on ARM.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
---
 PKGBUILD | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/PKGBUILD b/PKGBUILD
index 297adb3..5da55c3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -33,5 +33,5 @@ build() {
 package() {
   cd "$pkgname-$pkgver"
   make -j1 DESTDIR="$pkgdir" install
-  install -D -m755 pjsip-apps/bin/pjsua-*gnu "$pkgdir"/usr/bin/pjsua
+  install -D -m755 pjsip-apps/bin/pjsua-*gnu* "$pkgdir"/usr/bin/pjsua
 }
-- 
2.21.0

alerque commented on 2018-12-05 09:14 (UTC)

Does anybody know why this package is called pjproject instead of pjsip as the upstream appears to be?

post-factum commented on 2018-09-06 13:13 (UTC)

FYI, with v2.8 --disable-oss is not a valid option anymore.

alerque commented on 2018-07-24 05:57 (UTC)

@tsflux: The documentation page you link to actually says otherwise:

When the Makefile based build system is used, this process is taken care by the Makefiles.

jfrankenau commented on 2018-02-24 11:11 (UTC)

@caleb, without setting config_site.h the library is build for development purposes only which for example outputs debug information and thus is not capable to handle real-world requirements.

joximus commented on 2018-02-20 14:46 (UTC) (edited on 2018-02-20 15:48 (UTC) by joximus)

In order to build pjproject 2.7.1 on archlinuxarm on cubieboard1 (armv7h) I had to make following changes to PGKBUILD: in configure line I added: --disable-libwebrtc and install line change to:

install -D -m755 pjsip-apps/bin/pjsua-&`${srcdir}/${pkgname}-${pkgver}/config.guess` ${pkgdir}/usr/bin/pjsua