diff --git a/net/liblinphone/Makefile b/net/liblinphone/Makefile index 70833c61190d..b0345a8a9022 100644 --- a/net/liblinphone/Makefile +++ b/net/liblinphone/Makefile @@ -1,62 +1,68 @@ PORTNAME= liblinphone -DISTVERSION= 5.4.26 +DISTVERSION= 5.4.72 CATEGORIES= net MAINTAINER= bofh@FreeBSD.org COMMENT= SIP library supporting voice/video calls and text messaging -WWW= https://www.linphone.org/technical-corner/liblinphone.html +WWW= https://gitlab.linphone.org/BC/public/liblinphone LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE.txt BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pystache>=0:textproc/py-pystache@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}six>=0:devel/py-six@${PY_FLAVOR} \ doxygen:devel/doxygen \ v4l_compat>=1.0.20120501:multimedia/v4l_compat \ xsd>0:devel/xsd LIB_DEPENDS= \ + libbctoolbox.so:net/bctoolbox \ libbelcard.so:deskutils/belcard \ libbelle-sip.so:net/belle-sip \ + libbelr.so:textproc/belr \ + libbzrtp.so:security/bzrtp \ + libjsoncpp.so:devel/jsoncpp \ liblime.so:security/lime \ libmediastreamer2.so:net/mediastreamer \ - libsoci_core.so:databases/soci + libortp.so:net/ortp \ + libsoci_core.so:databases/soci \ + libxerces-c-3.3.so:textproc/xerces-c3 USES= cmake compiler:c++17-lang gnome iconv pkgconfig python:build \ sqlite xorg USE_GITLAB= yes GL_SITE= https://gitlab.linphone.org/BC GL_ACCOUNT= public USE_GNOME= libxml2 USE_LDCONFIG= yes USE_XORG= xfixes CMAKE_ARGS= -DCMAKE_PREFIX_PATH=${LOCALBASE} \ -DCMAKE_SKIP_INSTALL_RPATH=ON \ -DENABLE_DAEMON=NO \ -DENABLE_FLEXIAPI=NO \ -DENABLE_NLS=NO \ -DENABLE_QRCODE=NO \ -DENABLE_STATIC=NO \ -DENABLE_STRICT=NO \ -DENABLE_TOOLS=NO CMAKE_ON= BUILD_SHARED_LIBS CMAKE_OFF= ENABLE_UNIT_TESTS LDFLAGS+= -lpthread OPTIONS_DEFINE= LDAP VIDEO OPTIONS_DEFAULT= LDAP VIDEO OPTIONS_SUB= yes LDAP_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 LDAP_USES= ldap LDAP_CMAKE_BOOL= ENABLE_LDAP VIDEO_CMAKE_BOOL= ENABLE_VIDEO post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/CMakeLists.txt post-install: ${RM} -r ${STAGEDIR}${PREFIX}/share/doc/${DISTNAME} .include diff --git a/net/liblinphone/distinfo b/net/liblinphone/distinfo index 6505aa74fe1e..2d89a3ac777b 100644 --- a/net/liblinphone/distinfo +++ b/net/liblinphone/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1758131774 -SHA256 (liblinphone-5.4.26.tar.bz2) = 193e2e7daadf2eef21524efad624346568c47b48cb9ba1be110431d662e55d48 -SIZE (liblinphone-5.4.26.tar.bz2) = 21093368 +TIMESTAMP = 1767345307 +SHA256 (liblinphone-5.4.72.tar.bz2) = 3a829cccbf148d1ff26063fb37e34e6a65f0d10546ab7beab059e5535b4769a8 +SIZE (liblinphone-5.4.72.tar.bz2) = 21090624 diff --git a/net/liblinphone/files/patch-CMakeLists.txt b/net/liblinphone/files/patch-CMakeLists.txt index 8b08cb93743e..a2071f37899f 100644 --- a/net/liblinphone/files/patch-CMakeLists.txt +++ b/net/liblinphone/files/patch-CMakeLists.txt @@ -1,26 +1,26 @@ Fix compilation error: src/core/core.cpp:428:2: error: void function 'doLater' should not return a value [-Wreturn-type] ---- CMakeLists.txt.orig 2025-03-20 22:21:32 UTC +--- CMakeLists.txt.orig 2025-12-22 14:02:00 UTC +++ CMakeLists.txt -@@ -115,8 +115,10 @@ find_package(BelleSIP 5.3.0 REQUIRED OPTIONAL_COMPONEN +@@ -117,8 +117,10 @@ find_package(BelleSIP 5.3.0 REQUIRED OPTIONAL_COMPONEN endif() find_package(BelleSIP 5.3.0 REQUIRED OPTIONAL_COMPONENTS tester) +set(CMAKE_PREFIX_PATH "%%LOCALBASE%%/ffmpeg4;%%LOCALBASE%%/ffmpeg4/libexec") find_package(Mediastreamer2 5.3.0 REQUIRED) find_package(Ortp 5.3.0 REQUIRED) +find_package(OpenSSL REQUIRED) find_package(BCToolbox 5.3.0 REQUIRED OPTIONAL_COMPONENTS tester) #Mandatory to init default compilation flags bc_init_compilation_flags(STRICT_OPTIONS_CPP STRICT_OPTIONS_C STRICT_OPTIONS_CXX ENABLE_STRICT) -@@ -306,7 +308,7 @@ else() +@@ -309,7 +311,7 @@ else() list(APPEND STRICT_OPTIONS_CPP "-Wall" "-Wconversion" - "-Werror=return-type" + "-Wno-error=return-type" "-Winit-self" "-Wno-error=deprecated-declarations" "-Wpointer-arith" diff --git a/net/liblinphone/files/patch-coreapi_linphonecore.c b/net/liblinphone/files/patch-coreapi_linphonecore.c index e267021b3fa5..e5b28f1fe81d 100644 --- a/net/liblinphone/files/patch-coreapi_linphonecore.c +++ b/net/liblinphone/files/patch-coreapi_linphonecore.c @@ -1,11 +1,11 @@ ---- coreapi/linphonecore.c.orig 2025-03-20 22:21:32 UTC +--- coreapi/linphonecore.c.orig 2025-12-22 14:02:00 UTC +++ coreapi/linphonecore.c -@@ -938,7 +938,7 @@ static void _close_log_collection_file(void) { +@@ -924,7 +924,7 @@ static void _close_log_collection_file(void) { } } -#if (!__ANDROID__ && !__APPLE__) || (__ANDROID__ && __ANDROID_API__ < 21) +#if (!__ANDROID__ && !__APPLE__ && !__FreeBSD__) || (__ANDROID__ && __ANDROID_API__ < 21) static const char *getprogname() { #if defined(__GLIBC__) return program_invocation_short_name; diff --git a/net/liblinphone/files/patch-src_ldap_ldap-contact-provider.cpp b/net/liblinphone/files/patch-src_ldap_ldap-contact-provider.cpp index 38c7bb6daeff..c40d077c1529 100644 --- a/net/liblinphone/files/patch-src_ldap_ldap-contact-provider.cpp +++ b/net/liblinphone/files/patch-src_ldap_ldap-contact-provider.cpp @@ -1,29 +1,19 @@ ---- src/ldap/ldap-contact-provider.cpp.orig 2025-03-20 22:21:32 UTC +--- src/ldap/ldap-contact-provider.cpp.orig 2025-12-22 14:02:00 UTC +++ src/ldap/ldap-contact-provider.cpp -@@ -269,7 +269,9 @@ void LdapContactProvider::initializeLdap() { - lError() << "[LDAP] Problem initializing TLS on setting require SAN '" << mServerUrl[mServerUrlIndex] - << "': " << ret << " (" << ldap_err2string(ret) << ")"; - -+#ifdef LDAP_OPT_X_TLS_RANDOM_FUNC - ret = ldap_set_option(NULL, LDAP_OPT_X_TLS_RANDOM_FUNC, (void *)randomProvider); -+#endif - if (ret != LDAP_SUCCESS) { - lError() << "[LDAP] Problem initializing TLS random generator function."; - } -@@ -291,16 +293,6 @@ void LdapContactProvider::initializeLdap() { +@@ -279,16 +279,6 @@ void LdapContactProvider::initializeLdap() { << ldap_err2string(ret) << "), err " << err << " (" << ldap_err2string(err) << ")"; fallbackToNextServerUrl(); } else if (mConfig.count("use_tls") > 0 && mConfig["use_tls"][0] == "1") { - if (mConfig.count("use_sal") > 0 && - mConfig["use_sal"][0] == - "1") { // Using Sal give an IP for a domain. So check the domain rather than the IP. - belle_generic_uri_t *serverUri = belle_generic_uri_parse( - mConfig["server"][mConfigServerIndex].c_str()); // mServer are results of sal. Use the root urls. - const char *cHost = belle_generic_uri_get_host(serverUri); -- std::string hostname = cHost ? cHost : ""; +- std::string hostname = L_C_TO_STRING(cHost); - ldap_set_option(mLd, LDAP_OPT_X_TLS_PEER_CN, &hostname[0]); - if (serverUri) belle_sip_object_unref(serverUri); - } mTlsConnectionId = -1; mCurrentAction = ACTION_WAIT_TLS_CONNECT; mTlsConnectionTimeout = time(NULL);