From 8e4e13b635ff4460ae96b5abe2959a4977b921f7 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Tue, 12 Mar 2024 19:29:45 +0100 Subject: [PATCH] - updated to 5.3.32 --- liblinphone-c++-static.patch | 53 ---------------- liblinphone-jsoncpp.patch | 47 -------------- liblinphone-link.patch | 27 -------- liblinphone-static.patch | 14 ----- liblinphone-wrappers.patch | 14 +++++ liblinphone-zxing.patch | 21 ++----- liblinphone.spec | 119 ++++++++++++++++++----------------- 7 files changed, 81 insertions(+), 214 deletions(-) delete mode 100644 liblinphone-c++-static.patch delete mode 100644 liblinphone-jsoncpp.patch delete mode 100644 liblinphone-link.patch delete mode 100644 liblinphone-static.patch create mode 100644 liblinphone-wrappers.patch diff --git a/liblinphone-c++-static.patch b/liblinphone-c++-static.patch deleted file mode 100644 index 0ab837a..0000000 --- a/liblinphone-c++-static.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- liblinphone-4.5.24/wrappers/cpp/CMakeLists.txt.orig 2021-07-06 10:06:15.000000000 +0200 -+++ liblinphone-4.5.24/wrappers/cpp/CMakeLists.txt 2021-07-15 21:33:45.817747269 +0200 -@@ -38,6 +38,7 @@ - ) - add_custom_target(linphone-cxx-wrapper ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/include/linphone++/linphone.hh" "${CMAKE_CURRENT_BINARY_DIR}/src/linphone++.cc") - -+if(ENABLE_SHARED) - add_library(linphone++ SHARED - object.cc - tools.cc -@@ -81,6 +82,42 @@ - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - FRAMEWORK DESTINATION Frameworks - ) -+endif() -+if(ENABLE_STATIC) -+add_library(linphone++-static STATIC -+ object.cc -+ tools.cc -+ ${CMAKE_CURRENT_BINARY_DIR}/src/linphone++.cc -+) -+add_dependencies(linphone++-static linphone-cxx-wrapper) -+ -+if(APPLE) -+ set_target_properties(linphone++-static PROPERTIES OUTPUT_NAME linphone++) -+else() -+ set_target_properties(linphone++-static PROPERTIES OUTPUT_NAME liblinphone++) -+endif() -+set_target_properties(linphone++-static PROPERTIES PREFIX "") -+target_link_libraries(linphone++-static -+ PRIVATE ${BCTOOLBOX_CORE_LIBRARIES} ${BELLESIP_LIBRARIES} linphone -+) -+ -+target_include_directories(linphone++-static -+ PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/include -+ PRIVATE ${PROJECT_BINARY_DIR}/include -+ PRIVATE ${PROJECT_SOURCE_DIR}/include -+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} -+ PRIVATE ${BCTOOLBOX_INCLUDE_DIRS} -+ PRIVATE ${BELLESIP_INCLUDE_DIRS} -+) -+ -+install(TARGETS linphone++-static EXPORT LinphoneCxxTargets -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ FRAMEWORK DESTINATION Frameworks -+) -+endif() -+ - install(FILES object.hh - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/linphone++ - ) diff --git a/liblinphone-jsoncpp.patch b/liblinphone-jsoncpp.patch deleted file mode 100644 index 43e035e..0000000 --- a/liblinphone-jsoncpp.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- liblinphone-5.2.51/src/CMakeLists.txt.orig 2023-04-20 20:45:01.892542923 +0200 -+++ liblinphone-5.2.51/src/CMakeLists.txt 2023-04-20 20:46:02.122216631 +0200 -@@ -32,7 +32,7 @@ set(PUBLIC_LINK_LIBS - ) - - if (ENABLE_FLEXIAPI) -- list(APPEND LINK_LIBS jsoncpp_static) -+ list(APPEND LINK_LIBS jsoncpp_lib) - endif() - - #APPLE_LIBS is mandatory for apple compilation -@@ -650,11 +650,7 @@ if(ENABLE_STATIC) - ) - - if (ENABLE_FLEXIAPI) -- if (XCODE) -- target_link_libraries(linphone-static PRIVATE jsoncpp_static) -- else() -- target_link_libraries(linphone-static PRIVATE jsoncpp_object) -- endif() -+ target_link_libraries(linphone-static PRIVATE jsoncpp_lib) - endif() - - if (APPLE) -@@ -699,11 +695,7 @@ if(ENABLE_SHARED) - ) - - if (ENABLE_FLEXIAPI) -- if (XCODE) -- target_link_libraries(linphone PRIVATE jsoncpp_static) -- else() -- target_link_libraries(linphone PRIVATE jsoncpp_object) -- endif() -+ target_link_libraries(linphone PRIVATE jsoncpp_lib) - endif() - - if(APPLE) ---- liblinphone-5.2.51/tester/CMakeLists.txt.orig 2023-04-21 18:51:54.676272194 +0200 -+++ liblinphone-5.2.51/tester/CMakeLists.txt 2023-04-21 18:51:57.524566770 +0200 -@@ -322,6 +322,7 @@ set(SOURCE_FILES_CXX - if(ENABLE_FLEXIAPI) - list(APPEND SOURCE_FILES_CXX account_creator_flexiapi_tester.cpp) - list(APPEND SOURCE_FILES_CXX flexiapiclient-tester.cpp) -+ list(APPEND OTHER_LIBS_FOR_TESTER jsoncpp_lib) - endif() - - if(ENABLE_ADVANCED_IM) diff --git a/liblinphone-link.patch b/liblinphone-link.patch deleted file mode 100644 index 3ce258a..0000000 --- a/liblinphone-link.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- liblinphone-5.1.73/CMakeLists.txt.orig 2022-12-06 10:47:26.000000000 +0100 -+++ liblinphone-5.1.73/CMakeLists.txt 2023-04-17 21:09:43.248724660 +0200 -@@ -96,10 +96,10 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug") - add_definitions("-DDEBUG") - endif() - --if(ENABLE_STATIC) -- set(LINPHONE_LIBS_FOR_TOOLS linphone-static) --else() -+if(ENABLE_SHARED) - set(LINPHONE_LIBS_FOR_TOOLS linphone) -+else() -+ set(LINPHONE_LIBS_FOR_TOOLS linphone-static) - endif() - if(WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") - list(APPEND LINPHONE_LIBS_FOR_TOOLS "Ws2_32" "Iphlpapi") ---- liblinphone-5.1.73/src/CMakeLists.txt.orig 2023-04-17 18:17:25.881393652 +0200 -+++ liblinphone-5.1.73/src/CMakeLists.txt 2023-04-17 18:45:03.992410894 +0200 -@@ -24,6 +24,8 @@ set(LINK_LIBS - bctoolbox - ${BELLESIP_TARGETNAME} - belr -+ bzrtp -+ mediastreamer - ) - set(PUBLIC_LINK_LIBS - ortp diff --git a/liblinphone-static.patch b/liblinphone-static.patch deleted file mode 100644 index a88c45d..0000000 --- a/liblinphone-static.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- liblinphone-5.1.73/src/CMakeLists.txt.orig 2023-04-13 16:13:26.000000000 +0200 -+++ liblinphone-5.1.73/src/CMakeLists.txt 2023-04-16 18:53:47.034312975 +0200 -@@ -617,9 +617,9 @@ if(ENABLE_STATIC) - - if (ENABLE_FLEXIAPI) - if (XCODE) -- target_link_libraries(linphone PRIVATE jsoncpp_static) -+ target_link_libraries(linphone-static PRIVATE jsoncpp_static) - else() -- target_link_libraries(linphone PRIVATE jsoncpp_object) -+ target_link_libraries(linphone-static PRIVATE jsoncpp_object) - endif() - endif() - diff --git a/liblinphone-wrappers.patch b/liblinphone-wrappers.patch new file mode 100644 index 0000000..26fc31c --- /dev/null +++ b/liblinphone-wrappers.patch @@ -0,0 +1,14 @@ +With @deprecated before params gen_wrappers fails to read return type and its attributes +--- liblinphone-5.3.32/include/linphone/call_params.h.orig 2024-03-09 13:44:49.000000000 +0100 ++++ liblinphone-5.3.32/include/linphone/call_params.h 2024-03-11 20:21:53.429493890 +0100 +@@ -60,9 +60,9 @@ LINPHONE_PUBLIC const char *linphone_cal + * Copy an existing #LinphoneCallParams object to a new #LinphoneCallParams object. + * linphone_call_params_copy() is error-prone, leading to inconsistent parameters being passed to + * linphone_core_invite_address_with_params() or linphone_call_accept_with_params(). +- * @deprecated use exclusively linphone_core_create_call_params() to create #LinphoneCallParams object. + * @param call_params The #LinphoneCallParams object to copy. @notnil + * @return A copy of the #LinphoneCallParams object. @notnil @tobefreed ++ * @deprecated use exclusively linphone_core_create_call_params() to create #LinphoneCallParams object. + **/ + LINPHONE_PUBLIC LINPHONE_DEPRECATED LinphoneCallParams * + linphone_call_params_copy(const LinphoneCallParams *call_params); diff --git a/liblinphone-zxing.patch b/liblinphone-zxing.patch index 46eed2b..e0afbde 100644 --- a/liblinphone-zxing.patch +++ b/liblinphone-zxing.patch @@ -1,22 +1,11 @@ ---- liblinphone-5.2.51/src/factory/factory.cpp.orig 2023-04-21 06:34:56.157462399 +0200 -+++ liblinphone-5.2.51/src/factory/factory.cpp 2023-04-21 06:35:01.130768789 +0200 -@@ -802,7 +802,7 @@ LinphoneContent *Factory::createQRCode(c +--- liblinphone-5.3.32/src/factory/factory.cpp.orig 2024-03-10 13:08:36.628399613 +0100 ++++ liblinphone-5.3.32/src/factory/factory.cpp 2024-03-10 13:10:03.947926563 +0100 +@@ -849,7 +849,7 @@ LinphoneContent *Factory::createQRCode(c } - + auto writer = ZXing::MultiFormatWriter(format).setMargin((int)margin).setEncoding(encoding).setEccLevel(eccLevel); - auto matrix = writer.encode(ZXing::TextUtfEncoding::FromUtf8(code), (int)width, (int)height); + auto matrix = writer.encode(code, (int)width, (int)height); auto bitmap = ZXing::ToMatrix(matrix); - - LinphoneContent * content = Factory::createContent(); ---- liblinphone-5.2.51/CMakeLists.txt.orig 2023-04-20 22:20:41.274783354 +0200 -+++ liblinphone-5.2.51/CMakeLists.txt 2023-04-21 06:35:41.677215797 +0200 -@@ -92,7 +92,7 @@ cmake_dependent_option(ENABLE_QRCODE "En - # * DISABLE_BC_PACKAGE_SEARCH: skip find_package() for every BC package (bctoolbox, ortp, etc.) - # * DISABLE_SOCI_PACKAGE_SEARCH: skip find_package() for Soci. - --set(CMAKE_CXX_STANDARD 14) -+set(CMAKE_CXX_STANDARD 17) - set(CMAKE_CXX_EXTENSIONS NO) - if(NOT CMAKE_BUILD_TYPE) + LinphoneContent *content = Factory::createContent(); diff --git a/liblinphone.spec b/liblinphone.spec index bb8a866..c4f8712 100644 --- a/liblinphone.spec +++ b/liblinphone.spec @@ -1,34 +1,32 @@ # TODO: -# - -DENABLE_TUNNEL (BR: TunnelConfig.cmake) - proprietary? +# - -DENABLE_TUNNEL (BR: TunnelConfig.cmake >= 0.7.0) - proprietary? # # Conditional build: +%bcond_with ldap # OpenLDAP contacts provider (too old LDAP in PLD?) %bcond_without lime # LIMEv2/X3DH encryption support %bcond_without static_libs # static libraries -%bcond_without zrtp # LIMEv1/ZRTP support Summary: Linphone Internet Phone libraries Summary(pl.UTF-8): Biblioteki telefonu internetowego Linphone Name: liblinphone -Version: 5.2.51 +Version: 5.3.32 Release: 1 License: AGPL v3+ or proprietary Group: Applications/Communications #Source0Download: https://gitlab.linphone.org/BC/public/liblinphone/-/tags Source0: https://gitlab.linphone.org/BC/public/liblinphone/-/archive/%{version}/%{name}-%{version}.tar.bz2 -# Source0-md5: 30e4f91bb6355aebb325c4cf054c2ac6 -Patch0: %{name}-c++-static.patch -Patch1: %{name}-static.patch -Patch2: %{name}-jsoncpp.patch -Patch3: %{name}-link.patch +# Source0-md5: aa5da7c1131759bfb575276ed24f4bc1 +Patch0: %{name}-wrappers.patch Patch4: %{name}-zxing.patch URL: https://www.linphone.org/technical-corner/liblinphone # base and tester components -BuildRequires: bctoolbox-devel >= 5.2 -BuildRequires: belcard-devel >= 4.5.20-1 -BuildRequires: belle-sip-devel >= 5.2 -BuildRequires: belr-devel >= 5.2 -%{?with_zrtp:BuildRequires: bzrtp-devel >= 5.2} -BuildRequires: cmake >= 3.1 +BuildRequires: bctoolbox-devel >= 5.3.0 +BuildRequires: belcard-devel >= 5.3.0 +BuildRequires: belle-sip-devel >= 5.3.0 +BuildRequires: belr-devel >= 5.3.0 +%{?with_lime:BuildRequires: bzrtp-devel >= 5.3.0} +BuildRequires: cmake >= 3.22 +# required not only for docs, but also C++ wrappers BuildRequires: doxygen BuildRequires: jsoncpp-devel BuildRequires: libjpeg-turbo-devel @@ -36,9 +34,10 @@ BuildRequires: libsoci-devel >= 4.0 BuildRequires: libsoci-sqlite3-devel >= 4.0 BuildRequires: libstdc++-devel >= 6:7 BuildRequires: libxml2-devel >= 2.0 -%{?with_lime:BuildRequires: lime-devel >= 5.2} -BuildRequires: mediastreamer-devel >= 5.2.51 -BuildRequires: ortp-devel >= 5.2 +%{?with_lime:BuildRequires: lime-devel >= 5.3.0} +BuildRequires: mediastreamer-devel >= 5.3.0 +%{?with_ldap:BuildRequires: openldap-devel} +BuildRequires: ortp-devel >= 5.3.0 BuildRequires: pkgconfig BuildRequires: python3 >= 1:3 # to generate C++ wrappers @@ -52,13 +51,14 @@ BuildRequires: xerces-c-devel BuildRequires: zxing-cpp-nu-devel >= 1.4.0 BuildRequires: zlib-devel >= 1.2.3 Requires(post,postun): /sbin/ldconfig -Requires: bctoolbox >= 5.2 -Requires: belle-sip >= 5.2 -Requires: belr >= 5.2 -%{?with_zrtp:Requires: bzrtp >= 5.2} -%{?with_lime:Requires: lime >= 5.2} -Requires: mediastreamer >= 5.2.51 -Requires: ortp >= 5.2 +Requires: bctoolbox >= 5.3.0 +Requires: belcard >= 5.3.0 +Requires: belle-sip >= 5.3.0 +Requires: belr >= 5.3.0 +%{?with_lime:Requires: bzrtp >= 5.3.0} +%{?with_lime:Requires: lime >= 5.3.0} +Requires: mediastreamer >= 5.3.0 +Requires: ortp >= 5.3.0 Requires: sqlite3 >= 3.7.0 Requires: zlib >= 1.2.3 Obsoletes: linphone-libs < 4 @@ -88,16 +88,16 @@ Summary: Header files for Linphone library Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Linphone Group: Development/Libraries Requires: %{name} = %{version}-%{release} -Requires: bctoolbox-devel >= 5.2 -Requires: belle-sip-devel >= 5.2 -Requires: belr-devel >= 5.2 -%{?with_zrtp:Requires: bzrtp-devel >= 5.2} +Requires: bctoolbox-devel >= 5.3.0 +Requires: belle-sip-devel >= 5.3.0 +Requires: belr-devel >= 5.3.0 +%{?with_lime:Requires: bzrtp-devel >= 5.3.0} Requires: jsoncpp-devel Requires: libstdc++-devel >= 6:7 Requires: libxml2-devel >= 2.0 -%{?with_lime:Requires: lime-devel >= 5.2} -Requires: mediastreamer-devel >= 5.2.51 -Requires: ortp-devel >= 5.2 +%{?with_lime:Requires: lime-devel >= 5.3.0} +Requires: mediastreamer-devel >= 5.3.0 +Requires: ortp-devel >= 5.3.0 Requires: sqlite3-devel >= 3.7.0 Requires: zlib-devel >= 1.2.3 Obsoletes: linphone-devel < 4 @@ -204,41 +204,47 @@ pochodzącego z GNOME. %prep %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 %patch4 -p1 %build -install -d builddir -cd builddir -# ENABLE_GTK_UI just installs dead {audio-assistant,linphone}.desktop files -# ENABLE_LDAP does nothing -%cmake .. \ +%if %{with static_libs} +%cmake -B builddir-static \ + -DBUILD_SHARED_LIBS=OFF \ + %{?with_ldap:-DENABLE_LDAP=ON} \ + %{!?with_lime:-DENABLE_LIME_X3DH=OFF} \ + -DENABLE_TOOLS=OFF \ + -DENABLE_UNIT_TESTS=OFF + +%{__make} -C builddir-static +%endif + +%cmake -B builddir \ + -DENABLE_CONSOLE_UI=ON \ -DENABLE_DOC=ON \ - %{!?with_zrtp:-DENABLE_LIME=OFF} \ + %{?with_ldap:-DENABLE_LDAP=ON} \ %{!?with_lime:-DENABLE_LIME_X3DH=OFF} \ - %{!?with_static_libs:-DENABLE_STATIC=OFF} \ - -DENABLE_STRICT=OFF + -DENABLE_STRICT=OFF \ + -DENABLE_UNIT_TESTS=OFF -%{__make} +%{__make} -C builddir %install rm -rf $RPM_BUILD_ROOT -%{__make} -C builddir install \ +%if %{with static_libs} +%{__make} -C builddir-static install \ DESTDIR=$RPM_BUILD_ROOT +%endif -# disable completeness check incompatible with split packaging -%{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d; /^unset(_IMPORT_CHECK_TARGETS)/d' $RPM_BUILD_ROOT%{_datadir}/Linphone/cmake/LinphoneTargets.cmake -%{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d; /^unset(_IMPORT_CHECK_TARGETS)/d' $RPM_BUILD_ROOT%{_datadir}/LinphoneCxx/cmake/LinphoneCxxTargets.cmake +%{__make} -C builddir install \ + DESTDIR=$RPM_BUILD_ROOT # some tests -%{__rm} $RPM_BUILD_ROOT%{_bindir}/{groupchat_benchmark,liblinphone_tester,linphone-daemon-pipetest,*_test} -%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/liblinphone_tester +%{__rm} $RPM_BUILD_ROOT%{_bindir}/liblinphone-{lpc2xml-test,test-ecc,xml2lpc-test} +%{__rm} $RPM_BUILD_ROOT%{_bindir}/linphone-daemon-pipetest # packaged as %doc -%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/liblinphone-5.2.0 +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/liblinphone-5.3.0 # omitted by cmake install install -d $RPM_BUILD_ROOT%{_mandir}/{man1,cs/man1} @@ -248,7 +254,7 @@ cp -p share/cs/linphonec.1 $RPM_BUILD_ROOT%{_mandir}/cs/man1 # missing in 4+ [ ! -d $RPM_BUILD_ROOT%{_pkgconfigdir} ] || exit 1 install -d $RPM_BUILD_ROOT%{_pkgconfigdir} -cat >>$RPM_BUILD_ROOT%{_pkgconfigdir}/linphone.pc <<'EOF' +cat >$RPM_BUILD_ROOT%{_pkgconfigdir}/linphone.pc <<'EOF' prefix=%{_prefix} exec_prefix=%{_prefix} libdir=%{_libdir} @@ -262,7 +268,7 @@ Libs: -L${libdir} -llinphone Cflags: -I${includedir} EOF -cat >>$RPM_BUILD_ROOT%{_pkgconfigdir}/linphone++.pc <<'EOF' +cat >$RPM_BUILD_ROOT%{_pkgconfigdir}/linphone++.pc <<'EOF' prefix=%{_prefix} exec_prefix=%{_prefix} libdir=%{_libdir} @@ -288,10 +294,9 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc CHANGELOG.md NEWS README.md +%attr(755,root,root) %{_bindir}/liblinphone-auto-answer +%attr(755,root,root) %{_bindir}/liblinphone-sendmsg %attr(755,root,root) %{_bindir}/linphone-daemon -%attr(755,root,root) %{_bindir}/lp-auto-answer -%attr(755,root,root) %{_bindir}/lp-sendmsg -%attr(755,root,root) %{_bindir}/lp-test-ecc %attr(755,root,root) %{_libdir}/liblinphone.so.10 %{_datadir}/belr/grammars/cpim_grammar %{_datadir}/belr/grammars/ics_grammar @@ -304,8 +309,8 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/liblinphone.so %{_includedir}/linphone %{_pkgconfigdir}/linphone.pc -%dir %{_datadir}/Linphone -%{_datadir}/Linphone/cmake +%dir %{_datadir}/LibLinphone +%{_datadir}/LibLinphone/cmake %if %{with static_libs} %files static -- 2.44.0