M gnu/local.mk => gnu/local.mk +1 -0
@@ 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 \
M gnu/packages/linphone.scm => gnu/packages/linphone.scm +30 -21
@@ 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
A gnu/packages/patches/liblinphone-jsoncpp.patch => gnu/packages/patches/liblinphone-jsoncpp.patch +82 -0
@@ 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)