;;; GNU Guix --- Functional package management for GNU
;;;
-;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
-;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; 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.
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages audio)
+ #:use-module (gnu packages avahi)
#:use-module (gnu packages base)
+ #: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 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 (guix build-system gnu))
(define-public bcunit
- (package
- (name "bcunit")
- (version "3.0.2")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/" name
- "/" name "-" version ".tar.gz"))
- (sha256
- (base32 "0ylchj8w98ic2fkqpxc6yk4s6s0h0ql2zsz5n49jd7126m4h8dqk"))))
- (build-system cmake-build-system)
- (arguments
- '(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=NO"))) ; Not required
- (synopsis "Belledonne Communications Unit Testing Framework")
- (description "BCUnit is a fork of the defunct project CUnit, with several
-fixes and patches applied. It is an 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+)))
+ (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
+ `(("ncurses" ,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 "0.6.0")
+ (version "4.4.34")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/" name
- "/" name "-" version ".tar.gz"))
+ (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 "1a1i70pb4hhnykkwyhhc7fv67q556l8kprny8xzgfqpj1nby2ms6"))))
+ (base32 "0bfswwvvdshaahg4jd2j10f0sci8809s4khajd0m6b059zwc7y25"))))
(build-system cmake-build-system)
+ (outputs '("out" "debug"))
(arguments
- '(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=OFF"))) ; Not required
+ `(#: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:gpl2+)))
+ (license license:gpl3+)))
(define-public belr
(package
(name "belr")
- (version "0.1.3")
+ (version "4.4.34")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/" name
- "/" name "-" version ".tar.gz"))
+ (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 "1fwv2cg3qy9vdc7dimcda7nqcqc1h2cdd7ikhk7ng7q4ys8m96c1"))))
+ (base32 "0w2canwwm0qb99whnangvaybvjzq8xg6vksqxykgr8fbx7clw03h"))))
(build-system cmake-build-system)
+ (outputs '("out" "debug" "tester"))
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=OFF"))) ; Not required
+ `(#: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
`(("bctoolbox" ,bctoolbox)))
(synopsis "Belledonne Communications Language Recognition Library")
(define-public belcard
(package
(name "belcard")
- (version "1.0.2")
+ (version "4.4.34")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/" name
- "/" name "-" version ".tar.gz"))
+ (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 "0iiyrll1shnbb0561pkvdqcmx9b2cdr76xpsbaqdirc3s4xzcl0k"))))
+ (base32 "16x2xp8d0a115132zhy1kpxkyj86ia7vrsnpjdg78fnbvmvysc8m"))))
(build-system cmake-build-system)
+ (outputs '("out" "debug" "tester"))
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=OFF"))) ; Not required
+ `(#:tests? #t
+ #: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
`(("bctoolbox" ,bctoolbox)
("belr" ,belr)))
(version "0.23")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/" name
- "/" name "-" version ".tar.gz"))
+ (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 "1a0vlk4fhh189pfzrwbc3xbc5vyx6cnxy642d1h40045jz9y4h15"))))
+ (base32 "1avl9w18kh4dxm3g8j0bkw39bksd7bz3nfxvyibqqnz63ds8vfi2"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list
- "-DENABLE_STATIC=NO"))) ; Not required
+ `(#: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. ")
+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
- ;; For Core C and LibEBML2.
- ;; https://www.matroska.org/node/47
- license:bsd-4
- ;; For LibMatroska2.
- ;; https://www.matroska.org/node/47
- license:lgpl2.1+))))
+ (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
(origin
(method git-fetch)
(uri (git-reference
- (url "git://git.linphone.org/bcg729.git")
+ (url "git://git.linphone.org/bcg729")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1hal6b3w6f8y5r1wa0xzj8sj2jjndypaxyw62q50p63garp2h739"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=NO"))) ; Not required
+ `(#: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://gitlab.linphone.org/BC/public/belcard")
- (license license:gpl2+)))
+ (home-page "https://linphone.org/technical-corner/bcg729")
+ (license license:gpl3+)))
(define-public ortp
(package
(name "ortp")
- (version "1.0.2")
+ (version "4.4.34")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/" name
- "/" name "-" version ".tar.gz"))
+ (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 "016qg0lmdgmqh2kv19w9qhi4kkiyi5h1xp35g2s65b1j8ccm25d5"))))
+ (base32 "1r1kvjzyfvkf66in4p51wi87balzg3sw3aq6r4xr609mz86spi5m"))))
(build-system cmake-build-system)
+ (outputs '("out""tester"
+ "doc")) ;1.5 MiB of HTML doc
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=NO"))) ; Not required
+ `(#: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)))
(synopsis "Belledonne Communications RTP Library")
(description "oRTP is a C library implementing the RTP protocol. It
implements the RFC 3550 standard.")
- (home-page "https://gitlab.linphone.org/BC/public/ortp")
- (license license:gpl2+)))
+ (home-page "https://linphone.org/technical-corner/ortp")
+ (license license:gpl3+)))
(define-public bzrtp
(package
(name "bzrtp")
- (version "1.0.6")
+ (version "4.4.34")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/" name
- "/" name "-" version ".tar.gz"))
+ (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 "12y0kkh90pixaaxfyx26ca2brhy6nw57fsypp6vh8jk1illv0j5z"))))
+ (base32 "1yjmsbqmymzl4r7sba6w4a2yld8m6hzafr6jf7sj0syhwpnc3zv6"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=NO"))) ; Not required
+ `(#:configure-flags
+ (list
+ "-DENABLE_STATIC=NO"
+ "-DENABLE_TESTS=YES")))
(inputs
`(("bctoolbox" ,bctoolbox)
("sqlite3" ,sqlite)
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:gpl2+)))
+ (license license:gpl3+)))
(define-public belle-sip
(package
(name "belle-sip")
- (version "1.6.3")
+ (version "4.4.34")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/" name
- "/" name "-" version ".tar.gz"))
+ (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 "0s55kggmgxap54dkw5856bgk4xg7yvbzialpxnjm0zhpic3hff1z"))))
+ (base32 "1kknnlczq7dpqaj1dwxvy092dzrqjy11ndkv90rqwmdryigkjk6z"))))
(build-system cmake-build-system)
+ (outputs '("out" "tester"))
(arguments
- `(#:tests? #f ; Requires network access
- #:configure-flags
- (list "-DENABLE_STATIC=NO") ; Not required
+ `(#:configure-flags (list "-DENABLE_STATIC=NO"
+ "-DENABLE_MDNS=ON")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
- (lambda _
+ (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 ") ""))
- #t)))))
+ (("-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
- `(("antlr3" ,antlr3-3.3)
- ("antlr3c" ,libantlr3c)
+ `(("avahi" ,avahi)
("bctoolbox" ,bctoolbox)
- ("java" ,icedtea)
("zlib" ,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://gitlab.linphone.org/BC/public/belle-sip")
- (license license:gpl2+)))
+ (home-page "https://linphone.org/technical-corner/belle-sip")
+ (license license:gpl3+)))
(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"
+ "-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"))
- (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"))
+ (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))
- ;; 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))))))
+ ;; 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)))
+ ("python" ,python-wrapper)
+ ("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("alsa" ,alsa-lib)
("bcg729" ,bcg729)
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 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
+ `(("bctoolbox" ,bctoolbox)
+ ("belle-sip" ,belle-sip)
+ ("soci" ,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 "3.12.0")
+ (version "4.4.34")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/linphone"
- "/linphone-" version ".tar.gz"))
+ (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 "0phhkx55xdyg28d4wn8l8q4yvsmdgzmjiw584d4s190sq1azm91x"))))
- (outputs '("out" "doc" "tester"))
+ (base32 "1lwabr93jw24y04pdqnw9dgg8jb3lzfplyx19f83jgp9dj8kmfq9"))))
+ (outputs '("out" "tester"))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR="
- (string-append (assoc-ref %build-inputs "gtk2")
- "/lib/gtk-2.0/include"))
- (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR="
- (string-append (assoc-ref %build-inputs "glib")
- "/lib/glib-2.0/include"))
- "-DENABLE_STATIC=NO" ; Not required
- "-DENABLE_STRICT=NO"
- "-DENABLE_GTK_UI=YES") ; for legacy UI
- #:imported-modules (,@%cmake-build-system-modules
- (guix build glib-or-gtk-build-system))
- #:modules ((guix build cmake-build-system)
- ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
- (guix build utils))
+ `(#: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 'unpack 'patch
- (lambda _
- (substitute* "gtk/main.c"
- (("#include \"liblinphone_gitversion.h\"")
- ""))
- #t))
(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")))
- ;; Copy the tester executable.
- (mkdir-p (string-append tester "/bin"))
+ (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))
- ;; Copy the tester data files.
- (mkdir-p (string-append tester "/share/"))
+ (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))
- ;; Copy the HTML and XML documentation.
- (copy-recursively
- (string-append out "/share/doc/linphone-" ,version)
- (string-append doc "/share/doc/" ,name "-" ,version))
- (delete-file-recursively
- (string-append out "/share/doc/linphone-" ,version))
- #t)))
- (add-after 'install 'install-man-pages
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (man (string-append out "/share/man/man1")))
- (for-each (lambda (file)
- (install-file file man))
- (find-files ".." ".*.1$"))
- #t)))
- (add-after 'separate-outputs 'glib-or-gtk-compile-schemas
- (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
- (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
- (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
+ (string-append tester "/share/" tester-name))))))))
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("udev" ,eudev) ;for libudev.h
- ;; For generating the C++ wrappers.
- ("dot" ,graphviz)
+ `(("dot" ,graphviz)
("doxygen" ,doxygen)
- ("python" ,python)
+ ("gettext" ,gettext-minimal)
+ ("perl" ,perl)
+ ("python" ,python-wrapper)
("pystache" ,python-pystache)
- ("six" ,python-six)))
+ ("six" ,python-six)
+ ("udev" ,eudev)))
(inputs
`(("bctoolbox" ,bctoolbox)
("belcard" ,belcard)
("bellesip" ,belle-sip)
+ ("belr" ,belr)
("bzrtp" ,bzrtp)
("iconv" ,libiconv)
- ("glib" ,glib)
- ("gtk2" ,gtk+-2)
+ ("ldap" ,openldap)
+ ("libxsd" ,xsd)
+ ("lime" ,lime)
("mediastreamer2" ,mediastreamer2)
("notify" ,libnotify)
("ortp" ,ortp)
+ ("soci" ,soci)
("sqlite" ,sqlite)
("xml2" ,libxml2)
("zlib" ,zlib)))
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://gitlab.linphone.org/BC/public/liblinphone")
- (license license:gpl2+)))
+ (home-page "https://linphone.org/technical-corner/liblinphone")
+ (license license:gpl3+)))
-(define-public linphoneqt
+(define-public linphone-desktop
(package
- (name "linphoneqt")
- (version "4.1.1")
+ (name "linphone-desktop")
+ (version "4.2.5")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/" name
- "/" name "-" version ".tar.gz"))
+ (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 "1g2zrr9li0g1hgs6vys06vr98h5dx36z22hx7a6ry231536c002a"))
- (patches (search-patches "linphoneqt-tabbutton.patch"))))
+ (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 'fix-cmake-error
- (lambda _
- ;; This is fixed in commit efed2fd8 of the master branch.
- (substitute* "CMakeLists.txt"
- (("js)\\$\"")
- "js$\""))
- #t))
- (add-after 'unpack 'set-version-string
+ (add-after 'unpack 'pre-configure
(lambda _
- (substitute* "src/app/AppController.cpp"
- (("LINPHONE_QT_GIT_VERSION")
- (format #f "~s" ,version)))
- #t))
- (add-after 'install 'extend-shared-resources
- ;; Not using the FHS exposes an issue where the client refers to
- ;; its own "share" directory, which lacks sound files installed by
- ;; liblinphone.
+ (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 ((liblinphone (assoc-ref inputs "linphone"))
- (out (assoc-ref outputs "out")))
+ (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"))
- #t))))))
+ (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
- `(("qttools" ,qttools)))
+ `(("pkg-config" ,pkg-config)
+ ("qttools" ,qttools)))
(inputs
`(("bctoolbox" ,bctoolbox)
("belcard" ,belcard)
- ("bellesip" ,belle-sip)
- ("linphone" ,liblinphone)
+ ("belr" ,belr)
+ ("liblinphone" ,liblinphone)
("mediastreamer2" ,mediastreamer2)
+ ("ortp" ,ortp)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("qtgraphicaleffects" ,qtgraphicaleffects)
@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://gitlab.linphone.org/BC/public/linphone-desktop")
- (license license:gpl2+)))
+ (home-page "https://linphone.org/technical-corner/linphone")
+ (license license:gpl3+)))
+
+(define-public linphoneqt
+ (deprecated-package "linphoneqt" linphone-desktop))
(define-public msopenh264
- (package
- (name "msopenh264")
- (version "1.2.1")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/plugins/"
- name "/" name "-" version ".tar.gz"))
- (sha256
- (base32 "0rdxgazm52560g52pp6mp3mwx6j1z3h2zyizzfycp8y8zi92fqm8"))
- (patches
- (list
- ;; For support for OpenH264 version >= 2.
- (origin
- (method url-fetch)
- (uri
- (string-append "https://gitlab.linphone.org/BC/public/msopenh264/"
- "commit/493d147d28c9a0f788ba4e50b47a1ce7b18bf326"
- ".diff"))
- (file-name "msopenh264-openh264.patch")
- (sha256
- (base32
- "0mmd7nz5n9ian4rcwn200nldmy5j0dpdrna7r32rqnaw82bx3kdb")))))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=NO"))) ; Not required
- (inputs
- `(("mediastreamer2" ,mediastreamer2)
- ("openh264" ,openh264)
- ("ortp" ,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+)))
+ (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
+ `(("bctoolbox" ,bctoolbox)
+ ("mediastreamer2" ,mediastreamer2)
+ ("openh264" ,openh264)
+ ("ortp" ,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
- (package
- (name "mssilk")
- (version "1.1.1")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/plugins/"
- name "/" name "-" version ".tar.gz"))
- (sha256
- (base32 "07ip0vd29d1n98lnqs5wpimcsmpm65yl7g5vk4hbqghcbsjw94lj"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=NO"))) ; Not required
- (inputs
- `(("mediastreamer2" ,mediastreamer2)
- ("ortp" ,ortp)))
- (synopsis "Media Streamer SILK Codec")
- (description "MSSILK is a plugin of MediaStreamer, adding support for AMR
+ (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
+ `(("bctoolbox" ,bctoolbox)
+ ("mediastreamer2" ,mediastreamer2)
+ ("ortp" ,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+)))
+ (home-page "https://gitlab.linphone.org/BC/public/mssilk")
+ (license license:gpl2+))))
(define-public mswebrtc
- (package
- (name "mswebrtc")
- (version "1.1.1")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/plugins/"
- name "/" name "-" version ".tar.gz"))
- (sha256
- (base32 "1wj28hl9myhshqmn64xg0jf07aw75gmnilb5rff6rcbdxim87mqr"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list
- "-DENABLE_STATIC=NO"))) ; Not required
- (inputs
- `(("bctoolbox" ,bctoolbox)
- ("mediastreamer2" ,mediastreamer2)
- ("ortp" ,ortp)))
- (synopsis "Media Streamer WebRTC Codec")
- (description "MSWebRTC is a plugin of MediaStreamer, adding support for
+ (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
+ `(("bctoolbox" ,bctoolbox)
+ ("mediastreamer2" ,mediastreamer2)
+ ("ortp" ,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+)))
+ (home-page "https://gitlab.linphone.org/BC/public/mswebrtc")
+ (license license:gpl2+))))
(define-public msamr
- (package
- (name "msamr")
- (version "1.1.3")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/plugins/"
- name "/" name "-" version ".tar.gz"))
- (sha256
- (base32 "16c9f3z4wnj73k7y8gb0fgpr4axsm7b5zrbjvy8vsgz9gyg3agm5"))))
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=NO" ; Not required
- "-DENABLE_WIDEBAND=YES")))
- (inputs
- `(("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
+ (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+)))
+ (home-page "https://gitlab.linphone.org/BC/public/msamr")
+ (license license:gpl3+))))