diff options
| author | Hiroo Ono <hiroo.ono+freebsd@gmail.com> | 2026-01-31 16:26:26 +0000 |
|---|---|---|
| committer | Robert Clausecker <fuz@FreeBSD.org> | 2026-02-04 12:41:14 +0000 |
| commit | e9f8f7c74a9bf21a2a5cae60cda3e76dd4cbd9cd (patch) | |
| tree | 443f162b5b56f3ce825036536740245bd34c1a37 | |
| parent | 321ef00b6fccd532de07f3efefc462537283d2b8 (diff) | |
net/linphone: update to 5.3.2
- work around build failure on FreeBSD <15 (requires the XSI timezone
symbol, not the old BSD one, cf. D44281)
- work around build failure when git is installed
- fix dependencies
Changelog: https://gitlab.linphone.org/BC/public/linphone-desktop/-/blob/5.3.2/CHANGELOG.md?ref_type=tags
PR: 291969, 291317
18 files changed, 422 insertions, 48 deletions
diff --git a/net/linphone/Makefile b/net/linphone/Makefile index 342a2ebd242d..ddf3732c0a06 100644 --- a/net/linphone/Makefile +++ b/net/linphone/Makefile @@ -1,25 +1,39 @@ PORTNAME= linphone -PORTVERSION= 5.0.18 +PORTVERSION= 5.3.2 PORTEPOCH= 1 CATEGORIES= net +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} -MAINTAINER= ports@FreeBSD.org +MAINTAINER= hiroo.ono+freebsd@gmail.com COMMENT= SIP client supporting voice/video calls and text messaging WWW= https://www.linphone.org/ LICENSE= GPLv3 +BUILD_DEPENDS= patchelf:sysutils/patchelf LIB_DEPENDS= libbctoolbox.so:net/bctoolbox \ libbelcard.so:deskutils/belcard \ liblinphone++.so:net/liblinphone \ - libmediastreamer.so:net/mediastreamer \ - libortp.so:net/ortp + libmediastreamer2.so:net/mediastreamer \ + libortp.so:net/ortp \ + libqt5keychain.so:security/qtkeychain@qt5 \ + libQt5Multimedia.so:multimedia/qt5-multimedia \ + libxml2.so:textproc/libxml2 \ + liblime.so:security/lime \ + libjsoncpp.so:devel/jsoncpp \ + libbelle-sip.so:net/belle-sip \ + libbelr.so:textproc/belr -USES= cmake compiler:c++11-lib pkgconfig qt:5 +USES= cmake compiler:c++11-lib pkgconfig qt:5 tar:bzip2 xorg sqlite:3 USE_GITLAB= yes +USE_XORG= x11 GL_SITE= https://gitlab.linphone.org/BC -GL_ACCOUNT= public -GL_PROJECT= linphone-desktop +GL_ACCOUNT= public \ + public/external:ispell +GL_PROJECT= linphone-desktop \ + ispell:ispell +GL_TAGNAME= ${PORTVERSION} \ + 05574fe160222c3d0b6283c1433c9b087271fad1:ispell USE_QT= concurrent core dbus declarative gui linguisttools network \ quickcontrols2 speech svg testlib widgets buildtools:build \ qmake:build graphicaleffects:run quickcontrols:run @@ -29,34 +43,62 @@ USE_QT= concurrent core dbus declarative gui linguisttools network \ # local tree, we better move it to its own subdirectory, so we need RPATH # here. # This will affect actual Linphone plugins as well if they get ported. -CMAKE_ARGS+= -DCMAKE_INSTALL_RPATH="${LOCALBASE}/lib/linphone" +CMAKE_ARGS+= -DCMAKE_INSTALL_RPATH="${LOCALBASE}/lib/linphone" \ + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=NO \ + -DLINPHONEAPP_INSTALL_PREFIX=${PREFIX} \ + -DLINPHONEAPP_VERSION="${PORTVERSION}" \ + -DGIT_EXECUTABLE=NO +CMAKE_ON= ENABLE_VIDEO \ + ENABLE_BUILD_VERBOSE \ + ENABLE_QT_KEYCHAIN +CMAKE_OFF= ENABLE_BUILD_APP_PLUGINS -WRKSRC_SUBDIR= linphone-app +ICONDIR= ${LOCALBASE}/share/icons/hicolor -ICONDIR= ${LOCALBASE}/share/icons/hicolor/scalable/apps - -post-patch: - @${REINPLACE_CMD} -e 's/bc_compute_full_version([^)]*)//' \ - -e 's/set(FULL_VERSION /&${PORTVERSION}/' \ - -e 's/INSTALL_RPATH_USE_LINK_PATH/BUILD_WITH_INSTALL_RPATH/' \ - -e '/add_subdirectory.*linphone_package/d' \ - -e '/add_subdirectory.*build/d' \ - -e '/add_custom_command/d' -e '/deployqt_hack/d' \ - ${WRKSRC}/CMakeLists.txt - @${REINPLACE_CMD} 's/LINPHONE_QT_GIT_VERSION/"${PORTVERSION}"/' \ - ${WRKSRC}/src/app/AppController.cpp +post-extract: + ${TAR} -x -C ${WRKSRC}/external/ispell \ + -f ${DISTDIR}/${DISTFILE_ispell} \ + --strip-components 1 # override install because otherwise, it does a complete rebuild during stage do-install: - ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/linphone \ + # Patchelf + patchelf --set-rpath "${LOCALBASE}/lib:${LOCALBASE}/lib/linphone" \ + ${BUILD_WRKSRC}/linphone-app/linphone + # Linphone + ${MKDIR} ${STAGEDIR}${LOCALBASE}/lib/linphone \ + ${STAGEDIR}${LOCALBASE}/include/LinphoneApp \ + ${STAGEDIR}${DATADIR} \ + ${STAGEDIR}${ETCDIR} \ + ${STAGEDIR}${ICONDIR} + ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/linphone-app/linphone \ ${STAGEDIR}${LOCALBASE}/bin - ${MKDIR} ${STAGEDIR}${LOCALBASE}/lib/linphone - ${MKDIR} ${STAGEDIR}${ICONDIR} - ${INSTALL_LIB} ${BUILD_WRKSRC}/libapp-plugin.so \ + ${INSTALL_LIB} ${BUILD_WRKSRC}/linphone-app/libapp-plugin.so \ ${STAGEDIR}${LOCALBASE}/lib/linphone - ${INSTALL_DATA} ${WRKSRC}/assets/images/linphone_logo.svg \ - ${STAGEDIR}${ICONDIR}/linphone.svg - ${INSTALL_DATA} ${FILESDIR}/linphone.desktop \ + ${INSTALL_DATA} ${BUILD_WRKSRC}/linphone-app/qt.conf \ + ${STAGEDIR}${ETCDIR} + ${INSTALL_DATA} ${WRKSRC}/linphone-app/include/LinphoneApp/* \ + ${STAGEDIR}${LOCALBASE}/include/LinphoneApp + ${INSTALL_DATA} ${BUILD_WRKSRC}/linphone-app/linphone.desktop \ ${STAGEDIR}${LOCALBASE}/share/applications/linphone.desktop + ${MKDIR} ${STAGEDIR}${ICONDIR}/scalable/apps + ${INSTALL_DATA} ${WRKSRC}/linphone-app/assets/images/linphone_logo.svg \ + ${STAGEDIR}${ICONDIR}/scalable/apps/linphone.svg + for idir in 16x16 22x22 24x24 32x32 64x64 128x128 256x256; do \ + ${MKDIR} ${STAGEDIR}${ICONDIR}/$${idir}/apps; \ + ${INSTALL_DATA} ${WRKSRC}/linphone-app/assets/icons/hicolor/$${idir}/apps/icon.png \ + ${STAGEDIR}${ICONDIR}/$${idir}/apps/linphone.png; \ + done + ${MKDIR} ${STAGEDIR}${DATADIR}/assistant + ${INSTALL_DATA} ${WRKSRC}/linphone-app/assets/assistant/* \ + ${STAGEDIR}${DATADIR}/assistant + ${INSTALL_DATA} ${WRKSRC}/linphone-app/assets/linphonerc-factory \ + ${STAGEDIR}${DATADIR} + # ISpell + ${INSTALL_LIB} ${BUILD_WRKSRC}/external/ispell/libISpell.so \ + ${STAGEDIR}${LOCALBASE}/lib + ${MKDIR} ${STAGEDIR}${DATADIR}/ispell_dictionaries + ${INSTALL_DATA} ${WRKSRC}/external/ispell/ispell_dictionaries/* \ + ${STAGEDIR}${DATADIR}/ispell_dictionaries .include <bsd.port.mk> diff --git a/net/linphone/distinfo b/net/linphone/distinfo index b9dfb572e6fa..ddef8dabe1a6 100644 --- a/net/linphone/distinfo +++ b/net/linphone/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1690571429 -SHA256 (linphone-desktop-5.0.18.tar.bz2) = 7081fb9507359ac6b5129b753f2d8018dc23ac9ab1d7866cb3364d6509e8ee1a -SIZE (linphone-desktop-5.0.18.tar.bz2) = 2444866 +TIMESTAMP = 1766765152 +SHA256 (linphone-desktop-5.3.2.tar.bz2) = c5ef9fb3b31720da773e7cac54999311b18f254690a3117c3a4692eb936e499c +SIZE (linphone-desktop-5.3.2.tar.bz2) = 2569523 +SHA256 (public/external-ispell-05574fe160222c3d0b6283c1433c9b087271fad1_GL0.tar.gz) = d0c3fd54a4c6e37af5ce83fae001e47403eeb113efd530d553f437766b8ffe20 +SIZE (public/external-ispell-05574fe160222c3d0b6283c1433c9b087271fad1_GL0.tar.gz) = 1562075 diff --git a/net/linphone/files/patch-CMakeLists.txt b/net/linphone/files/patch-CMakeLists.txt index 9e789db37d83..e235da081733 100644 --- a/net/linphone/files/patch-CMakeLists.txt +++ b/net/linphone/files/patch-CMakeLists.txt @@ -1,19 +1,23 @@ ---- CMakeLists.txt.orig 2023-06-16 13:29:33 UTC +--- CMakeLists.txt.orig 2025-11-12 12:55:13 UTC +++ CMakeLists.txt -@@ -20,6 +20,7 @@ cmake_minimum_required(VERSION 3.1) - # - ################################################################################ - cmake_minimum_required(VERSION 3.1) -+project(linphoneqt) +@@ -228,13 +228,13 @@ if(NOT APPLE OR MONO_ARCH) + set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) # Prevent project from overriding the options we just set here + add_subdirectory("linphone-sdk") + endfunction() +- add_linphone_sdk() ++ # add_linphone_sdk() - find_package(bctoolbox CONFIG) - set(FULL_VERSION ) -@@ -556,7 +557,7 @@ else() - set(MSPLUGINS_DIR "Frameworks/mediastreamer2.framework/Versions/A/Libraries") - endif() + if(ENABLE_QT_KEYCHAIN) + function(add_linphone_keychain) + add_subdirectory("external/qtkeychain") + endfunction() +- add_linphone_keychain() ++ # add_linphone_keychain() + endif() + if(NOT APPLE AND NOT WIN32) + function(add_linphone_ispell) +@@ -276,4 +276,3 @@ endif() else() -- set(MSPLUGINS_DIR "plugins/mediastreamer") -+ set(MSPLUGINS_DIR "lib/mediastreamer/plugins") + include(cmake/TasksMacos.cmake) endif() - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/config.h") - # ------------------------------------------------------------------------------ +- diff --git a/net/linphone/files/patch-external_ispell_config.h b/net/linphone/files/patch-external_ispell_config.h new file mode 100644 index 000000000000..70bf897796e1 --- /dev/null +++ b/net/linphone/files/patch-external_ispell_config.h @@ -0,0 +1,11 @@ +--- external/ispell/config.h.orig 2025-12-26 16:36:36 UTC ++++ external/ispell/config.h +@@ -228,7 +228,7 @@ + #include <sys/param.h> + #include <sys/types.h> + #ifndef USG +-#include <sys/dir.h> ++/* #include <sys/dir.h> */ + #endif /* USG */ + + #ifndef TERMIOS diff --git a/net/linphone/files/patch-linphone-app_CMakeLists.txt b/net/linphone/files/patch-linphone-app_CMakeLists.txt new file mode 100644 index 000000000000..938b9adc4edb --- /dev/null +++ b/net/linphone/files/patch-linphone-app_CMakeLists.txt @@ -0,0 +1,93 @@ +--- linphone-app/CMakeLists.txt.orig 2025-11-12 12:55:13 UTC ++++ linphone-app/CMakeLists.txt +@@ -24,7 +24,7 @@ cmake_minimum_required(VERSION 3.22) + + + #Linphone targets +-set(LINPHONE_PACKAGES LinphoneCxx Mediastreamer2 Belcard LibLinphone) ++set(LINPHONE_PACKAGES LinphoneCxx Mediastreamer2 BelCard LibLinphone jsoncpp) + + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +@@ -40,6 +40,7 @@ set(metadata ) + set(version_patch) + set(identifiers ) + set(metadata ) ++include(${LINPHONEAPP_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/BCToolbox/cmake/BCToolboxCMakeUtils.cmake) + bc_parse_full_version("${LINPHONEAPP_VERSION}" version_major version_minor version_patch identifiers metadata) + + +@@ -63,7 +64,7 @@ list(APPEND CMAKE_MODULE_PATH "${LINPHONE_OUTPUT_DIR}/ + endif() + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake") + list(APPEND CMAKE_MODULE_PATH "${LINPHONE_OUTPUT_DIR}/cmake") +-list(APPEND CMAKE_MODULE_PATH "${LINPHONE_OUTPUT_DIR}/lib64/cmake") ++# list(APPEND CMAKE_MODULE_PATH "${LINPHONE_OUTPUT_DIR}/lib64/cmake") + list(APPEND CMAKE_MODULE_PATH "${LINPHONE_OUTPUT_DIR}/lib/cmake") + + list(APPEND CMAKE_PREFIX_PATH "${QTKEYCHAIN_OUTPUT_DIR}/lib/cmake") +@@ -115,7 +116,7 @@ set(APP_TARGETS ${LinphoneCxx_TARGET} + set(APP_TARGETS ${LinphoneCxx_TARGET} + ${BCToolbox_TARGET}#Logger/App + ${Mediastreamer2_TARGET}#MediastreamerUtils +- ${Belcard_TARGET}#VCard Model ++ ${BelCard_TARGET}#VCard Model + ${LibLinphone_TARGET})#MediastreamerUtils + + #################################### +@@ -198,11 +199,11 @@ endif() + if(ENABLE_VIDEO) + add_definitions(-DENABLE_VIDEO) + endif() +-if( ENABLE_QT_KEYCHAIN) ++if(ENABLE_QT_KEYCHAIN) + if(NOT QTKEYCHAIN_TARGET_NAME) + set(QTKEYCHAIN_TARGET_NAME "Qt5Keychain") + endif() +- list(APPEND APP_TARGETS ${QTKEYCHAIN_TARGET_NAME}) ++ # list(APPEND APP_TARGETS ${QTKEYCHAIN_TARGET_NAME}) + endif() + if(NOT APPLE AND NOT WIN32) + list(APPEND APP_TARGETS ${ISPELL_TARGET_NAME}) +@@ -734,6 +735,7 @@ include_directories("${LINPHONE_OUTPUT_DIR}/include/") + include_directories(src/) + include_directories("${LINPHONE_OUTPUT_DIR}/include/OpenGL") + include_directories("${LINPHONE_OUTPUT_DIR}/include/") ++include_directories("${CMAKE_SOURCE_DIR}/linphone-app/include/") + include_directories("${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/") + include_directories("${QTKEYCHAIN_OUTPUT_DIR}/include/") + if(NOT APPLE AND NOT WIN32) +@@ -819,13 +821,18 @@ foreach(T ${PLUGIN_TARGETS}) + + foreach(T ${PLUGIN_TARGETS}) + target_include_directories(${APP_PLUGIN} SYSTEM PUBLIC $<TARGET_PROPERTY:${T},INTERFACE_INCLUDE_DIRECTORIES>) ++ target_link_directories(${APP_PLUGIN} PUBLIC $<TARGET_PROPERTY:${T},INTERFACE_LINK_DIRECTORIES>) + target_link_libraries(${APP_PLUGIN} ${T}) + endforeach() + + foreach(T ${APP_TARGETS}) + target_include_directories(${APP_LIBRARY} SYSTEM PUBLIC $<TARGET_PROPERTY:${T},INTERFACE_INCLUDE_DIRECTORIES>) ++ target_link_directories(${TARGET_NAME} PUBLIC $<TARGET_PROPERTY:${T},INTERFACE_LINK_DIRECTORIES>) + target_link_libraries(${TARGET_NAME} ${T}) + endforeach() ++target_include_directories(${TARGET_NAME} SYSTEM PUBLIC ${QTKEYCHAIN_INCLUDE_DIRS}) ++target_link_directories(${TARGET_NAME} PUBLIC ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) ++target_link_libraries(${TARGET_NAME} Qt5Keychain::Qt5Keychain) + + if (APPLE) + target_link_libraries(${TARGET_NAME} "-framework Cocoa" "-framework IOKit" "-framework AVFoundation" "-framework ScreenCaptureKit") +@@ -857,10 +864,10 @@ set(LINPHONE_BUILDER_SIGNING_IDENTITY ${LINPHONE_BUILD + set(TOOLS_DIR "${CMAKE_BINARY_DIR}/programs") + set(LINPHONE_BUILDER_SIGNING_IDENTITY ${LINPHONE_BUILDER_SIGNING_IDENTITY}) + +-add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/") +-add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/include/" "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/") +-add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${APP_PLUGIN}> "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/") +-add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_LINKER_FILE:${APP_PLUGIN}> "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/") ++# add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/") ++# add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/include/" "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/") ++# add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${APP_PLUGIN}> "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/") ++# add_custom_command(TARGET ${APP_PLUGIN} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_LINKER_FILE:${APP_PLUGIN}> "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/") + #add_custom_command(TARGET ${TARGET_NAME} PRE_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/include/LinphoneApp/*" "${CMAKE_INSTALL_PREFIX}/include/LinphoneApp/") + + #configure_file("${CMAKE_CURRENT_SOURCE_DIR}/include/*" "${CMAKE_INSTALL_PREFIX}/include/LinphoneApp/" COPYONLY) diff --git a/net/linphone/files/patch-linphone-app_cmake_FindBCToolbox.cmake b/net/linphone/files/patch-linphone-app_cmake_FindBCToolbox.cmake new file mode 100644 index 000000000000..b2debc5643a9 --- /dev/null +++ b/net/linphone/files/patch-linphone-app_cmake_FindBCToolbox.cmake @@ -0,0 +1,13 @@ +--- linphone-app/cmake/FindBCToolbox.cmake.orig 2025-11-12 12:55:13 UTC ++++ linphone-app/cmake/FindBCToolbox.cmake +@@ -33,8 +33,8 @@ if(NOT TARGET bctoolbox) + if(NOT TARGET bctoolbox) + set(EXPORT_PATH ${LINPHONE_OUTPUT_DIR}) + include(GNUInstallDirs) +- set(BCToolbox_CMAKE_DIR ${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/bctoolbox/cmake) +- include(${BCToolbox_CMAKE_DIR}/bctoolboxTargets.cmake) ++ set(BCToolbox_CMAKE_DIR ${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/BCToolbox/cmake) ++ include(${BCToolbox_CMAKE_DIR}/BCToolboxTargets.cmake) + endif() + + set(_BCToolbox_REQUIRED_VARS BCToolbox_TARGET BCToolbox_CMAKE_DIR BCToolbox_CMAKE_UTILS) diff --git a/net/linphone/files/patch-linphone-app_cmake_FindLibLinphone.cmake b/net/linphone/files/patch-linphone-app_cmake_FindLibLinphone.cmake new file mode 100644 index 000000000000..2069fe1a5ecb --- /dev/null +++ b/net/linphone/files/patch-linphone-app_cmake_FindLibLinphone.cmake @@ -0,0 +1,28 @@ +--- linphone-app/cmake/FindLibLinphone.cmake.orig 2025-11-12 12:55:13 UTC ++++ linphone-app/cmake/FindLibLinphone.cmake +@@ -27,7 +27,8 @@ if(NOT TARGET liblinphone) + if(NOT TARGET liblinphone) + set(EXPORT_PATH ${LINPHONE_OUTPUT_DIR}) + include(GNUInstallDirs) +- include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/linphone/cmake/linphoneTargets.cmake) ++ # include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/linphone/cmake/linphoneTargets.cmake) ++ include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/LibLinphone/cmake/LibLinphoneConfig.cmake) + endif() + + set(_LibLinphone_REQUIRED_VARS LibLinphone_TARGET LibLinphone_PLUGINS_DIR) +@@ -38,9 +39,9 @@ endif() + get_target_property(LibLinphone_PLUGINS_DIR ${LibLinphone_TARGET} LIBLINPHONE_PLUGINS_DIR) + endif() + +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(LibLinphone +- REQUIRED_VARS ${_LibLinphone_REQUIRED_VARS} +- HANDLE_COMPONENTS +-) +-mark_as_advanced(${_LibLinphone_CACHE_VARS}) ++#include(FindPackageHandleStandardArgs) ++#find_package_handle_standard_args(LibLinphone ++# REQUIRED_VARS ${_LibLinphone_REQUIRED_VARS} ++# HANDLE_COMPONENTS ++#) ++#mark_as_advanced(${_LibLinphone_CACHE_VARS}) diff --git a/net/linphone/files/patch-linphone-app_cmake_FindMediastreamer2.cmake b/net/linphone/files/patch-linphone-app_cmake_FindMediastreamer2.cmake new file mode 100644 index 000000000000..694272a30610 --- /dev/null +++ b/net/linphone/files/patch-linphone-app_cmake_FindMediastreamer2.cmake @@ -0,0 +1,29 @@ +--- linphone-app/cmake/FindMediastreamer2.cmake.orig 2025-11-12 12:55:13 UTC ++++ linphone-app/cmake/FindMediastreamer2.cmake +@@ -29,7 +29,8 @@ if(NOT TARGET mediastreamer2) + if(NOT TARGET mediastreamer2) + set(EXPORT_PATH ${LINPHONE_OUTPUT_DIR}) + include(GNUInstallDirs) +- include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/Mediastreamer2/cmake/Mediastreamer2Targets.cmake) ++ # include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/Mediastreamer2/cmake/Mediastreamer2Targets.cmake) ++ include(${EXPORT_PATH}/${CMAKE_INSTALL_DATADIR}/Mediastreamer2/cmake/Mediastreamer2Config.cmake) + endif() + + set(_Mediastreamer2_REQUIRED_VARS Mediastreamer2_TARGET Mediastreamer2_PLUGINS_DIR) +@@ -40,10 +41,10 @@ endif() + get_target_property(Mediastreamer2_PLUGINS_DIR ${Mediastreamer2_TARGET} MS2_PLUGINS_DIR) + endif() + +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(Mediastreamer2 +- REQUIRED_VARS ${_Mediastreamer2_REQUIRED_VARS} +- HANDLE_COMPONENTS +-) +-mark_as_advanced(${_Mediastreamer2_CACHE_VARS}) ++#include(FindPackageHandleStandardArgs) ++#find_package_handle_standard_args(Mediastreamer2 ++# REQUIRED_VARS ${_Mediastreamer2_REQUIRED_VARS} ++# HANDLE_COMPONENTS ++#) ++#mark_as_advanced(${_Mediastreamer2_CACHE_VARS}) + diff --git a/net/linphone/files/patch-linphone-app_cmake_FindQtKeychain.cmake b/net/linphone/files/patch-linphone-app_cmake_FindQtKeychain.cmake new file mode 100644 index 000000000000..226f2d87c072 --- /dev/null +++ b/net/linphone/files/patch-linphone-app_cmake_FindQtKeychain.cmake @@ -0,0 +1,35 @@ +--- linphone-app/cmake/FindQtKeychain.cmake.orig 2025-11-12 12:55:13 UTC ++++ linphone-app/cmake/FindQtKeychain.cmake +@@ -26,23 +26,22 @@ if(NOT TARGET ${QTKEYCHAIN_TARGET_NAME}) + # QtKeychain_INCLUDE_DIRS - the linphonecxx include directory + # QtKeychain_LIBRARIES - The library needed to use linphonecxx + if(NOT TARGET ${QTKEYCHAIN_TARGET_NAME}) +- set(EXPORT_PATH ${QTKEYCHAIN_OUTPUT_DIR}) ++ set(EXPORT_PATH ${LINPHONE_OUTPUT_DIR}) + include(GNUInstallDirs) + include(${EXPORT_PATH}/${CMAKE_INSTALL_LIBDIR}/cmake/${QTKEYCHAIN_TARGET_NAME}/${QTKEYCHAIN_TARGET_NAME}Config.cmake) + endif() + +-set(_QtKeychain_REQUIRED_VARS QtKeychain_TARGET) +-set(_QtKeychain_CACHE_VARS ${_QtKeychain_REQUIRED_VARS}) ++# set(_QtKeychain_REQUIRED_VARS QtKeychain_TARGET) ++# set(_QtKeychain_CACHE_VARS ${_QtKeychain_REQUIRED_VARS}) + + if(TARGET ${QTKEYCHAIN_TARGET_NAME}) + set(QtKeychain_TARGET ${QTKEYCHAIN_TARGET_NAME}) + set(QtKeychain_USE_BUILD_INTERFACE TRUE) + endif() + +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(QtKeychain +- REQUIRED_VARS ${_QtKeychain_REQUIRED_VARS} +- HANDLE_COMPONENTS +-) +-mark_as_advanced(${_QtKeychain_CACHE_VARS}) +- ++#include(FindPackageHandleStandardArgs) ++#find_package_handle_standard_args(QtKeychain ++# REQUIRED_VARS ${_QtKeychain_REQUIRED_VARS} ++# HANDLE_COMPONENTS ++#) ++#mark_as_advanced(${_QtKeychain_CACHE_VARS}) diff --git a/net/linphone/files/patch-linphone-app_cmake__builder_linphone__package_CMakeLists.txt b/net/linphone/files/patch-linphone-app_cmake__builder_linphone__package_CMakeLists.txt new file mode 100644 index 000000000000..e310e5a34145 --- /dev/null +++ b/net/linphone/files/patch-linphone-app_cmake__builder_linphone__package_CMakeLists.txt @@ -0,0 +1,11 @@ +--- linphone-app/cmake_builder/linphone_package/CMakeLists.txt.orig 2025-11-12 12:55:13 UTC ++++ linphone-app/cmake_builder/linphone_package/CMakeLists.txt +@@ -26,7 +26,7 @@ include("${CMAKE_CURRENT_SOURCE_DIR}/../../application + endif() + include("${CMAKE_CURRENT_SOURCE_DIR}/../../application_info.cmake") + +-find_package(Git) ++#find_package(Git) + #Policy set to allow link from other directory (cmake 3.13) + if (POLICY CMP0079) + cmake_policy(SET CMP0079 NEW) diff --git a/net/linphone/files/patch-linphone-app_src_app_App.cpp b/net/linphone/files/patch-linphone-app_src_app_App.cpp new file mode 100644 index 000000000000..8e86a8c8d048 --- /dev/null +++ b/net/linphone/files/patch-linphone-app_src_app_App.cpp @@ -0,0 +1,21 @@ +FreeBSD 14 and earlier do not support timezone with POSIX semantics. +We work around this shortcoming by skipping the timezone check, +setting the TZ variable unconditionally. +This patch can be removed once FreeBSD 14 goes out of support. + +--- linphone-app/src/app/App.cpp.orig 2026-02-03 10:42:50 UTC ++++ linphone-app/src/app/App.cpp +@@ -295,13 +295,10 @@ App::App(int &argc, char *argv[]) + #else + char *tz = getenv("TZ"); + if (!tz) { // If not set, set the environment variable for uses of mktime from the SDK. +- tzset(); // init timezone variable +- if (timezone != -QTimeZone::systemTimeZone().offsetFromUtc(QDateTime::currentDateTime())) { + QString timeZone = QTimeZone::systemTimeZoneId(); + setenv("TZ", timeZone.toStdString().c_str(), 1); + tzset(); + qInfo() << "Set TimeZone to " << timeZone; +- } + } else qInfo() << "Use environment TimeZone:" << tz; + #endif + diff --git a/net/linphone/files/patch-linphone-app_src_app_logger_Logger.cpp b/net/linphone/files/patch-linphone-app_src_app_logger_Logger.cpp new file mode 100644 index 000000000000..6e7d0a25f3ba --- /dev/null +++ b/net/linphone/files/patch-linphone-app_src_app_logger_Logger.cpp @@ -0,0 +1,11 @@ +--- linphone-app/src/app/logger/Logger.cpp.orig 2025-12-26 08:13:47 UTC ++++ linphone-app/src/app/logger/Logger.cpp +@@ -34,7 +34,7 @@ + + // ============================================================================= + +-#if defined(__linux__) || defined(__APPLE__) ++#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) + #define BLUE "\x1B[1;34m" + #define YELLOW "\x1B[1;33m" + #define GREEN "\x1B[1;32m" diff --git a/net/linphone/files/patch-linphone-app_src_components_other_clipboard_Clipboard.cpp b/net/linphone/files/patch-linphone-app_src_components_other_clipboard_Clipboard.cpp new file mode 100644 index 000000000000..5c28fc00e2c1 --- /dev/null +++ b/net/linphone/files/patch-linphone-app_src_components_other_clipboard_Clipboard.cpp @@ -0,0 +1,11 @@ +--- linphone-app/src/components/other/clipboard/Clipboard.cpp.orig 2025-12-26 08:11:45 UTC ++++ linphone-app/src/components/other/clipboard/Clipboard.cpp +@@ -56,7 +56,7 @@ QString Clipboard::getChatFormattedText () const { + QString text = getText(); + if (text.isEmpty()) + return text; +-#ifdef __linux__ ++#if defined(__linux__ ) || defined(__FreeBSD__) + QString cr = "\n"; + #endif + #ifdef WIN32 diff --git a/net/linphone/files/patch-src_components_other_desktop-tools_DesktopTools.hpp b/net/linphone/files/patch-linphone-app_src_components_other_desktop-tools_DesktopTools.hpp index 110b9cfd9c47..b34238cea8f0 100644 --- a/net/linphone/files/patch-src_components_other_desktop-tools_DesktopTools.hpp +++ b/net/linphone/files/patch-linphone-app_src_components_other_desktop-tools_DesktopTools.hpp @@ -1,5 +1,5 @@ ---- src/components/other/desktop-tools/DesktopTools.hpp.orig 2022-07-05 13:20:17 UTC -+++ src/components/other/desktop-tools/DesktopTools.hpp +--- linphone-app/src/components/other/desktop-tools/DesktopTools.hpp.orig 2025-11-12 12:55:13 UTC ++++ linphone-app/src/components/other/desktop-tools/DesktopTools.hpp @@ -23,7 +23,7 @@ #include <QtGlobal> diff --git a/net/linphone/files/patch-linphone-app_src_components_other_spell-checker_SpellChecker.cpp b/net/linphone/files/patch-linphone-app_src_components_other_spell-checker_SpellChecker.cpp new file mode 100644 index 000000000000..2bb5c7ae5ecf --- /dev/null +++ b/net/linphone/files/patch-linphone-app_src_components_other_spell-checker_SpellChecker.cpp @@ -0,0 +1,11 @@ +--- linphone-app/src/components/other/spell-checker/SpellChecker.cpp.orig 2025-12-26 08:15:07 UTC ++++ linphone-app/src/components/other/spell-checker/SpellChecker.cpp +@@ -35,7 +35,7 @@ SpellChecker::SpellChecker(QObject *parent) : QSyntaxH + errorFormater.setUnderlineColor(Qt::red); // not supported before Qt6.2 + + QFontMetrics fm = QFontMetrics(CoreManager::getInstance()->getSettingsModel()->getTextMessageFont()); +-#ifdef __linux__ ++#if defined(__linux__) || defined(__FreeBSD__) + wave = QString("‾"); + QRect boundingRect = fm.boundingRect(wave); + waveHeight = 10; diff --git a/net/linphone/files/patch-linphone-app_src_components_other_spell-checker_SpellChecker.hpp b/net/linphone/files/patch-linphone-app_src_components_other_spell-checker_SpellChecker.hpp new file mode 100644 index 000000000000..387a4a7ff230 --- /dev/null +++ b/net/linphone/files/patch-linphone-app_src_components_other_spell-checker_SpellChecker.hpp @@ -0,0 +1,20 @@ +--- linphone-app/src/components/other/spell-checker/SpellChecker.hpp.orig 2025-12-26 08:14:55 UTC ++++ linphone-app/src/components/other/spell-checker/SpellChecker.hpp +@@ -38,7 +38,7 @@ + #include "components/core/CoreManager.hpp" + #include "components/settings/SettingsModel.hpp" + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__FreeBSD__) + #include <thread> + #endif + +@@ -113,7 +113,7 @@ signals: (private) + #endif + + // ISpell linux +-#ifdef __linux__ ++#if defined(__linux__) || defined(__FreeBSD__) + static int gISpell_sc_read_fd; + static int gISpell_sc_write_fd; + static int gISpell_app_read_fd; diff --git a/net/linphone/files/patch-linphone-app_src_components_vfs_VfsUtils.hpp b/net/linphone/files/patch-linphone-app_src_components_vfs_VfsUtils.hpp new file mode 100644 index 000000000000..10dbc9516b98 --- /dev/null +++ b/net/linphone/files/patch-linphone-app_src_components_vfs_VfsUtils.hpp @@ -0,0 +1,11 @@ +--- linphone-app/src/components/vfs/VfsUtils.hpp.orig 2025-12-26 08:02:03 UTC ++++ linphone-app/src/components/vfs/VfsUtils.hpp +@@ -26,7 +26,7 @@ + #ifdef QTKEYCHAIN_USE_BUILD_INTERFACE + #include <keychain.h> + #elif defined(QTKEYCHAIN_TARGET_NAME) +-#define KEYCHAIN_HEADER <QTKEYCHAIN_TARGET_NAME/keychain.h> ++#define KEYCHAIN_HEADER <qt5keychain/keychain.h> + #include KEYCHAIN_HEADER + #else + #include <EQt5Keychain/keychain.h> diff --git a/net/linphone/pkg-plist b/net/linphone/pkg-plist index 50fc36acea0d..8f643c0ee333 100644 --- a/net/linphone/pkg-plist +++ b/net/linphone/pkg-plist @@ -1,4 +1,25 @@ bin/linphone +include/LinphoneApp/LinphonePlugin.hpp +include/LinphoneApp/PluginDataAPI.hpp +include/LinphoneApp/PluginExample.json +include/LinphoneApp/PluginNetworkHelper.hpp +lib/libISpell.so lib/linphone/libapp-plugin.so share/applications/linphone.desktop +share/icons/hicolor/128x128/apps/linphone.png +share/icons/hicolor/16x16/apps/linphone.png +share/icons/hicolor/22x22/apps/linphone.png +share/icons/hicolor/24x24/apps/linphone.png +share/icons/hicolor/256x256/apps/linphone.png +share/icons/hicolor/32x32/apps/linphone.png +share/icons/hicolor/64x64/apps/linphone.png share/icons/hicolor/scalable/apps/linphone.svg +%%DATADIR%%/assistant/create-app-sip-account.rc +%%DATADIR%%/assistant/use-app-sip-account.rc +%%DATADIR%%/assistant/use-other-sip-account.rc +%%DATADIR%%/ispell_dictionaries/en +%%DATADIR%%/ispell_dictionaries/en.hash +%%DATADIR%%/ispell_dictionaries/fr +%%DATADIR%%/ispell_dictionaries/fr.hash +%%DATADIR%%/linphonerc-factory +%%ETCDIR%%/qt.conf |
