]> git.pld-linux.org Git - packages/pjproject.git/commitdiff
new package
authorJacek Konieczny <j.konieczny@eggsoft.pl>
Tue, 7 Jan 2014 13:12:23 +0000 (14:12 +0100)
committerJacek Konieczny <j.konieczny@eggsoft.pl>
Tue, 7 Jan 2014 13:13:02 +0000 (14:13 +0100)
pjproject-avcodec.patch [new file with mode: 0644]
pjproject-ilbc-link.patch [new file with mode: 0644]
pjproject.spec [new file with mode: 0644]

diff --git a/pjproject-avcodec.patch b/pjproject-avcodec.patch
new file mode 100644 (file)
index 0000000..2c19845
--- /dev/null
@@ -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 (file)
index 0000000..e7a907b
--- /dev/null
@@ -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.
+ #
diff --git a/pjproject.spec b/pjproject.spec
new file mode 100644 (file)
index 0000000..faed2a5
--- /dev/null
@@ -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}
This page took 0.09498 seconds and 4 git commands to generate.