summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-06-08 23:34:47 -0400
committerMaxim Cournoyer <maxim@guixotic.coop>2025-08-25 17:24:21 +0900
commit9c910fb9b6f10281de21ebf921c44b55f2c4f59e (patch)
treee0190292f332571b96e0c5b5ef03f55d0bf58cb5 /gnu
parent7b73fdca02906849a3c6f52af79660b337e0dbd0 (diff)
gnu: liblinphone: Update to 5.3.57.
* gnu/packages/patches/liblinphone-jsoncpp.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/linphone.scm (liblinphone): Update to 5.3.57. [source]: Apply patch. [configure-flags]: Use gexps. Remove -DENABLE_FLEXIAPI=NO. Replace -DENABLE_STATIC=NO with -DBUILD_SHARED_LIBS=ON. [phases] {separate-outputs}: Adjust for renamed test commands. [native-inputs]: Add pkg-config. [inputs]: Move belle-sip, lime, libxml2, mediastreamer2, ortp and sqlite to... [propagated-inputs]: ... here. Add jsoncpp. Change-Id: Ied23a4d60212f0e45a13ff42701106cdb3d154be
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/linphone.scm51
-rw-r--r--gnu/packages/patches/liblinphone-jsoncpp.patch82
3 files changed, 113 insertions, 21 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index f8cf1495c09..daad880fcb2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1770,6 +1770,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmpeg2-global-symbol-test.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
+ %D%/packages/patches/liblinphone-jsoncpp.patch \
%D%/packages/patches/libphonenumber-reproducible-build.patch \
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
%D%/packages/patches/libquicktime-ffmpeg.patch \
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 81bc0cfa35f..5e110b315bb 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -46,6 +46,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
@@ -733,7 +734,7 @@ device.")
(define-public liblinphone
(package
(name "liblinphone")
- (version "5.2.50")
+ (version "5.3.57")
(source
(origin
(method git-fetch)
@@ -742,37 +743,41 @@ device.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1lvbva234rmck57cxgswgqqvnq8r58i0ls4qgpymrxdfj74rinxj"))))
+ (base32 "1f3hcbdkd8nqvjm5avylz226a8in360yiafcsxpa69wvh1a03i4h"))
+ (patches (search-patches "liblinphone-jsoncpp.patch"))))
(outputs '("out" "tester"))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; Tests require networking
#:configure-flags
- '(list "-DENABLE_FLEXIAPI=NO" ;requires jsoncpp, but it cannot be found
- "-DENABLE_STATIC=NO"
- "-DENABLE_DOC=NO" ;requires unpackaged javasphinx
- "-DENABLE_LDAP=YES"
- "-DENABLE_STRICT=NO")
+ #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DENABLE_DOC=NO" ;requires unpackaged javasphinx
+ "-DENABLE_LDAP=YES"
+ "-DENABLE_STRICT=NO")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'separate-outputs
(lambda* (#:key outputs #:allow-other-keys)
- (let ((tester-name (string-append #$name "_tester")))
+ (let ((tester-name (string-append #$name "-tester")))
(for-each mkdir-p
(list (string-append #$output:tester "/bin")
(string-append #$output:tester "/share")))
- (rename-file (string-append #$output "/bin/" tester-name)
- (string-append #$output:tester "/bin/" tester-name))
- (rename-file (string-append #$output "/bin/groupchat_benchmark")
- (string-append #$output:tester "/bin/groupchat_benchmark"))
- (rename-file (string-append #$output "/share/" tester-name)
- (string-append #$output:tester "/share/" tester-name))))))))
+ (rename-file
+ (string-append #$output "/bin/" tester-name)
+ (string-append #$output:tester "/bin/" tester-name))
+ (rename-file
+ (string-append #$output "/bin/liblinphone-groupchat-benchmark")
+ (string-append #$output:tester "/bin/liblinphone-groupchat-benchmark"))
+ (rename-file
+ (string-append #$output "/share/" tester-name)
+ (string-append #$output:tester "/share/" tester-name))))))))
(native-inputs
(list graphviz
doxygen
gettext-minimal
perl
+ pkg-config
python-wrapper
python-pystache
python-six
@@ -780,20 +785,24 @@ device.")
(inputs
(list bctoolbox
belcard
- belle-sip
belr
bzrtp
- lime
libnotify
- libxml2
- mediastreamer2
openldap-for-linphone
- ortp
soci
- sqlite
xsd
zlib
- zxing-cpp-1.2a))
+ zxing-cpp))
+ (propagated-inputs
+ ;; The following libraries are "required" by the LibLinphoneConfig.cmake
+ ;; CMake module.
+ (list belle-sip
+ jsoncpp
+ mediastreamer2
+ libxml2
+ lime
+ ortp
+ sqlite))
(synopsis "Belledonne Communications Softphone Library")
(description "Liblinphone is a high-level SIP library integrating
all calling and instant messaging features into an unified
diff --git a/gnu/packages/patches/liblinphone-jsoncpp.patch b/gnu/packages/patches/liblinphone-jsoncpp.patch
new file mode 100644
index 00000000000..d012b078706
--- /dev/null
+++ b/gnu/packages/patches/liblinphone-jsoncpp.patch
@@ -0,0 +1,82 @@
+diff --git a/cmake/FindJsonCPP.cmake b/cmake/FindJsonCPP.cmake
+index 59e971a58..18260fde8 100644
+--- a/cmake/FindJsonCPP.cmake
++++ b/cmake/FindJsonCPP.cmake
+@@ -39,10 +39,11 @@
+ # JsonCPP_FOUND - The jsoncpp library has been found
+ # JsonCPP_TARGET - The name of the CMake target for the jsoncpp library
+
++if(TARGET jsoncpp_lib OR TARGET jsoncpp_static OR TARGET PkgConfig::jsoncpp)
+
+-if(TARGET jsoncpp_lib OR TARGET jsoncpp_static)
+-
+- if(TARGET jsoncpp_lib)
++ if(TARGET PkgConfig::jsoncpp)
++ set(JsonCPP_TARGET PkgConfig::jsoncpp)
++ elseif(TARGET jsoncpp_lib)
+ set(JsonCPP_TARGET jsoncpp_lib)
+ else()
+ set(JsonCPP_TARGET jsoncpp_static)
+@@ -57,24 +58,50 @@ if(TARGET jsoncpp_lib OR TARGET jsoncpp_static)
+ mark_as_advanced(JsonCPP_TARGET)
+
+ else()
+-
+- set(_OPTIONS "CONFIG")
++ find_package(PkgConfig QUIET)
++
++ set(_OPTIONS1 "CONFIG")
++ set(_OPTIONS2 "IMPORTED_TARGET") # for pkg_check_modules fallback
++
+ if(JsonCPP_FIND_REQUIRED)
+- list(APPEND _OPTIONS "REQUIRED")
+- endif()
+- if(JsonCPP_FIND_QUIETLY)
+- list(APPEND _OPTIONS "QUIET")
++ if(PKG_CONFIG_FOUND)
++ list(APPEND _OPTIONS2 "REQUIRED")
++ else()
++ list(APPEND _OPTIONS1 "REQUIRED")
++ endif()
+ endif()
+- if(JsonCPP_FIND_VERSION)
+- list(PREPEND _OPTIONS "${jsoncpp_FIND_VERSION}")
++ if(JsonCPP_FIND_QUIETLY)
++ list(APPEND _OPTIONS1 "QUIET")
++ list(APPEND _OPTIONS2 "QUIET")
+ endif()
+- if(JsonCPP_FIND_EXACT)
+- list(APPEND _OPTIONS "EXACT")
++ if(PKG_CONFIG_FOUND)
++ if(JsonCPP_FIND_VERSION)
++ if(JsonCPP_FIND_EXACT)
++ list(APPEND _OPTIONS2 "jsoncpp=${JsonCPP_FIND_VERSION}")
++ else()
++ list(APPEND _OPTIONS2 "jsoncpp>=${JsonCPP_FIND_VERSION}")
++ endif()
++ else()
++ list(APPEND _OPTIONS2 "jsoncpp")
++ endif()
++ else()
++ if(JsonCPP_FIND_VERSION)
++ list(PREPEND _OPTIONS1 "${jsoncpp_FIND_VERSION}")
++ endif()
++ if(JsonCPP_FIND_EXACT)
++ list(APPEND _OPTIONS1 "EXACT")
++ endif()
+ endif()
+
+- find_package(jsoncpp ${_OPTIONS})
++ find_package(jsoncpp ${_OPTIONS1})
++
++ if(NOT JsonCPP_FOUND)
++ pkg_check_modules(jsoncpp ${_OPTIONS2})
++ endif()
+
+- if(TARGET jsoncpp_lib)
++ if(TARGET PkgConfig::jsoncpp)
++ set(JsonCPP_TARGET jsoncpp)
++ elseif(TARGET jsoncpp_lib)
+ set(JsonCPP_TARGET jsoncpp_lib)
+ else()
+ set(JsonCPP_TARGET jsoncpp_static)