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 \
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) |
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 \
Thanks for the patches @GNUtoo and @wuestengecko! I've applied everything and added you both as co-maintainers as well.
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.
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=nativeBefore 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
Does anybody know why this package is called pjproject instead of pjsip as the upstream appears to be?
FYI, with v2.8 --disable-oss is not a valid option anymore.
@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.
@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.
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
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.