void-packages/srcpkgs/pjproject/template
Đoàn Trần Công Danh 49cb564d14 srcpkgs/p*: convert patches to -Np1
* par is kept at -Np0

```sh
git grep -l '^patch_args=-Np0' "srcpkgs/$1*/template" |
while read template; do
	for p in ${template%/template}/patches/*; do
		sed -i '
			\,^[+-][+-][+-] /dev/null,b
			/^[*-]\+ [0-9]\+\(,[0-9]\+\)\? [*-]\+$/b
			s,^[*][*][*] ,&a/,
			/^--- /{
				s,\(^--- \)\(./\)*,\1a/,
				s,[.-][Oo][Rr][Ii][Gg]\([	/]\),\1,
				s/[.-][Oo][Rr][Ii][Gg]$//
				s/[.]patched[.]\([^.]\)/.\1/
				h
			}
			/^+++ -/{
				g
				s/^--- a/+++ b/
				b
			}
			s,\(^+++ \)\(./\)*,\1b/,
		' "$p"
	done
	sed -i '/^patch_args=/d' $template
done
```
2021-06-20 13:17:29 +07:00

64 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.8
revision=5
disable_parallel_build=yes
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="http://www.pjsip.org/pjsua.htm"
distfiles="http://www.pjsip.org/release/${version}/${pkgname}-${version}.tar.bz2"
checksum=503d0bd7f9f13dc1492ac9b71b761b1089851fbb608b9a13996edc3c42006f79
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
}
}