void-packages/srcpkgs/pjproject/template

65 lines
2.2 KiB
Bash

# Template file for 'pjproject'
# no-third-party.patch comes from Alpine,
# and this template is heavily based on Alpine's APKBUILD.
pkgname=pjproject
version=2.13
revision=2
build_style=gnu-configure
configure_args="--enable-shared \
--enable-libsamplerate \
--with-external-speex \
--with-external-gsm \
--with-external-srtp \
--disable-libyuv --disable-libwebrtc"
# Disable libyuv and webrtc echo cancelation. Optional. We don't have
# libyuv packaged for Void. Thought I could be smart and use
# webrtc-audio-processing, but it doesn't have what I need. Using the
# bundled versions would also pollute build with libyuv and libwebrtc (yuck).
makedepends="openssl-devel alsa-lib-devel libgsm-devel speex-devel speexdsp-devel
libsrtp-devel libsamplerate-devel"
short_desc="Open source SIP and media stack"
maintainer="Christopher Brannon <chris@the-brannons.com>"
license="GPL-2.0-or-later"
homepage="https://www.pjsip.org/"
distfiles="https://github.com/pjsip/pjproject/archive/refs/tags/${version}.tar.gz"
checksum=4178bb9f586299111463fc16ea04e461adca4a73e646f8ddef61ea53dafa92d9
disable_parallel_build=yes
pre_configure() {
export LD="${CC}"
# Remove target name from lib names
sed -i -e 's/-$(TARGET_NAME)//g' \
-e 's/= $(TARGET_NAME).a/= .a/g' \
-e 's/-$(LIB_SUFFIX)/$(LIB_SUFFIX)/g' \
$(find . -name '*.mak*' -o -name Makefile) || return 1
# Fix hardcoded prefix and flags
sed -i \
-e 's/poll@/poll@\nexport PREFIX := @prefix@\n/g' \
-e 's!prefix = /usr/local!prefix = $(PREFIX)!' \
-e '/PJLIB_CFLAGS/ s/(_CFLAGS)/(_CFLAGS) -fPIC/g' \
-e '/PJLIB_UTIL_CFLAGS/ s/(_CFLAGS)/(_CFLAGS) -fPIC/g' \
Makefile \
build.mak.in || return 1
# Use libsamplerate instead of bundled resample
sed -i -e "s/resample//" third_party/build/Makefile
sed -i -e "s#../../third_party/libsamplerate/src/samplerate.h#samplerate.h#" pjmedia/src/pjmedia/resample_libsamplerate.c
echo "#define PJ_HAS_IPV6 1" >> "pjlib/include/pj/config_site.h"
}
post_install() {
vbin pjsip-apps/bin/pjsua
}
pjproject-devel_package() {
depends="${makedepends} pjproject>=${version}_${revision}"
short_desc+=" - development files"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
vmove usr/lib/pkgconfig
}
}