Automated with: git grep -l qttools | xargs sed 's/\bqttools\b/\0-5/g' -i git checkout NEWS
		
			
				
	
	
		
			1022 lines
		
	
	
	
		
			42 KiB
		
	
	
	
		
			Scheme
		
	
	
	
	
	
			
		
		
	
	
			1022 lines
		
	
	
	
		
			42 KiB
		
	
	
	
		
			Scheme
		
	
	
	
	
	
| ;;; GNU Guix --- Functional package management for GNU
 | |
| ;;;
 | |
| ;;; Copyright © 2020, 2021 Raghav Gururajan <raghavgururajan@disroot.org>
 | |
| ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | |
| ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | |
| ;;;
 | |
| ;;; This file is part of GNU Guix.
 | |
| ;;;
 | |
| ;;; GNU Guix is free software; you can redistribute it and/or modify it
 | |
| ;;; under the terms of the GNU General Public License as published by
 | |
| ;;; the Free Software Foundation; either version 3 of the License, or (at
 | |
| ;;; your option) any later version.
 | |
| ;;;
 | |
| ;;; GNU Guix 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 General Public License for more details.
 | |
| ;;;
 | |
| ;;; You should have received a copy of the GNU General Public License
 | |
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | |
| 
 | |
| (define-module (gnu packages linphone)
 | |
|   #:use-module (gnu packages)
 | |
|   #:use-module (gnu packages admin)
 | |
|   #:use-module (gnu packages audio)
 | |
|   #:use-module (gnu packages avahi)
 | |
|   #:use-module (gnu packages cpp)
 | |
|   #:use-module (gnu packages compression)
 | |
|   #:use-module (gnu packages crypto)
 | |
|   #:use-module (gnu packages databases)
 | |
|   #:use-module (gnu packages documentation)
 | |
|   #:use-module (gnu packages gettext)
 | |
|   #:use-module (gnu packages gl)
 | |
|   #:use-module (gnu packages glib)
 | |
|   #:use-module (gnu packages gnome)
 | |
|   #:use-module (gnu packages gnome-xyz)
 | |
|   #:use-module (gnu packages graphviz)
 | |
|   #:use-module (gnu packages gtk)
 | |
|   #:use-module (gnu packages image)
 | |
|   #:use-module (gnu packages linux)
 | |
|   #:use-module (gnu packages ncurses)
 | |
|   #:use-module (gnu packages openldap)
 | |
|   #:use-module (gnu packages perl)
 | |
|   #:use-module (gnu packages pkg-config)
 | |
|   #:use-module (gnu packages pulseaudio)
 | |
|   #:use-module (gnu packages python)
 | |
|   #:use-module (gnu packages python-xyz)
 | |
|   #:use-module (gnu packages qt)
 | |
|   #:use-module (gnu packages java)
 | |
|   #:use-module (gnu packages sqlite)
 | |
|   #:use-module (gnu packages telephony)
 | |
|   #:use-module (gnu packages tls)
 | |
|   #:use-module (gnu packages video)
 | |
|   #:use-module (gnu packages xiph)
 | |
|   #:use-module (gnu packages xml)
 | |
|   #:use-module (gnu packages xorg)
 | |
|   #:use-module ((guix licenses) #:prefix license:)
 | |
|   #:use-module (guix packages)
 | |
|   #:use-module (guix download)
 | |
|   #:use-module (guix git-download)
 | |
|   #:use-module (guix build-system cmake)
 | |
|   #:use-module (guix build-system qt)
 | |
|   #:use-module (guix build-system glib-or-gtk)
 | |
|   #:use-module (guix build-system gnu))
 | |
| 
 | |
| (define-public bcunit
 | |
|   (let ((commit "74021cc7cb20a4e177748dd2948173e1f9c270ae")
 | |
|         (revision "0"))
 | |
|     (package
 | |
|       (name "bcunit")
 | |
|       (version (git-version "3.0.2" revision commit))
 | |
|       (source
 | |
|        (origin
 | |
|          (method git-fetch)
 | |
|          (uri (git-reference
 | |
|                (url "git://git.linphone.org/bcunit")
 | |
|                (commit commit)))
 | |
|          (file-name (git-file-name name version))
 | |
|          (sha256
 | |
|           (base32 "0npdwvanjkfg9vrqs5yi8vh6wliv50ycdli8pzavir84nb31nq1b"))))
 | |
|       (build-system cmake-build-system)
 | |
|       (outputs '("out" "doc"))
 | |
|       (arguments
 | |
|        `(#:configure-flags (list "-DENABLE_STATIC=NO"
 | |
|                                  "-DENABLE_CURSES=ON"
 | |
|                                  "-DENABLE_DOC=ON"
 | |
|                                  "-DENABLE_EXAMPLES=ON"
 | |
|                                  "-DENABLE_TEST=ON"
 | |
|                                  "-DENABLE_MEMTRACE=ON")
 | |
|          #:phases
 | |
|          (modify-phases %standard-phases
 | |
|            (add-after 'unpack 'patch-source
 | |
|              (lambda _
 | |
|                ;; Include BCunit headers for examples.
 | |
|                (substitute* "Examples/CMakeLists.txt"
 | |
|                  (("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}")
 | |
|                   (string-append "${CMAKE_CURRENT_SOURCE_DIR} "
 | |
|                                  "${PROJECT_SOURCE_DIR}/BCUnit/Headers "
 | |
|                                  "${CMAKE_BINARY_DIR}/BCUnit/Headers")))
 | |
|                ;; Link bcunit and bcunit_tests libraries.
 | |
|                (substitute* "BCUnit/Sources/CMakeLists.txt"
 | |
|                  (("target_include_directories\\(bcunit_test PUBLIC Test\\)")
 | |
|                   (string-append
 | |
|                    "target_include_directories(bcunit_test PUBLIC Test)\n"
 | |
|                    "target_link_libraries(bcunit_test bcunit)")))))
 | |
|            (replace 'check
 | |
|              (lambda _
 | |
|                (with-directory-excursion "BCUnit/Sources/Test"
 | |
|                  (invoke "./test_bcunit"))))
 | |
|            (add-after 'install 'move-doc
 | |
|              (lambda* (#:key outputs #:allow-other-keys)
 | |
|                (let ((out (assoc-ref outputs "out"))
 | |
|                      (doc (assoc-ref outputs "doc")))
 | |
|                  (for-each mkdir-p
 | |
|                            `(,(string-append doc "/share/doc")
 | |
|                              ,(string-append doc "/share/BCUnit")))
 | |
|                  (rename-file
 | |
|                   (string-append out "/share/doc/BCUnit")
 | |
|                   (string-append doc "/share/doc/BCUnit"))
 | |
|                  (rename-file
 | |
|                   (string-append out "/share/BCUnit/Examples")
 | |
|                   (string-append doc "/share/BCUnit/Examples"))))))))
 | |
|       (inputs
 | |
|        (list ncurses))
 | |
|       (synopsis "Belledonne Communications Unit Testing Framework")
 | |
|       (description "BCUnit is a fork of the defunct project CUnit, with
 | |
| several fixes and patches applied.  It is a unit testing framework for
 | |
| writing, administering, and running unit tests in C.")
 | |
|       (home-page "https://gitlab.linphone.org/BC/public/bcunit")
 | |
|       (license license:lgpl2.0+))))
 | |
| 
 | |
| (define-public bctoolbox
 | |
|   (package
 | |
|     (name "bctoolbox")
 | |
|     (version "4.4.34")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "https://gitlab.linphone.org/BC/public/bctoolbox.git")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "0bfswwvvdshaahg4jd2j10f0sci8809s4khajd0m6b059zwc7y25"))))
 | |
|     (build-system cmake-build-system)
 | |
|     (outputs '("out" "debug"))
 | |
|     (arguments
 | |
|      `(#:configure-flags '("-DENABLE_STATIC=OFF")
 | |
|        #:phases
 | |
|        (modify-phases %standard-phases
 | |
|          (add-after 'unpack 'patch-cmake
 | |
|            (lambda* (#:key inputs #:allow-other-keys)
 | |
|              ;; Fix decaf dependency (see:
 | |
|              ;; https://gitlab.linphone.org/BC/public/bctoolbox/-/issues/3).
 | |
|              (let* ((decaf (assoc-ref inputs "decaf")))
 | |
|                (substitute* (find-files "." "CMakeLists.txt")
 | |
|                  (("find_package\\(Decaf CONFIG\\)")
 | |
|                   "set(DECAF_FOUND 1)")
 | |
|                  (("\\$\\{DECAF_INCLUDE_DIRS\\}")
 | |
|                   (string-append decaf "/include/decaf"))
 | |
|                  (("\\$\\{DECAF_TARGETNAME\\}")
 | |
|                   "decaf")))))
 | |
|          (add-after 'unpack 'skip-problematic-tests
 | |
|            (lambda _
 | |
|              ;; The following test relies on networking; disable it.
 | |
|              (substitute* "tester/port.c"
 | |
|                (("[ \t]*TEST_NO_TAG.*bctbx_addrinfo_sort_test\\)")
 | |
|                 ""))))
 | |
|          (add-after 'unpack 'fix-installed-resource-directory-detection
 | |
|            (lambda _
 | |
|              ;; There's some broken logic in tester.c that checks if CWD, or
 | |
|              ;; if its parent exist, and if so, sets the prefix where the test
 | |
|              ;; resources are looked up to; disable it (see:
 | |
|              ;; https://gitlab.linphone.org/BC/public/bctoolbox/-/issues/4).
 | |
|              (substitute* "src/tester.c"
 | |
|                (("if \\(file_exists\\(\".\"\\)\\)")
 | |
|                 "if (NULL)")
 | |
|                (("if \\(file_exists\\(\"..\"\\)\\)")
 | |
|                 "if (NULL)"))))
 | |
|          (replace 'check
 | |
|            (lambda _
 | |
|              (with-directory-excursion "tester"
 | |
|                (invoke "./bctoolbox_tester")))))))
 | |
|     (inputs
 | |
|      `(("bcunit" ,bcunit)
 | |
|        ("decaf" ,libdecaf)
 | |
|        ("mbedtls" ,mbedtls-apache)))
 | |
|     (synopsis "Belledonne Communications Tool Box")
 | |
|     (description "BcToolBox is an utilities library used by Belledonne
 | |
| Communications software like belle-sip, mediastreamer2 and linphone.")
 | |
|     (home-page "https://gitlab.linphone.org/BC/public/bctoolbox")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public belr
 | |
|   (package
 | |
|     (name "belr")
 | |
|     (version "4.4.34")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "https://gitlab.linphone.org/BC/public/belr.git")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "0w2canwwm0qb99whnangvaybvjzq8xg6vksqxykgr8fbx7clw03h"))))
 | |
|     (build-system cmake-build-system)
 | |
|     (outputs '("out" "debug" "tester"))
 | |
|     (arguments
 | |
|      `(#:configure-flags '("-DENABLE_STATIC=OFF")
 | |
|        #:phases
 | |
|        (modify-phases %standard-phases
 | |
|          (delete 'check)                ;moved after the install phase
 | |
|          (add-after 'install 'check
 | |
|            (lambda* (#:key outputs #:allow-other-keys)
 | |
|              (let* ((tester (assoc-ref outputs "tester"))
 | |
|                     (belr_tester (string-append tester "/bin/belr_tester"))
 | |
|                     (tester-share (string-append tester "/share/belr_tester")))
 | |
|                (invoke belr_tester))))
 | |
|          (add-after 'install 'move-tester
 | |
|            (lambda* (#:key outputs #:allow-other-keys)
 | |
|              (let* ((out (assoc-ref outputs "out"))
 | |
|                     (tester (assoc-ref outputs "tester")))
 | |
|                (for-each mkdir-p
 | |
|                          (list (string-append tester "/bin")
 | |
|                                (string-append tester "/share")))
 | |
|                (rename-file
 | |
|                 (string-append out "/bin/belr_tester")
 | |
|                 (string-append tester "/bin/belr_tester"))
 | |
|                (rename-file
 | |
|                 (string-append out "/share/belr-tester")
 | |
|                 ;; The detect_res_prefix procedure in bctoolbox's tester.c
 | |
|                 ;; resolves the resource path based on the executable path and
 | |
|                 ;; name, so have it match.
 | |
|                 (string-append tester "/share/belr_tester"))))))))
 | |
|     (inputs
 | |
|      (list bctoolbox))
 | |
|     (synopsis "Belledonne Communications Language Recognition Library")
 | |
|     (description "Belr is Belledonne Communications' language recognition
 | |
| library, written in C++11.  It parses text inputs formatted according to a
 | |
| language defined by an ABNF grammar, such as the protocols standardized at
 | |
| IETF.")
 | |
|     (home-page "https://gitlab.linphone.org/BC/public/belr")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public belcard
 | |
|   (package
 | |
|     (name "belcard")
 | |
|     (version "4.4.34")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "https://gitlab.linphone.org/BC/public/belcard.git")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "16x2xp8d0a115132zhy1kpxkyj86ia7vrsnpjdg78fnbvmvysc8m"))))
 | |
|     (build-system cmake-build-system)
 | |
|     (outputs '("out" "debug" "tester"))
 | |
|     (arguments
 | |
|      `(#:configure-flags '("-DENABLE_STATIC=OFF")
 | |
|        #:phases
 | |
|        (modify-phases %standard-phases
 | |
|          (add-after 'unpack 'patch-vcard-grammar-location
 | |
|            (lambda* (#:key outputs #:allow-other-keys)
 | |
|              (let* ((out (assoc-ref outputs "out"))
 | |
|                     (vcard-grammar
 | |
|                      (string-append out "/share/belr/grammars/vcard_grammar")))
 | |
|                (substitute* "include/belcard/vcard_grammar.hpp"
 | |
|                  (("define VCARD_GRAMMAR \"vcard_grammar\"")
 | |
|                   (format #f "define VCARD_GRAMMAR ~s" vcard-grammar))))))
 | |
|          (add-after 'install 'install-tester
 | |
|            (lambda* (#:key inputs outputs #:allow-other-keys)
 | |
|              (let ((out (assoc-ref outputs "out"))
 | |
|                    (tester (assoc-ref outputs "tester"))
 | |
|                    (test-name (string-append ,name "_tester")))
 | |
|                (for-each mkdir-p
 | |
|                          (list (string-append tester "/bin")
 | |
|                                (string-append tester "/share")))
 | |
|                (rename-file (string-append out "/bin/" test-name)
 | |
|                             (string-append tester "/bin/" test-name))
 | |
|                (rename-file (string-append out "/share/" test-name)
 | |
|                             (string-append tester "/share/" test-name)))))
 | |
|          (delete 'check)
 | |
|          (add-after 'install-tester 'check
 | |
|            (lambda* (#:key inputs outputs tests? #:allow-other-keys)
 | |
|              (when tests?
 | |
|                (let* ((tester (assoc-ref outputs "tester"))
 | |
|                       (belcard_tester (string-append tester
 | |
|                                                      "/bin/belcard_tester")))
 | |
|                  (invoke belcard_tester))))))))
 | |
|     (inputs
 | |
|      (list bctoolbox belr))
 | |
|     (synopsis "Belledonne Communications VCard Library")
 | |
|     (description "Belcard is a C++ library to manipulate VCard standard
 | |
| format.")
 | |
|     (home-page "https://gitlab.linphone.org/BC/public/belcard")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public bcmatroska2
 | |
|   (package
 | |
|     (name "bcmatroska2")
 | |
|     (version "0.23")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "https://gitlab.linphone.org/BC/public/bcmatroska2.git")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "1avl9w18kh4dxm3g8j0bkw39bksd7bz3nfxvyibqqnz63ds8vfi2"))))
 | |
|     (build-system cmake-build-system)
 | |
|     (arguments
 | |
|      `(#:tests? #f                                     ; No test target
 | |
|        #:configure-flags (list "-DENABLE_STATIC=NO"))) ; Not required
 | |
|     (synopsis "Belledonne Communications Media Container")
 | |
|     (description "BcMatroska is a free and open standard multi-media container
 | |
| format.  It can hold an unlimited number of video, audio, picture, or subtitle
 | |
| tracks in one file.  This project provides a convenient distribution of the
 | |
| Matroska multimedia container format.")
 | |
|     (home-page "https://gitlab.linphone.org/BC/public/bcmatroska2")
 | |
|     (license (list license:gpl2+        ;for this package (build system files)
 | |
|                    license:bsd-4        ;for Core C and LibEBML2
 | |
|                    license:lgpl2.1+)))) ;for LibMatroska2
 | |
| 
 | |
| (define-public bcg729
 | |
|   (package
 | |
|     (name "bcg729")
 | |
|     (version "1.1.1")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "git://git.linphone.org/bcg729")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "1hal6b3w6f8y5r1wa0xzj8sj2jjndypaxyw62q50p63garp2h739"))))
 | |
|     (build-system cmake-build-system)
 | |
|     (arguments
 | |
|      `(#:configure-flags (list "-DENABLE_STATIC=NO"
 | |
|                                "-DENABLE_TESTS=YES")
 | |
|        #:phases
 | |
|        (modify-phases %standard-phases
 | |
|          (add-before 'check 'copy-inputs
 | |
|            (lambda* (#:key inputs #:allow-other-keys)
 | |
|              (let ((test-patterns (assoc-ref inputs "test-patterns"))
 | |
|                    (dest (string-append "test/bcg729-patterns.zip")))
 | |
|                (copy-recursively test-patterns dest))))
 | |
|          (replace 'check
 | |
|            (lambda _
 | |
|              (with-directory-excursion "test"
 | |
|                (invoke "unzip" "bcg729-patterns.zip")
 | |
|                (for-each
 | |
|                 (lambda (test-name)
 | |
|                   (invoke "./testCampaign" "-s" test-name))
 | |
|                 (list "fixedCodebookSearch"
 | |
|                       "postProcessing"
 | |
|                       "adaptativeCodebookSearch"
 | |
|                       "computeLP"
 | |
|                       "computeAdaptativeCodebookGain"
 | |
|                       "postFilter"
 | |
|                       "decoder"
 | |
|                       "LPSynthesisFilter"
 | |
|                       "decodeLSP"
 | |
|                       ;; "encoder"
 | |
|                       ;; "LSPQuantization"
 | |
|                       "preProcessing"
 | |
|                       "decodeFixedCodeVector"
 | |
|                       "CNGdecoder"
 | |
|                       ;; "LP2LSPConversion"
 | |
|                       "gainQuantization"
 | |
|                       "findOpenLoopPitchDelay"
 | |
|                       "decodeGains"
 | |
|                       "computeWeightedSpeech"
 | |
|                       "interpolateqLSPAndConvert2LP"
 | |
|                       "decodeAdaptativeCodeVector"))))))))
 | |
|     (native-inputs
 | |
|      `(("perl" ,perl)
 | |
|        ("test-patterns"
 | |
|         ,(origin
 | |
|            (method url-fetch)
 | |
|            (uri (string-append "http://www.belledonne-communications.com/"
 | |
|                                "bc-downloads/bcg729-patterns.zip"))
 | |
|            (sha256
 | |
|             (base32 "1kivarhh3izrl9sg0szs6x6pbq2ap0y6xsraw0gbgspi4gnfihrh"))))
 | |
|        ("unzip" ,unzip)))
 | |
|     (synopsis "Belledonne Communications G729 Codec")
 | |
|     (description "BcG729 is an implementation of both encoder and decoder of
 | |
| the ITU G729 speech codec.  The library written in C 99 is fully portable and
 | |
| can be executed on many platforms including both ARM and x86 processors.  It
 | |
| supports concurrent channels encoding and decoding for multi call application
 | |
| such as conferencing.")
 | |
|     (home-page "https://linphone.org/technical-corner/bcg729")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public ortp
 | |
|   (package
 | |
|     (name "ortp")
 | |
|     (version "4.4.34")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "https://gitlab.linphone.org/BC/public/ortp.git")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "1r1kvjzyfvkf66in4p51wi87balzg3sw3aq6r4xr609mz86spi5m"))))
 | |
|     (build-system cmake-build-system)
 | |
|     (outputs '("out""tester"
 | |
|                "doc"))                  ;1.5 MiB of HTML doc
 | |
|     (arguments
 | |
|      `(#:tests? #f                      ;requires networking
 | |
|        #:configure-flags (list "-DENABLE_STATIC=NO"
 | |
|                                "-DENABLE_TESTS=YES")
 | |
|        #: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 [0-9]+\\.[0-9]+\\.[0-9]+")
 | |
|                 (string-append "VERSION " ,version))
 | |
|                (("\\$\\{ORTP_DOC_VERSION\\}")
 | |
|                 ,version))))
 | |
|          (add-after 'install 'separate-outputs
 | |
|            (lambda* (#:key outputs #:allow-other-keys)
 | |
|              (let* ((out (assoc-ref outputs "out"))
 | |
|                     (doc (assoc-ref outputs "doc"))
 | |
|                     (doc-src (string-append out "/share/doc/ortp-" ,version))
 | |
|                     (doc-dest (string-append doc "/share/doc/ortp-" ,version))
 | |
|                     (tester (assoc-ref outputs "tester")))
 | |
|                (for-each mkdir-p (list (string-append doc "/share/doc")
 | |
|                                        (string-append tester "/bin")))
 | |
|                (rename-file doc-src doc-dest)
 | |
|                (rename-file (string-append out "/bin")
 | |
|                             (string-append tester "/bin"))))))))
 | |
|     (native-inputs
 | |
|      `(("dot" ,graphviz)
 | |
|        ("doxygen" ,doxygen)))
 | |
|     (inputs
 | |
|      (list bctoolbox))
 | |
|     (synopsis "Belledonne Communications RTP Library")
 | |
|     (description "oRTP is a C library implementing the RTP protocol.  It
 | |
| implements the RFC 3550 standard.")
 | |
|     (home-page "https://linphone.org/technical-corner/ortp")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public bzrtp
 | |
|   (package
 | |
|     (name "bzrtp")
 | |
|     (version "4.4.34")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "https://gitlab.linphone.org/BC/public/bzrtp")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "1yjmsbqmymzl4r7sba6w4a2yld8m6hzafr6jf7sj0syhwpnc3zv6"))))
 | |
|     (build-system cmake-build-system)
 | |
|     (arguments
 | |
|      `(#:configure-flags
 | |
|        (list
 | |
|         "-DENABLE_STATIC=NO"
 | |
|         "-DENABLE_TESTS=YES")))
 | |
|     (inputs
 | |
|      `(("bctoolbox" ,bctoolbox)
 | |
|        ("sqlite3" ,sqlite)
 | |
|        ("xml2" ,libxml2)))
 | |
|     (synopsis "Belledonne Communications ZRTP Library")
 | |
|     (description "BZRTP is an implementation of ZRTP keys exchange protocol,
 | |
| written in C.  It is fully portable and can be executed on many platforms
 | |
| including both ARM and x86.")
 | |
|     (home-page "https://gitlab.linphone.org/BC/public/bzrtp")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public belle-sip
 | |
|   (package
 | |
|     (name "belle-sip")
 | |
|     (version "4.4.34")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "https://gitlab.linphone.org/BC/public/belle-sip.git")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "1kknnlczq7dpqaj1dwxvy092dzrqjy11ndkv90rqwmdryigkjk6z"))))
 | |
|     (build-system cmake-build-system)
 | |
|     (outputs '("out" "tester"))
 | |
|     (arguments
 | |
|      `(#:configure-flags (list "-DENABLE_STATIC=NO"
 | |
|                                "-DENABLE_MDNS=ON")
 | |
|        #:phases
 | |
|        (modify-phases %standard-phases
 | |
|          (add-after 'unpack 'patch
 | |
|            (lambda* (#:key inputs #:allow-other-keys)
 | |
|              ;; Fix mDNS dependency.
 | |
|              (let* ((avahi (assoc-ref inputs "avahi")))
 | |
|                (substitute* (find-files "." "CMakeLists.txt")
 | |
|                  (("find_package\\(DNSSD REQUIRED\\)")
 | |
|                   "set(DNSSD_FOUND 1)")
 | |
|                  (("\\$\\{DNSSD_INCLUDE_DIRS\\}")
 | |
|                   (string-append avahi "/include/avahi-compat-libdns_sd"))
 | |
|                  (("\\$\\{DNSSD_LIBRARIES\\}")
 | |
|                   "dns_sd")))
 | |
|              (substitute* "src/CMakeLists.txt"
 | |
|                ;; ANTLR would use multithreaded DFA generation otherwise,
 | |
|                ;; which would not be reproducible.
 | |
|                (("-Xmultithreaded ") ""))))
 | |
|          (delete 'check)                ;move after install
 | |
|          (add-after 'install 'separate-outputs
 | |
|            (lambda* (#:key outputs #:allow-other-keys)
 | |
|              (let* ((out (assoc-ref outputs "out"))
 | |
|                     (tester (assoc-ref outputs "tester"))
 | |
|                     (tester-name "belle_sip_tester"))
 | |
|                (for-each mkdir-p (list (string-append tester "/bin")
 | |
|                                        (string-append tester "/share")))
 | |
|                (rename-file (string-append out "/bin")
 | |
|                             (string-append tester "/bin"))
 | |
|                (rename-file (string-append out "/share/" tester-name)
 | |
|                             (string-append tester "/share/" tester-name)))))
 | |
|          (add-after 'separate-outputs 'check
 | |
|            (lambda* (#:key outputs #:allow-other-keys)
 | |
|              (let ((tester (string-append (assoc-ref outputs "tester")
 | |
|                                           "/bin/belle_sip_tester")))
 | |
|                (for-each (lambda (suite-name)
 | |
|                            (invoke tester "--suite" suite-name))
 | |
|                          (list "Object inheritance"
 | |
|                                "SIP URI"
 | |
|                                "FAST SIP URI"
 | |
|                                "FAST SIP URI 2"
 | |
|                                "Generic uri"
 | |
|                                "Headers"
 | |
|                                "Core"
 | |
|                                "SDP"
 | |
|                                ;;"Resolver"
 | |
|                                "Message"
 | |
|                                "Authentication helper"
 | |
|                                ;;"Register"
 | |
|                                ;;"Dialog"
 | |
|                                "Refresher"
 | |
|                                ;;"HTTP stack"
 | |
|                                "Object"))))))))
 | |
|     (inputs
 | |
|      (list avahi bctoolbox zlib))
 | |
|     (synopsis "Belledonne Communications SIP Library")
 | |
|     (description "Belle-sip is a modern library implementing SIP transport,
 | |
| transaction and dialog layers.  It is written in C, with an object-oriented
 | |
| API.  It also comprises a simple HTTP/HTTPS client implementation.")
 | |
|     (home-page "https://linphone.org/technical-corner/belle-sip")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public mediastreamer2
 | |
|   (package
 | |
|     (name "mediastreamer2")
 | |
|     (version "4.4.34")
 | |
|     (source
 | |
|      (origin
 | |
|        (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 "0989h3d0h7qrx4kjx8gg09j8c5hvvi3h8qi1iq1dqbppwbaxbz8c"))))
 | |
|     (outputs '("out" "doc" "tester"))
 | |
|     (build-system cmake-build-system)
 | |
|     (arguments
 | |
|      `(#:configure-flags (list "-DENABLE_STATIC=NO"
 | |
|                                "-DENABLE_PCAP=YES"
 | |
|                                ;; Do not fail on compile warnings.
 | |
|                                "-DENABLE_STRICT=NO"
 | |
|                                "-DENABLE_PORTAUDIO=YES"
 | |
|                                "-DENABLE_G729B_CNG=YES")
 | |
|        #: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 'unpack 'patch-source
 | |
|            (lambda _
 | |
|              (substitute* "src/otherfilters/mspcapfileplayer.c"
 | |
|                (("O_BINARY") "L_INCR"))))
 | |
|          (add-before 'check 'pre-check
 | |
|            (lambda _
 | |
|              ;; Tests require a running X server.
 | |
|              (system "Xvfb :1 +extension GLX &")
 | |
|              (setenv "DISPLAY" ":1")
 | |
|              ;; Tests write to $HOME.
 | |
|              (setenv "HOME" (getenv "TEMP"))))
 | |
|          (delete 'check)                ;move after install
 | |
|          (add-after 'install 'separate-outputs
 | |
|            (lambda* (#:key outputs #:allow-other-keys)
 | |
|              (let* ((out (assoc-ref outputs "out"))
 | |
|                     (tester (assoc-ref outputs "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")))
 | |
|                ;; Move the tester executable.
 | |
|                (rename-file (string-append out "/bin/" tester-name)
 | |
|                             (string-append tester "/bin/" tester-name))
 | |
|                ;; Move the tester data files.
 | |
|                (rename-file (string-append out "/share/" tester-name)
 | |
|                             (string-append tester "/share/" tester-name))
 | |
|                ;; Move the HTML documentation.
 | |
|                (rename-file (string-append out "/share/doc/" doc-name)
 | |
|                             (string-append doc "/share/doc/" doc-name)))))
 | |
|          (add-after 'separate-outputs 'check
 | |
|            (lambda* (#:key outputs #:allow-other-keys)
 | |
|              (let ((tester (string-append  (assoc-ref outputs "tester")
 | |
|                                            "/bin/mediastreamer2_tester")))
 | |
|                (for-each (lambda (suite-name)
 | |
|                            (invoke tester "--suite" suite-name))
 | |
|                          ;; Some tests fail, due to requiring access to the
 | |
|                          ;; sound card or the network.
 | |
|                            (list "Basic Audio"
 | |
|                                  ;; "Sound Card"
 | |
|                                  ;; "AdaptiveAlgorithm"
 | |
|                                  ;; "AudioStream"
 | |
|                                  ;; "VideoStream"
 | |
|                                  "H26x Tools"
 | |
|                                  "Framework"
 | |
|                                  ;; "Player"
 | |
|                                  "TextStream"))))))))
 | |
|     (native-inputs
 | |
|      `(("dot" ,graphviz)
 | |
|        ("doxygen" ,doxygen)
 | |
|        ("python" ,python-wrapper)
 | |
|        ("xorg-server" ,xorg-server-for-tests)))
 | |
|     (inputs
 | |
|      `(("alsa" ,alsa-lib)
 | |
|        ("bcg729" ,bcg729)
 | |
|        ("bcmatroska2" ,bcmatroska2)
 | |
|        ("bctoolbox" ,bctoolbox)
 | |
|        ("ffmpeg" ,ffmpeg)
 | |
|        ("glew" ,glew)
 | |
|        ("glu" ,glu)
 | |
|        ("glx" ,mesa-utils)
 | |
|        ("gsm" ,gsm)
 | |
|        ("opengl" ,mesa)
 | |
|        ("opus" ,opus)
 | |
|        ("ortp" ,ortp)
 | |
|        ("pcap" ,libpcap)
 | |
|        ("portaudio" ,portaudio)
 | |
|        ("pulseaudio" ,pulseaudio)
 | |
|        ("spandsp" ,spandsp)
 | |
|        ("speex" ,speex)
 | |
|        ("speexdsp" ,speexdsp)
 | |
|        ("srtp" ,libsrtp)
 | |
|        ("theora" ,libtheora)
 | |
|        ("turbojpeg" ,libjpeg-turbo)
 | |
|        ("v4l" ,v4l-utils)
 | |
|        ("vpx" ,libvpx)
 | |
|        ("x11" ,libx11)
 | |
|        ("xv" ,libxv)
 | |
|        ("zrtp" ,bzrtp)))
 | |
|     (synopsis "Belledonne Communications Streaming Engine")
 | |
|     (description "Mediastreamer2 is a powerful and lightweight streaming engine
 | |
| 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://linphone.org/technical-corner/mediastreamer2")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public lime
 | |
|   (package
 | |
|     (name "lime")
 | |
|     (version "4.4.34")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "https://gitlab.linphone.org/BC/public/lime.git")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "14jg1zisjbzflw3scfqdbwy48wq3cp93l867vigb8l40lkc6n26z"))))
 | |
|     (build-system cmake-build-system)
 | |
|     (outputs '("out" "doc"))
 | |
|     (arguments
 | |
|      `(#:configure-flags (list "-DENABLE_STATIC=NO"
 | |
|                                "-DENABLE_C_INTERFACE=YES")
 | |
|        #:phases
 | |
|        (modify-phases %standard-phases
 | |
|          (add-after 'unpack 'patch-source
 | |
|            (lambda _
 | |
|              ;; Disable tests that require networking.
 | |
|              (substitute* "tester/CMakeLists.txt"
 | |
|                (("add_test\\(?.*\"Hello World\"\\)") "")
 | |
|                (("add_test\\(?.*\"lime\"\\)") "")
 | |
|                (("add_test\\(?.*\"FFI\"\\)") ""))))
 | |
|          (add-after 'build 'build-doc
 | |
|            (lambda _
 | |
|              (invoke "make" "doc")))
 | |
|          (add-after 'install 'install-doc
 | |
|            (lambda* (#:key outputs #:allow-other-keys)
 | |
|              (let* ((doc (assoc-ref outputs "doc"))
 | |
|                     (dir (string-append doc "/share/doc"))
 | |
|                     (dest (string-append dir "/" ,name "-" ,version)))
 | |
|                (mkdir-p dest)
 | |
|                (copy-recursively "doc" dest)))))))
 | |
|     (native-inputs
 | |
|      `(("dot" ,graphviz)
 | |
|        ("doxygen" ,doxygen)))
 | |
|     (inputs
 | |
|      (list bctoolbox belle-sip soci))
 | |
|     (synopsis "Belledonne Communications Encryption Library")
 | |
|     (description "LIME is an encryption library for one-to-one and group
 | |
| instant messaging, allowing users to exchange messages privately and
 | |
| asynchronously.  It supports multiple devices per user and multiple users per
 | |
| device.")
 | |
|     (home-page "https://linphone.org/technical-corner/lime")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public liblinphone
 | |
|   (package
 | |
|     (name "liblinphone")
 | |
|     (version "4.4.34")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "https://gitlab.linphone.org/BC/public/liblinphone.git")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "1lwabr93jw24y04pdqnw9dgg8jb3lzfplyx19f83jgp9dj8kmfq9"))))
 | |
|     (outputs '("out" "tester"))
 | |
|     (build-system cmake-build-system)
 | |
|     (arguments
 | |
|      `(#:tests? #f                      ; Tests require networking
 | |
|        #:configure-flags (list "-DENABLE_STATIC=NO"
 | |
|                                "-DENABLE_DOC=NO" ;requires unpackaged javasphinx
 | |
|                                "-DENABLE_LDAP=YES")
 | |
|        #:phases
 | |
|        (modify-phases %standard-phases
 | |
|          (add-after 'install 'separate-outputs
 | |
|            (lambda* (#:key outputs #:allow-other-keys)
 | |
|              (let* ((out (assoc-ref outputs "out"))
 | |
|                     (tester (assoc-ref outputs "tester"))
 | |
|                     (tester-name (string-append ,name "_tester")))
 | |
|                (for-each mkdir-p
 | |
|                          (list (string-append tester "/bin")
 | |
|                                (string-append tester "/share")))
 | |
|                (rename-file (string-append out "/bin/" tester-name)
 | |
|                             (string-append tester "/bin/" tester-name))
 | |
|                (rename-file (string-append out "/bin/groupchat_benchmark")
 | |
|                             (string-append tester "/bin/groupchat_benchmark"))
 | |
|                (rename-file (string-append out "/share/" tester-name)
 | |
|                             (string-append tester "/share/" tester-name))))))))
 | |
|     (native-inputs
 | |
|      (list graphviz
 | |
|            doxygen
 | |
|            gettext-minimal
 | |
|            perl
 | |
|            python-wrapper
 | |
|            python-pystache
 | |
|            python-six
 | |
|            eudev))
 | |
|     (inputs
 | |
|      (list bctoolbox
 | |
|            belcard
 | |
|            belle-sip
 | |
|            belr
 | |
|            bzrtp
 | |
|            openldap
 | |
|            xsd
 | |
|            lime
 | |
|            mediastreamer2
 | |
|            libnotify
 | |
|            ortp
 | |
|            soci
 | |
|            sqlite
 | |
|            libxml2
 | |
|            zlib))
 | |
|     (synopsis "Belledonne Communications Softphone Library")
 | |
|     (description "Liblinphone is a high-level SIP library integrating
 | |
| all calling and instant messaging features into an unified
 | |
| easy-to-use API.  It is the cross-platform VoIP library on which the
 | |
| Linphone application is based on, and that anyone can use to add audio
 | |
| and video calls or instant messaging capabilities to an application.")
 | |
|     (home-page "https://linphone.org/technical-corner/liblinphone")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public linphone-desktop
 | |
|   (package
 | |
|     (name "linphone-desktop")
 | |
|     (version "4.2.5")
 | |
|     (source
 | |
|      (origin
 | |
|        (method git-fetch)
 | |
|        (uri (git-reference
 | |
|              (url "https://gitlab.linphone.org/BC/public/linphone-desktop")
 | |
|              (commit version)))
 | |
|        (file-name (git-file-name name version))
 | |
|        (sha256
 | |
|         (base32 "1gq4l9p21rbrcksa7fbkzn9fzbbynqmn6ni6lhnvzk359sb1xvbz"))
 | |
|        (patches (search-patches "linphone-desktop-without-sdk.patch"))))
 | |
|     (build-system qt-build-system)
 | |
|     (outputs '("out" "debug"))
 | |
|     (arguments
 | |
|      `(#:tests? #f                      ; No test target
 | |
|        #:configure-flags (list "-DENABLE_UPDATE_CHECK=NO"
 | |
|                                "-DENABLE_DAEMON=YES"
 | |
|                                "-DENABLE_CONSOLE_UI=YES")
 | |
|        #:phases
 | |
|        (modify-phases %standard-phases
 | |
|          (add-after 'unpack 'pre-configure
 | |
|            (lambda _
 | |
|              (make-file-writable "linphone-app/linphoneqt_version.cmake")
 | |
|              (substitute* "linphone-app/linphoneqt_version.cmake"
 | |
|                (("\\$\\{GUIX-SET-VERSION\\}") ,version))))
 | |
|          (add-after 'install 'post-install
 | |
|            (lambda* (#:key inputs outputs #:allow-other-keys)
 | |
|              (let* ((out (assoc-ref outputs "out"))
 | |
|                     (liblinphone (assoc-ref inputs "liblinphone"))
 | |
|                     (grammar-dest (string-append out "/share/belr/grammars")))
 | |
|                ;; Remove unnecessary Qt configuration file.
 | |
|                (delete-file (string-append out "/bin/qt.conf"))
 | |
|                ;; Not using the FHS exposes an issue where the client
 | |
|                ;; refers to its own directories, which lacks files
 | |
|                ;; installed by the dependencies.
 | |
|                (symlink (string-append liblinphone "/lib")
 | |
|                         (string-append out "/lib"))
 | |
|                (symlink (string-append liblinphone "/share/sounds")
 | |
|                         (string-append out "/share/sounds"))
 | |
|                (symlink (string-append liblinphone "/share/linphone/rootca.pem")
 | |
|                         (string-append out "/share/linphone/rootca.pem"))
 | |
|                (mkdir-p (dirname grammar-dest))
 | |
|                (symlink (string-append liblinphone "/share/belr/grammars")
 | |
|                         grammar-dest)))))))
 | |
|     (native-inputs
 | |
|      (list pkg-config qttools-5))
 | |
|     (inputs
 | |
|      (list bctoolbox
 | |
|            belcard
 | |
|            belr
 | |
|            liblinphone
 | |
|            mediastreamer2
 | |
|            ortp
 | |
|            qtbase-5
 | |
|            qtdeclarative-5
 | |
|            qtgraphicaleffects
 | |
|            qtquickcontrols-5
 | |
|            qtquickcontrols2-5
 | |
|            qtsvg-5))
 | |
|     (synopsis "Desktop client for the Linphone SIP softphone")
 | |
|     (description "Linphone is a SIP softphone for voice and video over IP calling
 | |
| (VoIP) and instant messaging.  Amongst its features are:
 | |
| @itemize
 | |
| @item High Definition (HD) audio and video calls
 | |
| @item Multiple call management (pause and resume)
 | |
| @item Call transfer
 | |
| @item Audio conferencing (merge calls into a conference call)
 | |
| @item Call recording and replay (audio only)
 | |
| @item Instant Messaging with message delivery status (IMDN)
 | |
| @item Picture and file sharing
 | |
| @item Echo cancellation
 | |
| @item Secure user authentication using TLS client certificates
 | |
| @item SRTP, zRTP and SRTP-DTLS voice and video encryption
 | |
| @item Telephone tone (DTMF) support using SIP INFO or RFC 4733
 | |
| @item Audio codecs: opus, speex, g711, g729, gsm, iLBC, g722, SILK, etc.
 | |
| @item Video codecs: VP8, H.264 and H.265 with resolutions up to 1080P, MPEG4
 | |
| @end itemize")
 | |
|     (home-page "https://linphone.org/technical-corner/linphone")
 | |
|     (license license:gpl3+)))
 | |
| 
 | |
| (define-public linphoneqt
 | |
|   (deprecated-package "linphoneqt" linphone-desktop))
 | |
| 
 | |
| (define-public msopenh264
 | |
|   (let ((commit "88697cc95140017760d6da408cb0efdc5e86e40a")
 | |
|         (revision "0"))
 | |
|     (package
 | |
|       (name "msopenh264")
 | |
|       (version (git-version "1.2.1" revision commit))
 | |
|       (source
 | |
|        (origin
 | |
|          (method git-fetch)
 | |
|          (uri (git-reference
 | |
|                (url "https://gitlab.linphone.org/BC/public/msopenh264.git")
 | |
|                (commit commit)))
 | |
|          (file-name (git-file-name name version))
 | |
|          (sha256
 | |
|           (base32 "10y3b6s934f2wbsf60b3p0g6hffizjqrj5in8l4sida2fjdxlwwy"))))
 | |
|       (build-system cmake-build-system)
 | |
|       (arguments
 | |
|        `(#:tests? #f                    ; No test target
 | |
|          #:configure-flags
 | |
|          (list "-DENABLE_STATIC=NO")))  ; Not required
 | |
|       (inputs
 | |
|        (list bctoolbox mediastreamer2 openh264 ortp))
 | |
|       (synopsis "Media Streamer H.264 Codec")
 | |
|       (description "MsOpenH264 is an  H.264 encoder/decoder plugin for
 | |
|  mediastreamer2 based on the openh264 library.")
 | |
|       (home-page "https://gitlab.linphone.org/BC/public/msopenh264")
 | |
|       (license license:gpl2+))))
 | |
| 
 | |
| (define-public mssilk
 | |
|   (let ((commit "dd0f31ee795faa7ea89e601b072dae4cd1df7e3f")
 | |
|         (revision "0"))
 | |
|     (package
 | |
|       (name "mssilk")
 | |
|       (version (git-version "1.1.1" revision commit))
 | |
|       (source
 | |
|        (origin
 | |
|          (method git-fetch)
 | |
|          (uri (git-reference
 | |
|                (url "https://gitlab.linphone.org/BC/public/mssilk.git")
 | |
|                (commit commit)))
 | |
|          (file-name (git-file-name name version))
 | |
|          (sha256
 | |
|           (base32 "1dann5fnzqp6wjlwc6bl2k9b6rvn6bznqb3qsi1kgv9dnq44cbr0"))))
 | |
|       (build-system cmake-build-system)
 | |
|       (arguments
 | |
|        `(#:tests? #f                    ; No test target
 | |
|          #:configure-flags
 | |
|          (list "-DENABLE_STATIC=NO")))  ; Not required
 | |
|       (inputs
 | |
|        (list bctoolbox mediastreamer2 ortp))
 | |
|       (synopsis "Media Streamer SILK Codec")
 | |
|       (description "MSSILK is a plugin of MediaStreamer, adding support for AMR
 | |
| codec.  It is based on the Skype's SILK implementation.")
 | |
|       (home-page "https://gitlab.linphone.org/BC/public/mssilk")
 | |
|       (license license:gpl2+))))
 | |
| 
 | |
| (define-public mswebrtc
 | |
|   (let ((commit "946ca706733f36a6b4923f04e569531125462d1d")
 | |
|         (revision "0"))
 | |
|     (package
 | |
|       (name "mswebrtc")
 | |
|       (version (git-version "1.1.1" revision commit))
 | |
|       (source
 | |
|        (origin
 | |
|          (method git-fetch)
 | |
|          (uri (git-reference
 | |
|                (url "https://gitlab.linphone.org/BC/public/mswebrtc")
 | |
|                (commit commit)))
 | |
|          (file-name (git-file-name name version))
 | |
|          (sha256
 | |
|           (base32 "1pfg9m6bpbv0f53nx72rdxhlyriax9pg4yj0gpwq8ha6lqnpwg1x"))))
 | |
|       (build-system cmake-build-system)
 | |
|       (arguments
 | |
|        `(#:tests? #f                    ; No test target
 | |
|          #:configure-flags
 | |
|          (list
 | |
|           "-DENABLE_STATIC=NO")
 | |
|          #:phases
 | |
|          (modify-phases %standard-phases
 | |
|            (add-after 'unpack 'copy-inputs
 | |
|              (lambda* (#:key inputs outputs #:allow-other-keys)
 | |
|                (let* ((webrtc-from (assoc-ref inputs "webrtc"))
 | |
|                       (webrtc-to (string-append (getcwd) "/webrtc")))
 | |
|                  (copy-recursively webrtc-from webrtc-to))
 | |
|                #t)))))
 | |
|       (native-inputs
 | |
|        `(("webrtc"
 | |
|           ,(origin
 | |
|              (method git-fetch)
 | |
|              (uri
 | |
|               (git-reference
 | |
|                (url "https://gitlab.linphone.org/BC/public/external/webrtc")
 | |
|                (commit "583acd27665cfadef8ab03eb85a768d308bd29dd")))
 | |
|              (file-name
 | |
|               (git-file-name "webrtc-for-mswebrtc" version))
 | |
|              (sha256
 | |
|               (base32
 | |
|                "1maqychrgwy0z4zypa03qp726l2finw64z6cymdzhd58ql3p1lvm"))))
 | |
|          ("python" ,python-wrapper)))
 | |
|       (inputs
 | |
|        (list bctoolbox mediastreamer2 ortp))
 | |
|       (synopsis "Media Streamer WebRTC Codec")
 | |
|       (description "MSWebRTC is a plugin of MediaStreamer, adding support for
 | |
| WebRTC codec.  It includes features from WebRTC, such as, iSAC and AECM.")
 | |
|       (home-page "https://gitlab.linphone.org/BC/public/mswebrtc")
 | |
|       (license license:gpl2+))))
 | |
| 
 | |
| (define-public msamr
 | |
|   (let ((commit "5ab5c098299107048dfcbfc741f7392faef167bd")
 | |
|         (revision "0"))
 | |
|     (package
 | |
|       (name "msamr")
 | |
|       (version (git-version "1.1.3" revision commit))
 | |
|       (source
 | |
|        (origin
 | |
|          (method git-fetch)
 | |
|          (uri (git-reference
 | |
|                (url "https://gitlab.linphone.org/BC/public/msamr")
 | |
|                (commit commit)))
 | |
|          (file-name (git-file-name name version))
 | |
|          (sha256
 | |
|           (base32 "1g79lw1qi1mlw3v1b0cixmqiwjql81gz9naakb15n8pvaag9aaqm"))))
 | |
|       (build-system cmake-build-system)
 | |
|       (arguments
 | |
|        `(#:tests? #f                    ; No test target
 | |
|          #:configure-flags
 | |
|          (list "-DENABLE_STATIC=NO"     ; Not required
 | |
|                "-DENABLE_WIDEBAND=YES")))
 | |
|       (inputs
 | |
|        `(("bctoolbox" ,bctoolbox)
 | |
|          ("mediastreamer2" ,mediastreamer2)
 | |
|          ("opencoreamr" ,opencore-amr)
 | |
|          ("ortp" ,ortp)
 | |
|          ("voamrwbenc" ,vo-amrwbenc)))
 | |
|       (synopsis "Media Streamer AMR Codec")
 | |
|       (description "MSAMR is a plugin of MediaStreamer, adding support for AMR
 | |
| codec.  It is based on the opencore-amr implementation.")
 | |
|       (home-page "https://gitlab.linphone.org/BC/public/msamr")
 | |
|       (license license:gpl3+))))
 |