commit fafdac2cc518f1ae74847341d67e89abeb88b1e7 Author: Jacek Konieczny <j.koniec...@eggsoft.pl> Date: Tue Jan 7 14:12:23 2014 +0100
new package pjproject-avcodec.patch | 45 ++++++++++++ pjproject-ilbc-link.patch | 12 +++ pjproject.spec | 184 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 241 insertions(+) --- diff --git a/pjproject.spec b/pjproject.spec new file mode 100644 index 0000000..faed2a5 --- /dev/null +++ b/pjproject.spec @@ -0,0 +1,184 @@ +# +# NOTE: +# this is a Digium fork of pjproject, for Asterisk +# https://wiki.asterisk.org/wiki/display/AST/Installing+pjproject +# we should switch to upstream when the needed changes are merged there +# +# +# TODO: +# - fix --with opencore_amr +# - libresample.so conflicts with the libresample-devel package +# + +# Conditional build: +%bcond_without sound # disable sound support (recommended by AST wiki) +%bcond_with resample # disable resample support (recommended by AST wiki) +%bcond_with opencore_amr # disable opencore-arm support (recommended by AST wiki) + +# from ./version.mak +%define version_base 2.1.0 + +# from a commit at https://github.com/asterisk/pjproject +%define snap_ts 20131114 +%define snap_hash 217740d99457fc8492d3a68f90fa25a52bd8eca9 + +Summary: PJSIP - free and open source multimedia communication library +Name: pjproject +Version: 2.1.0_digium_%{snap_ts} +Release: 0.1 +License: GPL v2+ +Group: Libraries +Source0: https://github.com/asterisk/pjproject/archive/%{snap_hash}.tar.gz +# Source0-md5: b1d94fedf46f00b7e9fbaf8fa44cc652 +Patch0: %{name}-avcodec.patch +Patch1: %{name}-ilbc-link.patch +URL: http://www.pjsip.org/ +%{?with_video:BuildRequires: SDL2-devel} +BuildRequires: SILK_SDK-devel +BuildRequires: autoconf +%{?with_video:BuildRequires: ffmpeg-devel} +BuildRequires: libgsm-devel +%{?with_video:BuildRequires: libv4l-devel} +%{?with_opencore_amr:BuildRequires: opencore-amr-devel} +BuildRequires: openssl-devel +BuildRequires: pkgconfig +%{?with_sound:BuildRequires: portaudio-devel} +BuildRequires: python-modules +BuildRequires: rpmbuild(macros) >= 1.583 +BuildRequires: speex-devel +BuildRequires: srtp-devel +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +# dependency loop between libpjmedia-videodev.so and libpjmedia.so +%define skip_post_check_so libpjmedia-videodev.so.* + +%define libsuffix %{_arch}-pld-linux-gnu + +%description +PJSIP is a free and open source multimedia communication library +written in C language implementing standard based protocols such as +SIP, SDP, RTP, STUN, TURN, and ICE. It combines signaling protocol +(SIP) with rich multimedia framework and NAT traversal functionality +into high level API that is portable and suitable for almost any type +of systems ranging from desktops, embedded systems, to mobile +handsets. + +PJSIP is both compact and feature rich. It supports audio, video, +presence, and instant messaging, and has extensive documentation. +PJSIP is very portable. On mobile devices, it abstracts system +dependent features and in many cases is able to utilize the native +multimedia capabilities of the device. + +%package devel +Summary: Header files for %{name} library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +Header files for %{name} library. + +%description devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki %{name}. + +%package static +Summary: Static %{name} library +Summary(pl.UTF-8): Statyczna biblioteka %{name} +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} + +%description static +Static %{name} library. + +%description static -l pl.UTF-8 +Statyczna biblioteka %{name}. + +%prep +%setup -q -n %{name}-%{snap_hash} +%patch0 -p1 +%patch1 -p1 + +%build +%{__autoconf} -o configure aconfigure.ac + +%configure \ + CFLAGS="%{rpmcflags} %{?with_video:-DPJMEDIA_HAS_VIDEO=1}" \ + --enable-shared \ + %{__enable_disable sound sound} \ + %{__enable_disable video video} \ + %{__enable_disable resample resample} \ + %{__enable_disable opencore_amr opencore-amr} \ + %{__with sound external-pa} \ + --with-external-speex \ + --with-external-srtp \ + --with-external-gsm +%{__make} + +%install +rm -rf $RPM_BUILD_ROOT + +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT + +%clean +rm -rf $RPM_BUILD_ROOT + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(644,root,root,755) +%doc README.txt +%attr(755,root,root) %{_libdir}/libg7221codec.so.2 +%attr(755,root,root) %{_libdir}/libilbccodec.so.2 +%attr(755,root,root) %{_libdir}/libmilenage.so.2 +%attr(755,root,root) %{_libdir}/libpj.so.2 +%attr(755,root,root) %{_libdir}/libpjlib-util.so.2 +%attr(755,root,root) %{_libdir}/libpjmedia-audiodev.so.2 +%attr(755,root,root) %{_libdir}/libpjmedia-codec.so.2 +%attr(755,root,root) %{_libdir}/libpjmedia-videodev.so.2 +%attr(755,root,root) %{_libdir}/libpjmedia.so.2 +%attr(755,root,root) %{_libdir}/libpjnath.so.2 +%attr(755,root,root) %{_libdir}/libpjsip-simple.so.2 +%attr(755,root,root) %{_libdir}/libpjsip-ua.so.2 +%attr(755,root,root) %{_libdir}/libpjsip.so.2 +%attr(755,root,root) %{_libdir}/libpjsua.so.2 +%{?with_resample:%attr(755,root,root) %{_libdir}/libpjsua.so.2} + +%files devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libg7221codec.so +%attr(755,root,root) %{_libdir}/libilbccodec.so +%attr(755,root,root) %{_libdir}/libmilenage.so +%attr(755,root,root) %{_libdir}/libpj.so +%attr(755,root,root) %{_libdir}/libpjlib-util.so +%attr(755,root,root) %{_libdir}/libpjmedia-audiodev.so +%attr(755,root,root) %{_libdir}/libpjmedia-codec.so +%attr(755,root,root) %{_libdir}/libpjmedia-videodev.so +%attr(755,root,root) %{_libdir}/libpjmedia.so +%attr(755,root,root) %{_libdir}/libpjnath.so +%attr(755,root,root) %{_libdir}/libpjsip-simple.so +%attr(755,root,root) %{_libdir}/libpjsip-ua.so +%attr(755,root,root) %{_libdir}/libpjsip.so +%attr(755,root,root) %{_libdir}/libpjsua.so +%{?with_resample:%attr(755,root,root) %{_libdir}/libresample.so} +%{_includedir}/pj* +%{_pkgconfigdir}/lib%{name}.pc + +%files static +%defattr(644,root,root,755) +%{_libdir}/libg7221codec-%{libsuffix}.a +%{_libdir}/libilbccodec-%{libsuffix}.a +%{_libdir}/libmilenage-%{libsuffix}.a +%{_libdir}/libpj-%{libsuffix}.a +%{_libdir}/libpjlib-util-%{libsuffix}.a +%{_libdir}/libpjmedia-audiodev-%{libsuffix}.a +%{_libdir}/libpjmedia-codec-%{libsuffix}.a +%{_libdir}/libpjmedia-%{libsuffix}.a +%{_libdir}/libpjmedia-videodev-%{libsuffix}.a +%{_libdir}/libpjnath-%{libsuffix}.a +%{_libdir}/libpjsip-%{libsuffix}.a +%{_libdir}/libpjsip-simple-%{libsuffix}.a +%{_libdir}/libpjsip-ua-%{libsuffix}.a +%{_libdir}/libpjsua-%{libsuffix}.a +%{?with_resample:%{_libdir}/libresample-%{libsuffix}.a} diff --git a/pjproject-avcodec.patch b/pjproject-avcodec.patch new file mode 100644 index 0000000..2c19845 --- /dev/null +++ b/pjproject-avcodec.patch @@ -0,0 +1,45 @@ +diff -dur pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9.orig/pjmedia/src/pjmedia/ffmpeg_util.c pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9/pjmedia/src/pjmedia/ffmpeg_util.c +--- pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9.orig/pjmedia/src/pjmedia/ffmpeg_util.c 2013-11-14 22:24:47.000000000 +0100 ++++ pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9/pjmedia/src/pjmedia/ffmpeg_util.c 2014-01-07 12:15:00.000000000 +0100 +@@ -62,7 +62,7 @@ + static const struct ffmpeg_codec_table_t + { + pjmedia_format_id id; +- enum CodecID codec_id; ++ enum AVCodecID codec_id; + } ffmpeg_codec_table[] = + { + {PJMEDIA_FORMAT_H261, CODEC_ID_H261}, +@@ -165,7 +165,7 @@ + } + + pj_status_t pjmedia_format_id_to_CodecID(pjmedia_format_id fmt_id, +- enum CodecID *codec_id) ++ enum AVCodecID *codec_id) + { + unsigned i; + for (i=0; i<PJ_ARRAY_SIZE(ffmpeg_codec_table); ++i) { +@@ -180,7 +180,7 @@ + return PJ_ENOTFOUND; + } + +-pj_status_t CodecID_to_pjmedia_format_id(enum CodecID codec_id, ++pj_status_t CodecID_to_pjmedia_format_id(enum AVCodecID codec_id, + pjmedia_format_id *fmt_id) + { + unsigned i; +diff -dur pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9.orig/pjmedia/src/pjmedia/ffmpeg_util.h pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9/pjmedia/src/pjmedia/ffmpeg_util.h +--- pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9.orig/pjmedia/src/pjmedia/ffmpeg_util.h 2013-11-14 22:24:47.000000000 +0100 ++++ pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9/pjmedia/src/pjmedia/ffmpeg_util.h 2014-01-07 12:13:32.000000000 +0100 +@@ -47,9 +47,9 @@ + pjmedia_format_id *fmt_id); + + pj_status_t pjmedia_format_id_to_CodecID(pjmedia_format_id fmt_id, +- enum CodecID *codec_id); ++ enum AVCodecID *codec_id); + +-pj_status_t CodecID_to_pjmedia_format_id(enum CodecID codec_id, ++pj_status_t CodecID_to_pjmedia_format_id(enum AVCodecID codec_id, + pjmedia_format_id *fmt_id); + + #endif /* __PJMEDIA_FFMPEG_UTIL_H__ */ diff --git a/pjproject-ilbc-link.patch b/pjproject-ilbc-link.patch new file mode 100644 index 0000000..e7a907b --- /dev/null +++ b/pjproject-ilbc-link.patch @@ -0,0 +1,12 @@ +diff -dur pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9.orig/third_party/build/ilbc/Makefile pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9/third_party/build/ilbc/Makefile +--- pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9.orig/third_party/build/ilbc/Makefile 2013-11-14 22:24:47.000000000 +0100 ++++ pjproject-217740d99457fc8492d3a68f90fa25a52bd8eca9/third_party/build/ilbc/Makefile 2014-01-07 13:48:03.000000000 +0100 +@@ -13,6 +13,8 @@ + export ILBC_SHLIB := $(ILBC_SONAME).$(PJ_VERSION_MAJOR) + endif + ++export ILBC_LDFLAGS += -lm ++ + ############################################################################### + # Gather all flags. + # ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/pjproject.git/commitdiff/fafdac2cc518f1ae74847341d67e89abeb88b1e7 _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit