File PKGBUILD of Package mediastreamer2
# Fix for error: bsdtar: Failed to set default locale
# LANG=en_US.UTF-8 # not available, use C or POSIX
LANG=C
LC_ALL=${LANG}
pkgname=mediastreamer2
pkgver=5.3.37
pkgrel=0
pkgdesc='A library written in C that allows you to create and run audio and video streams'
arch=(x86_64)
url='https://gitlab.linphone.org/'
license=(GPL)
# With debug symbols
options=(!strip)
conflicts=($pkgname)
provides=("$pkgname=$pkgver")
# optional depends: zxing-cpp 'mbedtls2=2.28.0'
depends=(bzrtp ortp bcmatroska2 bcg729 broadvoice16 ffmpeg glew libsrtp libdecaf)
makedepends=(cmake python doxygen bcg729 broadvoice16 bcmatroska2
bctoolbox bcunit bzrtp ortp liboqs postquantumcryptoengine
libogg opus gsm speex speexdsp libtheora pipewire-v4l2 pipewire-media-session
libvpx libxv ffmpeg libjpeg-turbo glew mesa libyuv sqlite3 libebml
sdl12-compat libx11 libxext mbedtls2 libxml2 libupnp libpcap graphviz
libsrtp git libdecaf qt5-base qt5-declarative chrpath)
source=(https://gitlab.linphone.org/BC/public/${pkgname}/-/archive/$pkgver/${pkgname}-$pkgver.tar.bz2
${pkgname}-fix-pkgconfig.patch
fix-build-ffmpeg5.patch
set_current_version.patch
${pkgname}-0002-nowebcamjpg.patch
${pkgname}-0001-plugin-dir.patch
${pkgname}-fix-Archlinux-compilation.patch)
sha1sums=(SKIP SKIP SKIP SKIP SKIP SKIP SKIP)
_sobase=libmediastreamer
_sover=11
_package_nowebcamjpg=false
_package_opengl=false
_move_libmsqogl_to_lib=true
_uploaddir=/usr/src/packages/SOURCES
_sourcedir=/usr/src/packages/BUILD/${pkgname}/src/${pkgname}-${pkgver}
# srcdir is already defined as
# ${srcdir}=/usr/src/packages/BUILD/${pkgname}/src
_builddir=/usr/src/packages/BUILD/${pkgname}/build
_pkgdir=/usr/src/packages/BUILD/${pkgname}/pkg/${pkgname}
_installToDir=${_pkgdir}
prepare() {
echo "Move patching to build() section for verbose log output"
# patch -d "${_sourcedir}" -p1 < fix.patch
# patch -d "${_sourcedir}" --forward --strip=1 --input="${srcdir}/fix.patch"
# patch -d "${_sourcedir}" --forward --strip=1 --input="${_uploaddir}/fix.patch"
patch -d "${_sourcedir}" -p1 < ${pkgname}-fix-pkgconfig.patch
patch -d "${_sourcedir}" -p1 < fix-build-ffmpeg5.patch
patch -d "${_sourcedir}" -p1 < set_current_version.patch
patch -d "${_sourcedir}" -p1 < ${pkgname}-0002-nowebcamjpg.patch
if ${_move_libmsqogl_to_lib}; then
patch -d "${_sourcedir}" -p1 < ${pkgname}-0001-plugin-dir.patch
fi
patch -d "${_sourcedir}" -p1 < ${pkgname}-fix-Archlinux-compilation.patch
}
build() {
cmake -S "${_sourcedir}" -B "${_builddir}" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH="${CMAKE_MODULE_PATH};/usr/src/packages/SOURCES" \
-DENABLE_UNIT_TESTS=OFF \
-DENABLE_STATIC=OFF \
-DENABLE_STRICT=OFF \
-DENABLE_QT_GL=YES
cmake --build "${_builddir}"
}
package() {
rm -rf "${pkgdir}"; mkdir -pv "${pkgdir}"
# cmake --install "${_builddir}" --config RelWithDebInfo --prefix "${_installToDir}" --strip
DESTDIR="${_installToDir}" cmake --install "${_builddir}"
# DESTDIR="${_installToDir}" cmake --install "${_builddir}" --strip
chrpath -d "${pkgdir}"/usr/bin/mediastream
chrpath -d "${pkgdir}"/usr/bin/mkvstream
#chrpath -d "${pkgdir}"/usr/bin/mediastreamer2_tester
chrpath -d "${pkgdir}"/usr/lib/${_sobase}.so.${_sover}*
chrpath -d "${pkgdir}"/usr/lib/${_sobase}.so
if ${_move_libmsqogl_to_lib}; then
chrpath -d "${pkgdir}"/usr/lib/libmsqogl.so
else
chrpath -d "${pkgdir}"/usr/lib/mediastreamer/plugins/libmsqogl.so
# /usr/bin/linphone looks for libmsqogl.so in relative path
# ../plugins/mediastreamer/libmsqogl.so
mkdir -pv "${pkgdir}"/usr/plugins/mediastreamer
mv -v "${pkgdir}"/usr/lib/mediastreamer/plugins/libmsqogl.so "${pkgdir}"/usr/plugins/mediastreamer
rmdir -v "${pkgdir}"/usr/lib/mediastreamer/plugins
rmdir -v "${pkgdir}"/usr/lib/mediastreamer
fi
if ${_package_nowebcamjpg}; then
# Exchange static camera picture
# cp -v ${_uploaddir}/nowebcamCIF.jpg "${pkgdir}"/usr/share/images/nowebcamCIF.jpg
cp -v ${_uploaddir}/nowebcamCIF.jpg "${pkgdir}"/usr/share/linphone/images/nowebcamCIF.jpg
else
# Move nowebcamCIF.jpg to liblinphone-data package
rm -vf "${pkgdir}"/usr/share/images/nowebcamCIF.jpg
rm -vf "${pkgdir}"/usr/share/linphone/images/nowebcamCIF.jpg
if [ -d "${pkgdir}"/usr/share/images ]; then
rmdir -v "${pkgdir}"/usr/share/images
fi
if [ -d "${pkgdir}"/usr/share/linphone/images ]; then
rmdir -v "${pkgdir}"/usr/share/linphone/images
fi
fi
if ! ${_package_opengl}; then
# Remove OpenGL files
rm -vr "${pkgdir}"/usr/include/OpenGL
fi
echo
echo pkgdir=${pkgdir}
echo "--- Show files that will be packaged ---"
find ${pkgdir} | sed "s|${pkgdir}||g" | sort
echo "--- End show files that will be packaged ---"
}