[packages/liblinphone] - updated to 5.4.17; added patch for soci 4.1.x compatibility
qboosh
qboosh at pld-linux.org
Wed May 21 07:32:54 CEST 2025
commit 07b95cee2774b881397d38f692d4a4436b62078c
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Wed May 21 06:09:43 2025 +0200
- updated to 5.4.17; added patch for soci 4.1.x compatibility
liblinphone-soci.patch | 53 +++++++++++++++++++++++++++++++++++++++++++
liblinphone.spec | 61 ++++++++++++++++++++++++++------------------------
2 files changed, 85 insertions(+), 29 deletions(-)
---
diff --git a/liblinphone.spec b/liblinphone.spec
index fb203e9..28c5774 100644
--- a/liblinphone.spec
+++ b/liblinphone.spec
@@ -9,23 +9,24 @@
Summary: Linphone Internet Phone libraries
Summary(pl.UTF-8): Biblioteki telefonu internetowego Linphone
Name: liblinphone
-Version: 5.3.104
+Version: 5.4.17
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: 0d8f2df10989765e9fdc686f0061e12d
+# Source0-md5: 59998279524f56f7324f28e06c366c7d
Patch0: %{name}-wrappers.patch
Patch1: %{name}-jsoncpp.patch
+Patch2: %{name}-soci.patch
Patch4: %{name}-zxing.patch
URL: https://www.linphone.org/technical-corner/liblinphone
# base and tester components
-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: bctoolbox-devel >= 5.4.0
+BuildRequires: belcard-devel >= 5.4.0
+BuildRequires: belle-sip-devel >= 5.4.0
+BuildRequires: belr-devel >= 5.4.0
+%{?with_lime:BuildRequires: bzrtp-devel >= 5.4.0}
BuildRequires: cmake >= 3.22
# required not only for docs, but also C++ wrappers
BuildRequires: doxygen
@@ -35,10 +36,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.3.0}
-BuildRequires: mediastreamer-devel >= 5.3.0
+%{?with_lime:BuildRequires: lime-devel >= 5.4.0}
+BuildRequires: mediastreamer-devel >= 5.4.0
%{?with_ldap:BuildRequires: openldap-devel}
-BuildRequires: ortp-devel >= 5.3.0
+BuildRequires: ortp-devel >= 5.4.0
BuildRequires: pkgconfig
BuildRequires: python3 >= 1:3
# to generate C++ wrappers
@@ -52,14 +53,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.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: bctoolbox >= 5.4.0
+Requires: belcard >= 5.4.0
+Requires: belle-sip >= 5.4.0
+Requires: belr >= 5.4.0
+%{?with_lime:Requires: bzrtp >= 5.4.0}
+%{?with_lime:Requires: lime >= 5.4.0}
+Requires: mediastreamer >= 5.4.0
+Requires: ortp >= 5.4.0
Requires: sqlite3 >= 3.7.0
Requires: zlib >= 1.2.3
Obsoletes: linphone-libs < 4
@@ -89,16 +90,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.3.0
-Requires: belle-sip-devel >= 5.3.0
-Requires: belr-devel >= 5.3.0
-%{?with_lime:Requires: bzrtp-devel >= 5.3.0}
+Requires: bctoolbox-devel >= 5.4.0
+Requires: belle-sip-devel >= 5.4.0
+Requires: belr-devel >= 5.4.0
+%{?with_lime:Requires: bzrtp-devel >= 5.4.0}
Requires: jsoncpp-devel
Requires: libstdc++-devel >= 6:7
Requires: libxml2-devel >= 2.0
-%{?with_lime:Requires: lime-devel >= 5.3.0}
-Requires: mediastreamer-devel >= 5.3.0
-Requires: ortp-devel >= 5.3.0
+%{?with_lime:Requires: lime-devel >= 5.4.0}
+Requires: mediastreamer-devel >= 5.4.0
+Requires: ortp-devel >= 5.4.0
Requires: sqlite3-devel >= 3.7.0
Requires: zlib-devel >= 1.2.3
Obsoletes: linphone-devel < 4
@@ -206,6 +207,7 @@ pochodzącego z GNOME.
%setup -q
%patch -P 0 -p1
%patch -P 1 -p1
+%patch -P 2 -p1
%patch -P 4 -p1
%build
@@ -250,7 +252,7 @@ rm -rf $RPM_BUILD_ROOT
%{__rm} $RPM_BUILD_ROOT%{_bindir}/linphone-daemon-pipetest
# packaged as %doc
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/liblinphone-5.3.0
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/liblinphone-5.4.0
# omitted by cmake install
install -d $RPM_BUILD_ROOT%{_mandir}/{man1,cs/man1}
@@ -306,9 +308,10 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/liblinphone.so.10
%dir %{_libdir}/liblinphone
%dir %{_libdir}/liblinphone/plugins
-%{_datadir}/belr/grammars/cpim_grammar
-%{_datadir}/belr/grammars/ics_grammar
-%{_datadir}/belr/grammars/identity_grammar
+%{_datadir}/belr/grammars/cpim_grammar.belr
+%{_datadir}/belr/grammars/ics_grammar.belr
+%{_datadir}/belr/grammars/identity_grammar.belr
+%{_datadir}/belr/grammars/mwi_grammar.belr
%{_datadir}/linphone
%{_datadir}/sounds/linphone
diff --git a/liblinphone-soci.patch b/liblinphone-soci.patch
new file mode 100644
index 0000000..1bc61d6
--- /dev/null
+++ b/liblinphone-soci.patch
@@ -0,0 +1,53 @@
+soci 4.1.x removed use(temporary)
+--- liblinphone-5.4.17/src/db/main-db.cpp.orig 2025-05-15 12:10:44.000000000 +0200
++++ liblinphone-5.4.17/src/db/main-db.cpp 2025-05-20 18:42:07.239298152 +0200
+@@ -1824,12 +1824,13 @@ void MainDbPrivate::updateConferenceChat
+ bool stateRequiresUpdatingParticipants = false;
+ if (state == ChatMessage::State::NotDelivered) {
+ const auto &meAddress = chatRoom->getMe()->getAddress();
++ const auto &eventId = chatMessage->getStorageId();
+ long long meAddressId = insertSipAddress(meAddress);
+ static const string query =
+ "SELECT chat_message_participant.state FROM chat_message_participant WHERE event_id = :eventId AND "
+ "chat_message_participant.participant_sip_address_id = :meAddressId";
+ soci::rowset<soci::row> rows =
+- (session->prepare << query, soci::use(chatMessage->getStorageId()), soci::use(meAddressId));
++ (session->prepare << query, soci::use(eventId), soci::use(meAddressId));
+ ChatMessage::State meParticipantState = ChatMessage::State::Idle;
+ for (const auto &row : rows) {
+ meParticipantState = static_cast<ChatMessage::State>(row.get<int>(0));
+@@ -1852,7 +1853,8 @@ void MainDbPrivate::updateConferenceChat
+ " FROM sip_address, chat_message_participant"
+ " WHERE event_id = :eventId"
+ " AND sip_address.id = chat_message_participant.participant_sip_address_id";
+- soci::rowset<soci::row> rows = (session->prepare << query, soci::use(chatMessage->getStorageId()));
++ const auto &eventId = chatMessage->getStorageId();
++ soci::rowset<soci::row> rows = (session->prepare << query, soci::use(eventId));
+
+ // Use list of participants the client is sure have received the message and not the actual list of participants
+ // being part of the chatroom
+@@ -4982,10 +4984,11 @@ list<shared_ptr<ChatMessage>> MainDb::ge
+ L_D();
+ list<shared_ptr<ChatMessage>> chatMessages;
+ auto epoch = d->dbSession.getTimeWithSociIndicator(0);
++ const auto maxMessages = EPHEMERAL_MESSAGE_TASKS_MAX_NB;
+ soci::rowset<soci::row> rows =
+ getBackend() == MainDb::Backend::Sqlite3
+ ? (d->dbSession.getBackendSession()->prepare << query, soci::use(epoch.first),
+- soci::use(EPHEMERAL_MESSAGE_TASKS_MAX_NB))
++ soci::use(maxMessages))
+ : (d->dbSession.getBackendSession()->prepare << query, soci::use(epoch.first));
+ for (const auto &row : rows) {
+ const long long &dbChatRoomId = d->dbSession.resolveId(row, (int)row.size() - 1);
+@@ -5755,9 +5758,10 @@ list<shared_ptr<EventLog>> MainDb::getHi
+ const EventLogPrivate *dEventLog = event->getPrivate();
+ MainDbKeyPrivate *dEventKey = static_cast<MainDbKey &>(dEventLog->dbKey).getPrivate();
+ const long long &dbEventId = dEventKey->storageId;
++ const auto before_plus_1 = before + 1, after_plus_1 = after + 1;
+
+ soci::rowset<soci::row> rows = (d->dbSession.getBackendSession()->prepare << query, soci::use(dbChatRoomId),
+- soci::use(dbEventId), soci::use(before + 1), soci::use(after + 1));
++ soci::use(dbEventId), soci::use(before_plus_1), soci::use(after_plus_1));
+
+ for (const auto &row : rows) {
+ shared_ptr<EventLog> event = d->selectGenericConferenceEvent(chatRoom, row);
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/liblinphone.git/commitdiff/07b95cee2774b881397d38f692d4a4436b62078c
More information about the pld-cvs-commit
mailing list