diff --git a/gnu/local.mk b/gnu/local.mk index d131dc0388..2194e46f5d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1397,7 +1397,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 370748220a..129b6764e5 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -417,9 +417,10 @@ (define-public ortp #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-version-strings + ;; See: https://gitlab.linphone.org/BC/public/ortp/-/issues/5. (lambda _ (substitute* "CMakeLists.txt" - (("VERSION 4.4.0") + (("VERSION [0-9]+\\.[0-9]+\\.[0-9]+") (string-append "VERSION " ,version)) (("\\$\\{ORTP_DOC_VERSION\\}") ,version)))) @@ -518,56 +519,52 @@ (define-public belle-sip (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 "https://gitlab.linphone.org/BC/public/mediastreamer2.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k")) - (patches (search-patches "mediastreamer2-srtp2.patch")))) + (base32 "0989h3d0h7qrx4kjx8gg09j8c5hvvi3h8qi1iq1dqbppwbaxbz8c")))) (outputs '("out" "doc" "tester")) (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\\\"") + #:configure-flags (list "-DENABLE_STATIC=NO") #: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 (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc")) (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. - (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)) + (rename-file (string-append out "/share/" tester-name) + (string-append tester "/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)))))) + (rename-file (string-append out "/share/doc/" doc-name) + (string-append doc "/share/doc/" doc-name)))))))) (native-inputs `(("dot" ,graphviz) ("doxygen" ,doxygen) - ("python" ,python))) + ("python" ,python-wrapper))) (inputs `(("alsa" ,alsa-lib) ("bcg729" ,bcg729) @@ -600,8 +597,8 @@ (define-public mediastreamer2 for telephony applications. This media processing and streaming toolkit is responsible for receiving and sending all multimedia streams in Linphone, including media capture, encoding and decoding, and rendering.") - (home-page "https://gitlab.linphone.org/BC/public/mediastreamer2") - (license license:gpl2+))) + (home-page "https://linphone.org/technical-corner/mediastreamer2") + (license license:gpl3+))) (define-public liblinphone (package 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 -