From 5e823993cc46d6d80a3be140b82c8449b499d6c3 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Tue, 16 Mar 2021 15:51:11 -0400 Subject: [PATCH 30/50] 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. [outputs]: Rename "tester" to "test". [arguments]<#:configure-flags>[-DENABLE_STRICT]: Remove flag. [-DENABLE_BV16]: Remove flag. [-DCMAKE_C_FLAGS]: Remove flag. [-DCMAKE_CXX_FLAGS]: Remove flag. <#:phases>['separate-outputs]: Modify. [native-inputs]: Replace python with python-wrapper. * gnu/packages/patches/mediastreamer2-srtp2.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/linphone.scm | 62 ++++--- .../patches/mediastreamer2-srtp2.patch | 155 ------------------ 3 files changed, 28 insertions(+), 190 deletions(-) delete mode 100644 gnu/packages/patches/mediastreamer2-srtp2.patch diff --git a/gnu/local.mk b/gnu/local.mk index a68981e48d..2f8ffeed3c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1360,7 +1360,6 @@ dist_patch_DATA = \ %D%/packages/patches/mcrypt-CVE-2012-4527.patch \ %D%/packages/patches/libmemcached-build-with-gcc7.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/mescc-tools-boot.patch \ %D%/packages/patches/meson-for-build-rpath.patch \ diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index e573e71932..025fd90c46 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -569,56 +569,50 @@ API. It also comprises a simple HTTP/HTTPS client implementation.") (define-public mediastreamer2 (package (name "mediastreamer2") - (version "2.16.1") + (version "4.4.34") (source (origin - (method url-fetch) - (uri - (string-append "https://www.linphone.org/releases/sources/" - "mediastreamer/mediastreamer-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "git://git.linphone.org/mediastreamer2") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k")) - (patches (search-patches "mediastreamer2-srtp2.patch")))) - (outputs '("out" "doc" "tester")) + (base32 "0989h3d0h7qrx4kjx8gg09j8c5hvvi3h8qi1iq1dqbppwbaxbz8c")))) + (outputs '("out" "doc" "test")) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test target #:configure-flags - (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\\\"") + (list + "-DENABLE_STATIC=NO") #:phases (modify-phases %standard-phases (add-after 'install 'separate-outputs (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (test (assoc-ref outputs "test")) + (test-name (string-append ,name "_tester")) (doc (assoc-ref outputs "doc")) - (tester (assoc-ref outputs "tester")) - (tester-name (string-append ,name "_tester"))) - ;; Copy the tester executable. - (mkdir-p (string-append tester "/bin")) - (rename-file (string-append out "/bin/" tester-name) - (string-append tester "/bin/" tester-name)) - ;; Copy the tester data files. - (copy-recursively (string-append out "/share/" tester-name) - (string-append tester "/share/" tester-name)) - (delete-file-recursively (string-append out "/share/" - tester-name)) - ;; Copy the HTML documentation. - (copy-recursively (string-append out "/share/doc/" - ,name "-" ,version "/html") - (string-append doc "/share/doc/" - ,name "-" ,version "/html")) - (delete-file-recursively (string-append out "/share/doc/" - ,name "-" ,version - "/html")) - #t)))))) + (doc-name (string-append ,name "-4.4.0"))) + (for-each mkdir-p + `(,(string-append test "/bin") + ,(string-append test "/share") + ,(string-append doc "/share/doc"))) + (rename-file + (string-append out "/bin/" test-name) + (string-append test "/bin/" test-name)) + (rename-file + (string-append out "/share/" test-name) + (string-append test "/share/" test-name)) + (rename-file + (string-append out "/share/doc/" doc-name) + (string-append doc "/share/doc/" doc-name))) + #t))))) (native-inputs `(("dot" ,graphviz) ("doxygen" ,doxygen) - ("python" ,python))) + ("python" ,python-wrapper))) (inputs `(("alsa" ,alsa-lib) ("bcg729" ,bcg729) diff --git a/gnu/packages/patches/mediastreamer2-srtp2.patch b/gnu/packages/patches/mediastreamer2-srtp2.patch deleted file mode 100644 index f6d494facb..0000000000 --- a/gnu/packages/patches/mediastreamer2-srtp2.patch +++ /dev/null @@ -1,155 +0,0 @@ -From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001 -From: Danmei Chen -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 --#else --#include --#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 -+#elif SRTP_VERSION==1 -+#include -+#else -+#include -+#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 - -- 2.31.0