dev-libs/liblinphone: New package from nest

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Alarig Le Lay <alarig@swordarmor.fr
This commit is contained in:
Alarig Le Lay 2022-04-28 14:51:12 +02:00
parent ee983c102b
commit 7070a4c54c
Signed by: alarig
GPG key ID: 7AFE62C6DF8BCDEC
4 changed files with 173 additions and 0 deletions

View file

@ -0,0 +1 @@
DIST liblinphone-5.1.3.tar.gz 22720534 BLAKE2B a365aa97efd2fc246dc29c412787ecd728131a31fea990a448131332d9fcf9a77c6ad7d6f421609d8441049f3a16600f8f8f0920a60cb6ccda0aaa14620a0548 SHA512 e0df5d9c47ccc2cf1cf2b8fff171f6305240f6f64f5dce42d62792ef7238b1a2c5178a2f4257f4501c417941cc67a007658e473864e2b5ea4ebc2a8e28ff174e

View file

@ -0,0 +1,61 @@
diff --git a/cmake/Findjsoncpp.cmake b/cmake/Findjsoncpp.cmake
new file mode 100644
index 0000000..9d16f2a
--- /dev/null
+++ b/cmake/Findjsoncpp.cmake
@@ -0,0 +1,55 @@
+# -*- cmake -*-
+
+# - Find JSONCpp
+# Find the JSONCpp includes and library
+# This module defines
+# JSONCPP_INCLUDE_DIR, where to find json.h, etc.
+# JSONCPP_LIBRARIES, the libraries needed to use jsoncpp.
+# JSONCPP_FOUND, If false, do not try to use jsoncpp.
+# also defined, but not for general use are
+# JSONCPP_LIBRARY, where to find the jsoncpp library.
+
+FIND_PATH(JSONCPP_INCLUDE_DIR jsoncpp/json/json.h
+/usr/local/include
+/usr/include
+)
+
+# Get the GCC compiler version
+EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
+ ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
+ OUTPUT_VARIABLE _gcc_COMPILER_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+
+SET(JSONCPP_NAMES ${JSONCPP_NAMES} libjsoncpp.so)
+FIND_LIBRARY(JSONCPP_LIBRARY
+ NAMES ${JSONCPP_NAMES}
+ PATHS /usr/lib /usr/local/lib
+ )
+
+IF (JSONCPP_LIBRARY AND JSONCPP_INCLUDE_DIR)
+ SET(JSONCPP_LIBRARIES ${JSONCPP_LIBRARY})
+ SET(JSONCPP_FOUND "YES")
+ELSE (JSONCPP_LIBRARY AND JSONCPP_INCLUDE_DIR)
+ SET(JSONCPP_FOUND "NO")
+ENDIF (JSONCPP_LIBRARY AND JSONCPP_INCLUDE_DIR)
+
+
+IF (JSONCPP_FOUND)
+ IF (NOT JSONCPP_FIND_QUIETLY)
+ MESSAGE(STATUS "Found JSONCpp: ${JSONCPP_LIBRARIES}")
+ ENDIF (NOT JSONCPP_FIND_QUIETLY)
+ELSE (JSONCPP_FOUND)
+ IF (JSONCPP_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find JSONCpp library")
+ ENDIF (JSONCPP_FIND_REQUIRED)
+ENDIF (JSONCPP_FOUND)
+
+# Deprecated declarations.
+SET (NATIVE_JSONCPP_INCLUDE_PATH ${JSONCPP_INCLUDE_DIR} )
+GET_FILENAME_COMPONENT (NATIVE_JSONCPP_LIB_PATH ${JSONCPP_LIBRARY} PATH)
+
+MARK_AS_ADVANCED(
+ JSONCPP_LIBRARY
+ JSONCPP_INCLUDE_DIR
+ )

View file

@ -0,0 +1,86 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{8..10} )
inherit cmake python-r1
DESCRIPTION="SIP library supporting voice/video calls and text messaging"
HOMEPAGE="https://gitlab.linphone.org/BC/public/liblinphone"
SRC_URI="https://gitlab.linphone.org/BC/public/${PN}/-/archive/${PV}/${P}.tar.gz"
LICENSE="GPL-3"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE="debug doc ldap libnotify static-libs test tools"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="dev-cpp/belr
dev-cpp/xsd
dev-db/sqlite:3
dev-db/soci
dev-libs/belcard
dev-libs/belle-sip
dev-libs/jsoncpp:0=
dev-libs/libxml2:2
dev-libs/lime
dev-libs/xerces-c
net-libs/bctoolbox[test?]
net-libs/ortp
media-libs/mediastreamer2[zrtp,srtp,jpeg]
sys-libs/zlib:0
virtual/libiconv
virtual/libintl
virtual/libudev
tools? ( ${PYTHON_DEPS}
dev-python/pystache[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}] )"
DEPEND="${RDEPEND}"
BDEPEND="${PYTHON_DEPS}
app-doc/doxygen[dot]
dev-python/pystache[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
dev-vcs/git
virtual/pkgconfig
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
PATCHES=( "${FILESDIR}"/"${P}"-jsoncpp-cmake.patch )
src_prepare() {
# QnD fix: incapability to detect jsoncpp
sed -i '/json\/json.h/s|<|<jsoncpp/|' src/FlexiAPIClient.{cc,hh} \
tester/{flexiapiclient-tester,remote-provisioning-tester}.cpp \
|| die "sed failed for FlexiAPIClient"
sed -i 's/jsoncpp_object/jsoncpp/' {src,tester}/CMakeLists.txt \
|| die "sed failed for src/CMakeLists.txt and tester/CMakeLists.txt"
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DENABLE_ASSISTANT=YES
-DENABLE_DEBUG_LOGS="$(usex debug)"
-DENABLE_DOC="$(usex doc)"
-DENABLE_FLEXIAPI=YES
-DENABLE_LDAP="$(usex ldap)"
-DENABLE_LIME=NO
-DENABLE_NOTIFY="$(usex libnotify)"
-DENABLE_STATIC="$(usex static-libs)"
-DENABLE_TOOLS="$(usex tools)"
-DENABLE_UNIT_TESTS="$(usex test)"
)
cmake_src_configure
}
src_test() {
"${S}"_build/tester/liblinphone_tester \
--resource-dir "${S}"/tester/ \
|| die "tests failed"
cmake_src_test
}

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>spiderx@spiderx.dp.ua</email>
<name>Vladimir Pavljuchenkov</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription lang="en">
A high-level SIP library integrating all calling and instant messaging
features into an unified easy-to-use API. It is the cross-platform VoIP
library on which the Linphone application is based on, and that anyone
can use to add audio and video calls or instant messaging capabilities
to an application.
</longdescription>
<use>
<flag name="tools">Build tools</flag>
</use>
<upstream>
<remote-id type="github">BelledonneCommunications/liblinphone</remote-id>
</upstream>
</pkgmetadata>