Package Base Details: pjproject

Git Clone URL: https://aur.archlinux.org/pjproject.git (read-only, click to copy)
Submitter: None
Maintainer: alerque (GNUtoo, wuestengecko)
Last Packager: alerque
Votes: 34
Popularity: 0.28
First Submitted: 2007-09-07 12:14 (UTC)
Last Updated: 2024-03-28 16:00 (UTC)

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 »

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

alerque commented on 2018-02-15 11:03 (UTC)

I have adopted this package and updated it it a way that works on my systems. As most of the comments are about old versions it's unclear to me if anything remains that needs doing. If so please comment here again with specifics. Particularly any body using this on Raspberry Pis that could report status would be useful.

@tsuflux I setup the optdepends=() array but am unsure about the site config. What's the argument for the upstream project defaults not being suitable as the default use case on Arch?