gnu: mediastreamer2: Update to 4.4.34.
* gnu/packages/linphone.scm (mediastreamer2)[source]: Switch to git repository.
[version]: Update to 4.4.34.
[patches]: Remove field.
[configure-flags]: Remove the ENABLE_STRICT, ENABLE_BV16, CMAKE_C_FLAGS and
CMAKE_CXX_FLAGS flags.
[phases]{fix-version}: New phase.
{separate-outputs}: Modify.
[native-inputs]: Replace python with python-wrapper.
[home-page]: Update.
[license]: Upgrade to GPLv3+.
* gnu/packages/patches/mediastreamer2-srtp2.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
parent
2dda883dee
commit
146a9403b3
3 changed files with 29 additions and 188 deletions
|
|
@ -1397,7 +1397,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
|
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
|
||||||
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
|
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
|
||||||
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
|
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
|
||||||
%D%/packages/patches/mediastreamer2-srtp2.patch \
|
|
||||||
%D%/packages/patches/mesa-skip-tests.patch \
|
%D%/packages/patches/mesa-skip-tests.patch \
|
||||||
%D%/packages/patches/mescc-tools-boot.patch \
|
%D%/packages/patches/mescc-tools-boot.patch \
|
||||||
%D%/packages/patches/meson-for-build-rpath.patch \
|
%D%/packages/patches/meson-for-build-rpath.patch \
|
||||||
|
|
|
||||||
|
|
@ -417,9 +417,10 @@ such as conferencing.")
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'fix-version-strings
|
(add-after 'unpack 'fix-version-strings
|
||||||
|
;; See: https://gitlab.linphone.org/BC/public/ortp/-/issues/5.
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "CMakeLists.txt"
|
(substitute* "CMakeLists.txt"
|
||||||
(("VERSION 4.4.0")
|
(("VERSION [0-9]+\\.[0-9]+\\.[0-9]+")
|
||||||
(string-append "VERSION " ,version))
|
(string-append "VERSION " ,version))
|
||||||
(("\\$\\{ORTP_DOC_VERSION\\}")
|
(("\\$\\{ORTP_DOC_VERSION\\}")
|
||||||
,version))))
|
,version))))
|
||||||
|
|
@ -518,56 +519,52 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
|
||||||
(define-public mediastreamer2
|
(define-public mediastreamer2
|
||||||
(package
|
(package
|
||||||
(name "mediastreamer2")
|
(name "mediastreamer2")
|
||||||
(version "2.16.1")
|
(version "4.4.34")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method git-fetch)
|
||||||
(uri
|
(uri (git-reference
|
||||||
(string-append "https://www.linphone.org/releases/sources/"
|
(url "https://gitlab.linphone.org/BC/public/mediastreamer2.git")
|
||||||
"mediastreamer/mediastreamer-" version ".tar.gz"))
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k"))
|
(base32 "0989h3d0h7qrx4kjx8gg09j8c5hvvi3h8qi1iq1dqbppwbaxbz8c"))))
|
||||||
(patches (search-patches "mediastreamer2-srtp2.patch"))))
|
|
||||||
(outputs '("out" "doc" "tester"))
|
(outputs '("out" "doc" "tester"))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ; No test target
|
`(#:tests? #f ; No test target
|
||||||
#:configure-flags
|
#:configure-flags (list "-DENABLE_STATIC=NO")
|
||||||
(list "-DENABLE_STATIC=NO" ; Not required
|
|
||||||
"-DENABLE_STRICT=NO" ; Would otherwise treat warnings as err
|
|
||||||
"-DENABLE_BV16=NO" ; Not available
|
|
||||||
"-DCMAKE_C_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\""
|
|
||||||
"-DCMAKE_CXX_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"")
|
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'fix-version
|
||||||
|
(lambda _
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
(("VERSION [0-9]+\\.[0-9]+\\.[0-9]+")
|
||||||
|
(string-append "VERSION " ,version)))))
|
||||||
(add-after 'install 'separate-outputs
|
(add-after 'install 'separate-outputs
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
(doc (assoc-ref outputs "doc"))
|
|
||||||
(tester (assoc-ref outputs "tester"))
|
(tester (assoc-ref outputs "tester"))
|
||||||
(tester-name (string-append ,name "_tester")))
|
(tester-name (string-append ,name "_tester"))
|
||||||
|
(doc (assoc-ref outputs "doc"))
|
||||||
|
(doc-name (string-append ,name "-" ,version)))
|
||||||
|
(for-each mkdir-p
|
||||||
|
(list (string-append tester "/bin")
|
||||||
|
(string-append tester "/share")
|
||||||
|
(string-append doc "/share/doc")))
|
||||||
;; Copy the tester executable.
|
;; Copy the tester executable.
|
||||||
(mkdir-p (string-append tester "/bin"))
|
|
||||||
(rename-file (string-append out "/bin/" tester-name)
|
(rename-file (string-append out "/bin/" tester-name)
|
||||||
(string-append tester "/bin/" tester-name))
|
(string-append tester "/bin/" tester-name))
|
||||||
;; Copy the tester data files.
|
;; Copy the tester data files.
|
||||||
(copy-recursively (string-append out "/share/" tester-name)
|
(rename-file (string-append out "/share/" tester-name)
|
||||||
(string-append tester "/share/" tester-name))
|
(string-append tester "/share/" tester-name))
|
||||||
(delete-file-recursively (string-append out "/share/"
|
|
||||||
tester-name))
|
|
||||||
;; Copy the HTML documentation.
|
;; Copy the HTML documentation.
|
||||||
(copy-recursively (string-append out "/share/doc/"
|
(rename-file (string-append out "/share/doc/" doc-name)
|
||||||
,name "-" ,version "/html")
|
(string-append doc "/share/doc/" doc-name))))))))
|
||||||
(string-append doc "/share/doc/"
|
|
||||||
,name "-" ,version "/html"))
|
|
||||||
(delete-file-recursively (string-append out "/share/doc/"
|
|
||||||
,name "-" ,version
|
|
||||||
"/html"))
|
|
||||||
#t))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("dot" ,graphviz)
|
`(("dot" ,graphviz)
|
||||||
("doxygen" ,doxygen)
|
("doxygen" ,doxygen)
|
||||||
("python" ,python)))
|
("python" ,python-wrapper)))
|
||||||
(inputs
|
(inputs
|
||||||
`(("alsa" ,alsa-lib)
|
`(("alsa" ,alsa-lib)
|
||||||
("bcg729" ,bcg729)
|
("bcg729" ,bcg729)
|
||||||
|
|
@ -600,8 +597,8 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
|
||||||
for telephony applications. This media processing and streaming toolkit is
|
for telephony applications. This media processing and streaming toolkit is
|
||||||
responsible for receiving and sending all multimedia streams in Linphone,
|
responsible for receiving and sending all multimedia streams in Linphone,
|
||||||
including media capture, encoding and decoding, and rendering.")
|
including media capture, encoding and decoding, and rendering.")
|
||||||
(home-page "https://gitlab.linphone.org/BC/public/mediastreamer2")
|
(home-page "https://linphone.org/technical-corner/mediastreamer2")
|
||||||
(license license:gpl2+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public liblinphone
|
(define-public liblinphone
|
||||||
(package
|
(package
|
||||||
|
|
|
||||||
|
|
@ -1,155 +0,0 @@
|
||||||
From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Danmei Chen <danmei.chen@belledonne-communications.com>
|
|
||||||
Date: Fri, 19 Jan 2018 10:04:07 +0100
|
|
||||||
Subject: [PATCH] add compability with srtp2
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/FindSRTP.cmake | 24 ++++++++++++++++++++----
|
|
||||||
src/CMakeLists.txt | 1 +
|
|
||||||
src/crypto/ms_srtp.c | 10 ++--------
|
|
||||||
src/utils/srtp_prefix.h | 41 +++++++++++++++++++++++++++++++++++++++++
|
|
||||||
4 files changed, 64 insertions(+), 12 deletions(-)
|
|
||||||
create mode 100644 src/utils/srtp_prefix.h
|
|
||||||
|
|
||||||
diff --git a/cmake/FindSRTP.cmake b/cmake/FindSRTP.cmake
|
|
||||||
index 988b846a..f720ce7e 100644
|
|
||||||
--- a/cmake/FindSRTP.cmake
|
|
||||||
+++ b/cmake/FindSRTP.cmake
|
|
||||||
@@ -31,20 +31,36 @@ set(_SRTP_ROOT_PATHS
|
|
||||||
)
|
|
||||||
|
|
||||||
find_path(SRTP_INCLUDE_DIRS
|
|
||||||
- NAMES srtp/srtp.h
|
|
||||||
+ NAMES srtp2/srtp.h
|
|
||||||
HINTS _SRTP_ROOT_PATHS
|
|
||||||
PATH_SUFFIXES include
|
|
||||||
)
|
|
||||||
|
|
||||||
if(SRTP_INCLUDE_DIRS)
|
|
||||||
set(HAVE_SRTP_SRTP_H 1)
|
|
||||||
-endif()
|
|
||||||
-
|
|
||||||
-find_library(SRTP_LIBRARIES
|
|
||||||
+ set(SRTP_VERSION 2)
|
|
||||||
+ find_library(SRTP_LIBRARIES
|
|
||||||
+ NAMES srtp2
|
|
||||||
+ HINTS ${_SRTP_ROOT_PATHS}
|
|
||||||
+ PATH_SUFFIXES bin lib
|
|
||||||
+ )
|
|
||||||
+else()
|
|
||||||
+ find_path(SRTP_INCLUDE_DIRS
|
|
||||||
+ NAMES srtp/srtp.h
|
|
||||||
+ HINTS _SRTP_ROOT_PATHS
|
|
||||||
+ PATH_SUFFIXES include
|
|
||||||
+ )
|
|
||||||
+ if(SRTP_INCLUDE_DIRS)
|
|
||||||
+ set(HAVE_SRTP_SRTP_H 1)
|
|
||||||
+ set(SRTP_VERSION 1)
|
|
||||||
+ endif()
|
|
||||||
+ find_library(SRTP_LIBRARIES
|
|
||||||
NAMES srtp
|
|
||||||
HINTS ${_SRTP_ROOT_PATHS}
|
|
||||||
PATH_SUFFIXES bin lib
|
|
||||||
)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
find_package_handle_standard_args(SRTP
|
|
||||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
||||||
index da429764..c46faa62 100644
|
|
||||||
--- a/src/CMakeLists.txt
|
|
||||||
+++ b/src/CMakeLists.txt
|
|
||||||
@@ -183,6 +183,7 @@ set(VOIP_SOURCE_FILES_C
|
|
||||||
utils/pcap_sender.c
|
|
||||||
utils/pcap_sender.h
|
|
||||||
utils/stream_regulator.c
|
|
||||||
+ utils/srtp_prefix.h
|
|
||||||
voip/audioconference.c
|
|
||||||
voip/audiostream.c
|
|
||||||
voip/bandwidthcontroller.c
|
|
||||||
diff --git a/src/crypto/ms_srtp.c b/src/crypto/ms_srtp.c
|
|
||||||
index 5a510c99..67810316 100644
|
|
||||||
--- a/src/crypto/ms_srtp.c
|
|
||||||
+++ b/src/crypto/ms_srtp.c
|
|
||||||
@@ -25,6 +25,7 @@
|
|
||||||
#include "mediastreamer2/ms_srtp.h"
|
|
||||||
#include "mediastreamer2/mediastream.h"
|
|
||||||
|
|
||||||
+
|
|
||||||
#ifdef HAVE_SRTP
|
|
||||||
|
|
||||||
/*srtp defines all this stuff*/
|
|
||||||
@@ -34,13 +35,7 @@
|
|
||||||
#undef PACKAGE_TARNAME
|
|
||||||
#undef PACKAGE_VERSION
|
|
||||||
|
|
||||||
-#if defined(MS2_WINDOWS_PHONE)
|
|
||||||
-// Windows phone doesn't use make install
|
|
||||||
-#include <srtp.h>
|
|
||||||
-#else
|
|
||||||
-#include <srtp/srtp.h>
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
+#include "srtp_prefix.h"
|
|
||||||
|
|
||||||
#include "ortp/b64.h"
|
|
||||||
|
|
||||||
@@ -352,7 +347,6 @@ int ms_srtp_init(void)
|
|
||||||
srtp_init_done++;
|
|
||||||
}else{
|
|
||||||
ms_fatal("Couldn't initialize SRTP library: %d.", st);
|
|
||||||
- err_reporting_init("mediastreamer2");
|
|
||||||
}
|
|
||||||
}else srtp_init_done++;
|
|
||||||
return (int)st;
|
|
||||||
diff --git a/src/utils/srtp_prefix.h b/src/utils/srtp_prefix.h
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..68bde496
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/utils/srtp_prefix.h
|
|
||||||
@@ -0,0 +1,41 @@
|
|
||||||
+/*
|
|
||||||
+ mediastreamer2 library - modular sound and video processing and streaming
|
|
||||||
+ Copyright (C) 2006-2014 Belledonne Communications, Grenoble
|
|
||||||
+
|
|
||||||
+ This library is free software; you can redistribute it and/or
|
|
||||||
+ modify it under the terms of the GNU Lesser General Public
|
|
||||||
+ License as published by the Free Software Foundation; either
|
|
||||||
+ version 2.1 of the License, or (at your option) any later version.
|
|
||||||
+
|
|
||||||
+ This library is distributed in the hope that it will be useful,
|
|
||||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
+ Lesser General Public License for more details.
|
|
||||||
+
|
|
||||||
+ You should have received a copy of the GNU Lesser General Public
|
|
||||||
+ License along with this library; if not, write to the Free Software
|
|
||||||
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
+*/
|
|
||||||
+#ifndef __SRTP2_H__
|
|
||||||
+#define __SRTP2_H__
|
|
||||||
+
|
|
||||||
+#if defined(MS2_WINDOWS_PHONE)
|
|
||||||
+// Windows phone doesn't use make install
|
|
||||||
+#include <srtp.h>
|
|
||||||
+#elif SRTP_VERSION==1
|
|
||||||
+#include <srtp/srtp.h>
|
|
||||||
+#else
|
|
||||||
+#include <srtp2/srtp.h>
|
|
||||||
+#define err_status_t srtp_err_status_t
|
|
||||||
+#define err_status_ok srtp_err_status_ok
|
|
||||||
+#define crypto_policy_t srtp_crypto_policy_t
|
|
||||||
+#define crypto_policy_set_aes_cm_256_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80
|
|
||||||
+#define crypto_policy_set_aes_cm_128_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32
|
|
||||||
+#define crypto_policy_set_aes_cm_128_null_auth srtp_crypto_policy_set_aes_cm_128_null_auth
|
|
||||||
+#define crypto_policy_set_null_cipher_hmac_sha1_80 srtp_crypto_policy_set_null_cipher_hmac_sha1_80
|
|
||||||
+#define crypto_policy_set_aes_cm_128_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80
|
|
||||||
+#define crypto_policy_set_aes_cm_256_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32
|
|
||||||
+#define ssrc_t srtp_ssrc_t
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
||||||
Reference in a new issue