From: Raghav Gururajan via Guix-patches via <guix-patches@gnu.org>
To: 47274@debbugs.gnu.org
Cc: "Danny Milosavljevic" <dannym@scratchpost.org>,
"Léo Le Bouter" <lle-bout@zaclys.net>,
"Maxim Cournoyer" <maxim.cournoyer@gmail.com>
Subject: [bug#47274] Linphone Packages
Date: Mon, 22 Mar 2021 00:44:06 -0400 [thread overview]
Message-ID: <cf75f6a8-fd76-cb05-0a46-903de3e882f6@raghavgururajan.name> (raw)
In-Reply-To: <66991ebb-4074-efab-4331-1ed195d55d26@raghavgururajan.name>
[-- Attachment #1.1.1: Type: text/plain, Size: 762 bytes --]
Hello Guix!
> HELP! The app crashes upon launch.
Fixed it in the attached patch-set. The app works now. \o/
Anyway, I think we can do something for the following, w.r.t
linphone-desktop:
[1] Warnings. Fixing them might prevent them to become errors.
[2] Better solution than symlinks in 'post-install phase. Because
linphone-desktop should be able to read files in /lib and /share of
*all* of its dependencies. Not just for those we made symlinks for,
which is a temporary fix.
Regarding [1], for one of the warnings, I tried creating symlink
"{linphone-desktop}/lib" --> "{liblinphone}/lib", which worked. But is
it the correct way?
Regarding [2], I tried wrapping the program with XDG_DATA_DIRS, but
didn't work.
Regards,
RG.
[-- Attachment #1.1.2: 0001-gnu-Add-libdecaf.patch --]
[-- Type: text/x-patch, Size: 3583 bytes --]
From 08aa3c9f46b1e78ea5e055cf0f321911ec94b334 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 13 Mar 2021 17:08:57 -0500
Subject: [PATCH 01/53] gnu: Add libdecaf.
* gnu/packages/crypto.scm (libdecaf): New variable.
---
gnu/packages/crypto.scm | 63 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 0000e7fbf2..3959464d56 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -47,9 +47,11 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages cryptsetup)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libbsd)
@@ -88,6 +90,67 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
+(define-public libdecaf
+ (package
+ (name "libdecaf")
+ (version "1.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.code.sf.net/p/ed448goldilocks/code")
+ (commit
+ (string-append "v" version))))
+ (file-name
+ (git-file-name name version))
+ (sha256
+ (base32 "1ajgmyvc6a4m1h2hg1g4wz7ibx10x1xys9m6ancnmmf1f2srlfly"))))
+ (build-system cmake-build-system)
+ (outputs '("out" "python" "doc"))
+ (arguments
+ `(#:configure-flags '("-DENABLE_STATIC=OFF")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-python-binding
+ (lambda _
+ (substitute* "python/setup.py"
+ (("gmake")
+ "make")
+ (("'\\.\\.', 'build', 'lib', 'libdecaf\\.so'")
+ "'..', '..', 'build', 'src', 'libdecaf.so'"))
+ #t))
+ (add-after 'install 'install-python-binding
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "../source/python"
+ (invoke "python" "setup.py" "install"
+ (string-append "--prefix=" (assoc-ref outputs "python"))
+ "--root=/"))
+ #t))
+ (add-after 'install-python-binding 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "doc")
+ (let* ((doc (assoc-ref outputs "doc"))
+ (dest (string-append doc "/share/doc")))
+ (copy-recursively "doc" dest))
+ #t)))))
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("python" ,python-wrapper)))
+ (inputs
+ `(("python2" ,python-2.7)
+ ("python3" ,python)))
+ (synopsis "Decaf Elliptic Curve Library")
+ (description "The libdecaf library is an implementation of elliptic curve
+cryptography using the Montgomery and Edwards curves Curve25519, Ed25519,
+Ed448-Goldilocks and Curve448, using the Decaf encoding.")
+ (home-page "http://ed448goldilocks.sourceforge.net/")
+ (license
+ (list
+ ;; Library.
+ license:expat
+ ;; Binding.
+ license:bsd-2))))
+
(define-public libsodium
(package
(name "libsodium")
--
2.31.0
[-- Attachment #1.1.3: 0002-gnu-bcunit-Update-to-3.0.2-13.patch --]
[-- Type: text/x-patch, Size: 2618 bytes --]
From 4b03df1e5abf22da27c65e1f22ffe4be65377d29 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 13 Mar 2021 12:04:37 -0500
Subject: [PATCH 02/53] gnu: bcunit: Update to 3.0.2-13.
* gnu/packages/linphone.scm (bcunit) [source]: Switch to git repository.
[version]: Update to 3.0.2-13.
[native-inputs]: Add perl.
---
gnu/packages/linphone.scm | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index afa542412f..6d243d2073 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -35,6 +35,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
@@ -57,28 +58,33 @@
#: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"))))
+ (let ((commit "74021cc7cb20a4e177748dd2948173e1f9c270ae")
+ (revision "13"))
+ (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)
(arguments
'(#:tests? #f ; No test target
#:configure-flags
(list "-DENABLE_STATIC=NO"))) ; Not required
+ (native-inputs
+ `(("perl" ,perl)))
(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+)))
+ (license license:lgpl2.0+))))
(define-public bctoolbox
(package
--
2.31.0
[-- Attachment #1.1.4: 0003-gnu-bcunit-Enable-curses-support.patch --]
[-- Type: text/x-patch, Size: 1494 bytes --]
From 3f282a59899dda366e473236b5f96b84ef54e866 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 13 Mar 2021 12:17:47 -0500
Subject: [PATCH 03/53] gnu: bcunit: Enable curses support.
* gnu/packages/linphone.scm (bcunit) [arguments]<#:configure-flags>
[-DENABLE_CURSES]: New flag.
[inputs]: Add ncurses.
---
gnu/packages/linphone.scm | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 6d243d2073..dc78636f5a 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -35,6 +35,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
@@ -76,9 +77,13 @@
(arguments
'(#:tests? #f ; No test target
#:configure-flags
- (list "-DENABLE_STATIC=NO"))) ; Not required
+ (list
+ "-DENABLE_STATIC=NO"
+ "-DENABLE_CURSES=ON")))
(native-inputs
`(("perl" ,perl)))
+ (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 an unit testing framework for writing,
--
2.31.0
[-- Attachment #1.1.5: 0004-gnu-bcunit-Enable-documentation.patch --]
[-- Type: text/x-patch, Size: 1742 bytes --]
From c90a23d65b76451620c4500f37aaaec7a311c2ad Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 13 Mar 2021 13:02:42 -0500
Subject: [PATCH 04/53] gnu: bcunit: Enable documentation.
* gnu/packages/linphone.scm (bcunit) [outputs]: New output "doc".
[arguments]<#:configure-flags>[-DENABLE_DOC]: New flag.
<#:phases>['seperate-outputs]: New phase.
---
gnu/packages/linphone.scm | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index dc78636f5a..bbea6411f7 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -74,12 +74,25 @@
(sha256
(base32 "0npdwvanjkfg9vrqs5yi8vh6wliv50ycdli8pzavir84nb31nq1b"))))
(build-system cmake-build-system)
+ (outputs '("out" "doc"))
(arguments
- '(#:tests? #f ; No test target
+ `(#:tests? #f ; No test target
#:configure-flags
(list
"-DENABLE_STATIC=NO"
- "-DENABLE_CURSES=ON")))
+ "-DENABLE_CURSES=ON"
+ "-DENABLE_DOC=ON")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'seperate-outputs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc")))
+ (mkdir-p (string-append doc "/share/doc"))
+ (rename-file
+ (string-append out "/share/doc/BCUnit")
+ (string-append doc "/share/doc/BCUnit")))
+ #t)))))
(native-inputs
`(("perl" ,perl)))
(inputs
--
2.31.0
[-- Attachment #1.1.6: 0005-gnu-bcunit-Enable-examples.patch --]
[-- Type: text/x-patch, Size: 4251 bytes --]
From 9b9f3bc1c8b3f1a1f64863cc360640a38a752514 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 18:11:32 -0400
Subject: [PATCH 05/53] gnu: bcunit: Enable examples.
* gnu/packages/linphone.scm (bcunit) [outputs]: New output "example".
[arguments]<#:configure-flag>[-DENABLE_EXAMPLES]: New flag.
<#:phases>['patch-source]: New phase.
['seperate-outputs]: Modify.
---
gnu/packages/linphone.scm | 72 ++++++++++++++++++++++++---------------
1 file changed, 44 insertions(+), 28 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index bbea6411f7..6b161d326f 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -73,36 +73,52 @@
(file-name (git-file-name name version))
(sha256
(base32 "0npdwvanjkfg9vrqs5yi8vh6wliv50ycdli8pzavir84nb31nq1b"))))
- (build-system cmake-build-system)
- (outputs '("out" "doc"))
- (arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list
- "-DENABLE_STATIC=NO"
- "-DENABLE_CURSES=ON"
- "-DENABLE_DOC=ON")
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'seperate-outputs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- (mkdir-p (string-append doc "/share/doc"))
- (rename-file
- (string-append out "/share/doc/BCUnit")
- (string-append doc "/share/doc/BCUnit")))
- #t)))))
- (native-inputs
- `(("perl" ,perl)))
- (inputs
- `(("ncurses" ,ncurses)))
- (synopsis "Belledonne Communications Unit Testing Framework")
- (description "BCUnit is a fork of the defunct project CUnit, with several
+ (build-system cmake-build-system)
+ (outputs '("out" "doc" "example"))
+ (arguments
+ `(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_STATIC=NO"
+ "-DENABLE_CURSES=ON"
+ "-DENABLE_DOC=ON"
+ "-DENABLE_EXAMPLES=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")))
+ #t))
+ (add-after 'install 'seperate-outputs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc"))
+ (example (assoc-ref outputs "example")))
+ (for-each mkdir-p
+ `(,(string-append doc "/share/doc")
+ ,(string-append example "/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 example "/share/BCUnit/Examples")))
+ #t)))))
+ (native-inputs
+ `(("perl" ,perl)))
+ (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 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+))))
+ (home-page "https://gitlab.linphone.org/BC/public/bcunit")
+ (license license:lgpl2.0+))))
(define-public bctoolbox
(package
--
2.31.0
[-- Attachment #1.1.7: 0006-gnu-bcunit-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 2211 bytes --]
From fdad19e4ecc2c9ed82295e07a79b3c275bc99ec8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 18:17:15 -0400
Subject: [PATCH 06/53] gnu: bcunit: Enable tests.
* gnu/packages/linphone.scm (bcunit) [arguments]<#:tests?>: Remove argument.
<#:configure-flags>[-DENABLE_TEST]: New flag.
<#:phases>['patch-source]: Modify.
['check]: Replace with custom phase.
---
gnu/packages/linphone.scm | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 6b161d326f..b7cf777401 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -76,13 +76,13 @@
(build-system cmake-build-system)
(outputs '("out" "doc" "example"))
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
+ `(#:configure-flags
(list
"-DENABLE_STATIC=NO"
"-DENABLE_CURSES=ON"
"-DENABLE_DOC=ON"
- "-DENABLE_EXAMPLES=ON")
+ "-DENABLE_EXAMPLES=ON"
+ "-DENABLE_TEST=ON")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
@@ -93,6 +93,17 @@
(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)")))
+ #t))
+ (replace 'check
+ (lambda _
+ (with-directory-excursion "BCUnit/Sources/Test"
+ (invoke "./test_bcunit"))
#t))
(add-after 'install 'seperate-outputs
(lambda* (#:key outputs #:allow-other-keys)
--
2.31.0
[-- Attachment #1.1.8: 0007-gnu-bcunit-Enable-mem-trace-support.patch --]
[-- Type: text/x-patch, Size: 930 bytes --]
From 430bc171bc948d1350666575bd62984dd1526aaa Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 18:18:44 -0400
Subject: [PATCH 07/53] gnu: bcunit: Enable mem-trace support.
* gnu/packages/linphone.scm (bcunit) [arguments]<#:configure-flags>
[-DENABLE_MEMTRACE]: New flag.
---
gnu/packages/linphone.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index b7cf777401..09f4c24730 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -82,7 +82,8 @@
"-DENABLE_CURSES=ON"
"-DENABLE_DOC=ON"
"-DENABLE_EXAMPLES=ON"
- "-DENABLE_TEST=ON")
+ "-DENABLE_TEST=ON"
+ "-DENABLE_MEMTRACE=ON")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
--
2.31.0
[-- Attachment #1.1.9: 0008-gnu-bctoolbox-Update-to-4.4.34.patch --]
[-- Type: text/x-patch, Size: 1874 bytes --]
From 28d1d2369f6c5d4e25429c1a5c7c796281ea3e3c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 13 Mar 2021 14:00:48 -0500
Subject: [PATCH 08/53] gnu: bctoolbox: Update to 4.4.34.
* gnu/packages/linphone.scm (bctoolbox) [source]: Switch to git repository.
[version]: Update to 4.4.34.
---
gnu/packages/linphone.scm | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 09f4c24730..90f5796c1f 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -135,15 +135,16 @@ administering, and running unit tests in C.")
(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 "git://git.linphone.org/bctoolbox")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1a1i70pb4hhnykkwyhhc7fv67q556l8kprny8xzgfqpj1nby2ms6"))))
+ (base32 "0bfswwvvdshaahg4jd2j10f0sci8809s4khajd0m6b059zwc7y25"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; No test target
@@ -156,7 +157,7 @@ administering, and running unit tests in C.")
(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
--
2.31.0
[-- Attachment #1.1.10: 0009-gnu-bctoolbox-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 1663 bytes --]
From 998bbda5aad3038a690b83580476e4ac56e75029 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 13 Mar 2021 14:55:03 -0500
Subject: [PATCH 09/53] gnu: bctoolbox: Enable tests.
* gnu/packages/linphone.scm (bctoolbox) [arguments]<#:tests?>: Remove argument.
<#:phases>['patch-source]: New phase.
['check]: Replace with custom phase.
---
gnu/packages/linphone.scm | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 90f5796c1f..9d54b1b874 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -147,9 +147,21 @@ administering, and running unit tests in C.")
(base32 "0bfswwvvdshaahg4jd2j10f0sci8809s4khajd0m6b059zwc7y25"))))
(build-system cmake-build-system)
(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-source
+ (lambda _
+ ;; Disable failing tests.
+ (substitute* "tester/port.c"
+ (("[ \t]*TEST_NO_TAG\\(\"Addrinfo sort\", bctbx_addrinfo_sort_test\\)")
+ ""))
+ #t))
+ (replace 'check
+ (lambda _
+ (with-directory-excursion "tester"
+ (invoke "./bctoolbox_tester"))
+ #t)))))
(inputs
`(("bcunit" ,bcunit)
("mbedtls" ,mbedtls-apache)))
--
2.31.0
[-- Attachment #1.1.11: 0010-gnu-bctoolbox-Enable-decaf-support.patch --]
[-- Type: text/x-patch, Size: 2128 bytes --]
From 075c98bdb0bfa7632432dbd4f5e826e176dba199 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 13 Mar 2021 19:32:01 -0500
Subject: [PATCH 10/53] gnu: bctoolbox: Enable decaf support.
* gnu/packages/linphone.scm (bctoolbox) [arguments]<#:phases>['patch-source]: Modify.
[inputs]: Add libdecaf.
---
gnu/packages/linphone.scm | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 9d54b1b874..1a83105334 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -25,6 +25,7 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages crypto)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
@@ -151,7 +152,16 @@ administering, and running unit tests in C.")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Fix decaf dependency.
+ (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")))
;; Disable failing tests.
(substitute* "tester/port.c"
(("[ \t]*TEST_NO_TAG\\(\"Addrinfo sort\", bctbx_addrinfo_sort_test\\)")
@@ -164,6 +174,7 @@ administering, and running unit tests in C.")
#t)))))
(inputs
`(("bcunit" ,bcunit)
+ ("decaf" ,libdecaf)
("mbedtls" ,mbedtls-apache)))
(synopsis "Belledonne Communications Tool Box")
(description "BcToolBox is an utilities library used by Belledonne
--
2.31.0
[-- Attachment #1.1.12: 0011-gnu-belr-Update-to-4.4.34.patch --]
[-- Type: text/x-patch, Size: 1939 bytes --]
From 0d06d47006cfd7ee1446446ce793332f22355ecf Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 14 Mar 2021 23:40:02 -0400
Subject: [PATCH 11/53] gnu: belr: Update to 4.4.34.
* gnu/packages/linphone.scm (belr) [source]: Switch to git repository.
[version]: Update to 4.4.34.
[inputs]: Add eudev.
---
gnu/packages/linphone.scm | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 1a83105334..26b2b0cbba 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -185,22 +185,24 @@ Communications software like belle-sip, mediastreamer2 and linphone.")
(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 "git://git.linphone.org/belr")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1fwv2cg3qy9vdc7dimcda7nqcqc1h2cdd7ikhk7ng7q4ys8m96c1"))))
+ (base32 "0w2canwwm0qb99whnangvaybvjzq8xg6vksqxykgr8fbx7clw03h"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No test target
#:configure-flags
(list "-DENABLE_STATIC=OFF"))) ; Not required
(inputs
- `(("bctoolbox" ,bctoolbox)))
+ `(("bctoolbox" ,bctoolbox)
+ ("libudev" ,eudev)))
(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
--
2.31.0
[-- Attachment #1.1.13: 0012-gnu-belr-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 2322 bytes --]
From 2c4cd1b4437a7d92e029e79218ec8d27c239c7e6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 01:57:33 -0400
Subject: [PATCH 12/53] gnu: belr: Enable tests.
* gnu/packages/linphone.scm (belr) [outputs]: New output "test".
[arguments]<#:tests?>: Remove argument.
<#:phases>['check]: Replace with custom phase.
['seperate-outputs]: New phase.
---
gnu/packages/linphone.scm | 28 +++++++++++++++++++++++++---
1 file changed, 25 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 26b2b0cbba..8767662050 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -196,10 +196,32 @@ Communications software like belle-sip, mediastreamer2 and linphone.")
(sha256
(base32 "0w2canwwm0qb99whnangvaybvjzq8xg6vksqxykgr8fbx7clw03h"))))
(build-system cmake-build-system)
+ (outputs '("out" "test"))
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=OFF"))) ; Not required
+ `(#:configure-flags '("-DENABLE_STATIC=OFF")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (copy-file "tester/belr_tester" "../source/tester/belr_tester")
+ (with-directory-excursion "../source/tester"
+ (invoke "./belr_tester"))
+ #t))
+ (add-after 'install 'seperate-outputs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (test (assoc-ref outputs "test"))
+ (test-name (string-append ,name "_tester")))
+ (for-each mkdir-p
+ `(,(string-append test "/bin")
+ ,(string-append test "/share")))
+ (rename-file
+ (string-append out "/bin/" test-name)
+ (string-append test "/bin/" test-name))
+ (rename-file
+ (string-append out "/share/belr-tester")
+ (string-append test "/share/" test-name)))
+ #t)))))
(inputs
`(("bctoolbox" ,bctoolbox)
("libudev" ,eudev)))
--
2.31.0
[-- Attachment #1.1.14: 0013-gnu-belcard-Update-to-4.4.34.patch --]
[-- Type: text/x-patch, Size: 1923 bytes --]
From 187e4df880b18b3606c61154bb9039bcbf2774e3 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 16:24:20 -0400
Subject: [PATCH 13/53] gnu: belcard: Update to 4.4.34.
* gnu/packages/linphone.scm (belcard) [source]: Switch to git repository.
[version]: Update to 4.4.34.
[native-inputs]: Add python-wrapper.
[inputs]: Add eudev.
---
gnu/packages/linphone.scm | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 8767662050..25cfe6de94 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -236,23 +236,27 @@ IETF.")
(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 "git://git.linphone.org/belcard")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0iiyrll1shnbb0561pkvdqcmx9b2cdr76xpsbaqdirc3s4xzcl0k"))))
+ (base32 "16x2xp8d0a115132zhy1kpxkyj86ia7vrsnpjdg78fnbvmvysc8m"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No test target
#:configure-flags
(list "-DENABLE_STATIC=OFF"))) ; Not required
+ (native-inputs
+ `(("python" ,python-wrapper)))
(inputs
`(("bctoolbox" ,bctoolbox)
- ("belr" ,belr)))
+ ("belr" ,belr)
+ ("libudev" ,eudev)))
(synopsis "Belledonne Communications VCard Library")
(description "Belcard is a C++ library to manipulate VCard standard
format.")
--
2.31.0
[-- Attachment #1.1.15: 0014-gnu-belcard-Seperate-outputs.patch --]
[-- Type: text/x-patch, Size: 1947 bytes --]
From 76aab981123ace59f320f62ded3bd93e796ac2e7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 17:11:06 -0400
Subject: [PATCH 14/53] gnu: belcard: Seperate outputs.
* gnu/packages/linphone.scm (belcard) [outputs]: New output "test".
['seperate-outputs]: New phase.
---
gnu/packages/linphone.scm | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 25cfe6de94..aee6ce4611 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -247,10 +247,27 @@ IETF.")
(sha256
(base32 "16x2xp8d0a115132zhy1kpxkyj86ia7vrsnpjdg78fnbvmvysc8m"))))
(build-system cmake-build-system)
+ (outputs '("out" "test"))
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
- (list "-DENABLE_STATIC=OFF"))) ; Not required
+ `(#:tests? #f ; FIX-ME
+ #:configure-flags '("-DENABLE_STATIC=OFF")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'seperate-outputs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (test (assoc-ref outputs "test"))
+ (test-name (string-append ,name "_tester")))
+ (for-each mkdir-p
+ `(,(string-append test "/bin")
+ ,(string-append test "/share")))
+ (rename-file
+ (string-append out "/bin/" test-name)
+ (string-append test "/bin/" test-name))
+ (rename-file
+ (string-append out "/share/" test-name)
+ (string-append test "/share/" test-name)))
+ #t)))))
(native-inputs
`(("python" ,python-wrapper)))
(inputs
--
2.31.0
[-- Attachment #1.1.16: 0015-gnu-bcmatroska2-Change-source.patch --]
[-- Type: text/x-patch, Size: 1333 bytes --]
From f94cbb3081d6b4ed59fc9ef94e5ab82317ddab93 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 20:30:21 -0400
Subject: [PATCH 15/53] gnu: bcmatroska2: Change source.
* gnu/packages/linphone.scm (bcmatroska2) [source]: Switch to git repository.
---
gnu/packages/linphone.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index aee6ce4611..d42744d7af 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -286,12 +286,13 @@ format.")
(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 "git://git.linphone.org/bcmatroska2")
+ (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
--
2.31.0
[-- Attachment #1.1.17: 0016-gnu-bcg729-Remove-.git-suffix-from-URL.patch --]
[-- Type: text/x-patch, Size: 913 bytes --]
From f44adcaa82e6c800293fd41afb79842df45753e8 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 22:11:02 -0400
Subject: [PATCH 16/53] gnu: bcg729: Remove '.git' suffix from URL.
* gnu/packages/linphone.scm (bcg729) [source]: Remove '.git' suffix from URL.
---
gnu/packages/linphone.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index d42744d7af..5bbf60e204 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -321,7 +321,7 @@ tracks in one file. ")
(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
--
2.31.0
[-- Attachment #1.1.18: 0017-gnu-bcg729-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 3351 bytes --]
From c487293d21986019a92162c43b8d9e6ff3faf5a6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 21:30:54 -0400
Subject: [PATCH 17/53] gnu: bcg729: Enable tests.
* gnu/packages/linphone.scm (bcg729) [arguments]<#:tests?>: Remove argument.
<#:configure-flags>[-DENABLE_TESTS]: New flag.
<#:phases>['copy-inputs]: New phase.
['check]: Replace with custom phase.
[native-inputs]: Add perl, test-patterns and unzip.
---
gnu/packages/linphone.scm | 55 ++++++++++++++++++++++++++++++++++++---
1 file changed, 52 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 5bbf60e204..346ca30a77 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -328,9 +328,58 @@ tracks in one file. ")
(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))
+ #t))
+ (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")))
+ #t)))))
+ (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
--
2.31.0
[-- Attachment #1.1.19: 0018-gnu-bcg729-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1115 bytes --]
From 26301852706db96375e9669cfa01f77f7977ee68 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 21:38:07 -0400
Subject: [PATCH 18/53] gnu: bcg729: Update home-page and license.
* gnu/packages/linphone.scm (bcg729) [home-page]: Modify.
[license]: Update to gpl3+.
---
gnu/packages/linphone.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 346ca30a77..f1bcae1208 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -386,8 +386,8 @@ 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
--
2.31.0
[-- Attachment #1.1.20: 0019-gnu-ortp-Update-to-4.4.34.patch --]
[-- Type: text/x-patch, Size: 1442 bytes --]
From aa8b9dbcca306c55bfd8335d8a8ee933cfa60654 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 22:09:07 -0400
Subject: [PATCH 19/53] gnu: ortp: Update to 4.4.34.
* gnu/packages/linphone.scm (ortp) [source]: Switch to git repository.
[version]: Update to 4.4.34.
---
gnu/packages/linphone.scm | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index f1bcae1208..fbe9d81d58 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -392,15 +392,16 @@ such as conferencing.")
(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 "git://git.linphone.org/ortp")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "016qg0lmdgmqh2kv19w9qhi4kkiyi5h1xp35g2s65b1j8ccm25d5"))))
+ (base32 "1r1kvjzyfvkf66in4p51wi87balzg3sw3aq6r4xr609mz86spi5m"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No test target
--
2.31.0
[-- Attachment #1.1.21: 0020-gnu-ortp-Seperate-outputs.patch --]
[-- Type: text/x-patch, Size: 1702 bytes --]
From 89e071f57db2da8deed0c19e722e8eec35b509a1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 22:19:47 -0400
Subject: [PATCH 20/53] gnu: ortp: Seperate outputs.
* gnu/packages/linphone.scm (ortp) [outputs]: New output "doc".
[arguments]<#:phases>['seperate-outputs]: New phase.
---
gnu/packages/linphone.scm | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index fbe9d81d58..3273df02c2 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -403,10 +403,24 @@ such as conferencing.")
(sha256
(base32 "1r1kvjzyfvkf66in4p51wi87balzg3sw3aq6r4xr609mz86spi5m"))))
(build-system cmake-build-system)
+ (outputs '("out" "doc"))
(arguments
`(#:tests? #f ; No test target
#:configure-flags
- (list "-DENABLE_STATIC=NO"))) ; Not required
+ (list
+ "-DENABLE_STATIC=NO")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'seperate-outputs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (assoc-ref outputs "doc"))
+ (doc-name (string-append ,name "-4.4.0")))
+ (mkdir-p (string-append doc "/share/doc"))
+ (rename-file
+ (string-append out "/share/doc/" doc-name)
+ (string-append doc "/share/doc/" doc-name)))
+ #t)))))
(native-inputs
`(("dot" ,graphviz)
("doxygen" ,doxygen)))
--
2.31.0
[-- Attachment #1.1.22: 0021-gnu-ortp-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 2286 bytes --]
From 7fe7aa78121467b19e11a88589eaea9662605772 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 16:08:52 -0400
Subject: [PATCH 21/53] gnu: ortp: Enable tests.
* gnu/packages/linphone.scm (ortp) [outputs]: New output "test".
[arguments]<#:configure-flag>[-DENABLE_TESTS]: New flag.
<#:phases>['seperate-outputs]: Modify.
---
gnu/packages/linphone.scm | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 3273df02c2..98209ee982 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -403,23 +403,30 @@ such as conferencing.")
(sha256
(base32 "1r1kvjzyfvkf66in4p51wi87balzg3sw3aq6r4xr609mz86spi5m"))))
(build-system cmake-build-system)
- (outputs '("out" "doc"))
+ (outputs '("out" "doc" "test"))
(arguments
- `(#:tests? #f ; No test target
+ `(#:tests? #f ; Require networking
#:configure-flags
(list
- "-DENABLE_STATIC=NO")
+ "-DENABLE_STATIC=NO"
+ "-DENABLE_TESTS=YES")
#:phases
(modify-phases %standard-phases
(add-after 'install 'seperate-outputs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc"))
- (doc-name (string-append ,name "-4.4.0")))
- (mkdir-p (string-append doc "/share/doc"))
+ (doc-name (string-append ,name "-4.4.0"))
+ (test (assoc-ref outputs "test")))
+ (for-each mkdir-p
+ `(,(string-append doc "/share/doc")
+ ,(string-append test "/bin")))
(rename-file
(string-append out "/share/doc/" doc-name)
- (string-append doc "/share/doc/" doc-name)))
+ (string-append doc "/share/doc/" doc-name))
+ (rename-file
+ (string-append out "/bin")
+ (string-append test "/bin")))
#t)))))
(native-inputs
`(("dot" ,graphviz)
--
2.31.0
[-- Attachment #1.1.23: 0022-gnu-ortp-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1038 bytes --]
From f3076dfd6a9a4c506e0c61950453c2843c5f7112 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Mon, 15 Mar 2021 22:52:10 -0400
Subject: [PATCH 22/53] gnu: ortp: Update home-page and license.
* gnu/packages/linphone.scm (ortp) [home-page]: Modify.
[license]: Update to gpl3+.
---
gnu/packages/linphone.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 98209ee982..28c9d3f599 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -436,8 +436,8 @@ such as conferencing.")
(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
--
2.31.0
[-- Attachment #1.1.24: 0023-gnu-bztrp-Update-to-4.4.34.patch --]
[-- Type: text/x-patch, Size: 1459 bytes --]
From db753921f89f63db65ea7ec3bc4e60dc3093772a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 12:22:31 -0400
Subject: [PATCH 23/53] gnu: bztrp: Update to 4.4.34.
* gnu/packages/linphone.scm (bzrtp) [source]: Switch to git repository.
[version]: Update to 4.4.34.
---
gnu/packages/linphone.scm | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 28c9d3f599..bba7cefb8a 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -442,15 +442,16 @@ implements the RFC 3550 standard.")
(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 "git://git.linphone.org/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
--
2.31.0
[-- Attachment #1.1.25: 0024-gnu-bzrtp-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 1140 bytes --]
From a73a2d4c200072111b675295e84763c868f466e0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 12:29:07 -0400
Subject: [PATCH 24/53] gnu: bzrtp: Enable tests.
* gnu/packages/linphone.scm (bzrtp) [arguments]<#:tests?>: Remove argument.
<#:configure-flags>[-DENABLE_TESTS]: New flag.
---
gnu/packages/linphone.scm | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index bba7cefb8a..596fb467a0 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -454,9 +454,10 @@ implements the RFC 3550 standard.")
(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)
--
2.31.0
[-- Attachment #1.1.26: 0025-gnu-bzrtp-Update-license.patch --]
[-- Type: text/x-patch, Size: 892 bytes --]
From ef057926e3a1f6e1334aadf114afeef93c69a7d7 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 12:30:58 -0400
Subject: [PATCH 25/53] gnu: bzrtp: Update license.
* gnu/packages/linphone.scm (bzrtp) [license]: Update to gpl3+.
---
gnu/packages/linphone.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 596fb467a0..7261dbe1d8 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -467,7 +467,7 @@ implements the RFC 3550 standard.")
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
--
2.31.0
[-- Attachment #1.1.27: 0026-gnu-belle-sip-Update-to-4.4.34.patch --]
[-- Type: text/x-patch, Size: 1830 bytes --]
From dfa4c6c2dcf6b5e643cc76fedf4263e4cf93de64 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 12:40:05 -0400
Subject: [PATCH 26/53] gnu: belle-sip: Update to 4.4.34.
* gnu/packages/linphone.scm (belle-sip) [source]: Switch to git repository.
[version]: Update to 4.4.34.
[native-iputs]: Add python-wrapper.
---
gnu/packages/linphone.scm | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 7261dbe1d8..cc2ab09db0 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -472,15 +472,16 @@ including both ARM and x86.")
(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 "git://git.linphone.org/belle-sip")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0s55kggmgxap54dkw5856bgk4xg7yvbzialpxnjm0zhpic3hff1z"))))
+ (base32 "1kknnlczq7dpqaj1dwxvy092dzrqjy11ndkv90rqwmdryigkjk6z"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; Requires network access
@@ -495,6 +496,8 @@ including both ARM and x86.")
;; which would not be reproducible.
(("-Xmultithreaded ") ""))
#t)))))
+ (native-inputs
+ `(("python" ,python-wrapper)))
(inputs
`(("antlr3" ,antlr3-3.3)
("antlr3c" ,libantlr3c)
--
2.31.0
[-- Attachment #1.1.28: 0027-gnu-belle-sip-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 3194 bytes --]
From 17a4f88266b97931d8070575bdb7d6ae19d1b5c5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 13:25:14 -0400
Subject: [PATCH 27/53] gnu: belle-sip: Enable tests.
* gnu/packages/linphone.scm (belle-sip) [outputs]: New output "test".
[arguments]<#:tests?>: Remove argument.
<#:phases>['check]: Replace with custom phase.
['seperate-outputs]: New phase.
---
gnu/packages/linphone.scm | 46 +++++++++++++++++++++++++++++++++++++--
1 file changed, 44 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index cc2ab09db0..e3d8febae9 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -483,9 +483,9 @@ including both ARM and x86.")
(sha256
(base32 "1kknnlczq7dpqaj1dwxvy092dzrqjy11ndkv90rqwmdryigkjk6z"))))
(build-system cmake-build-system)
+ (outputs '("out" "test"))
(arguments
- `(#:tests? #f ; Requires network access
- #:configure-flags
+ `(#:configure-flags
(list "-DENABLE_STATIC=NO") ; Not required
#:phases
(modify-phases %standard-phases
@@ -495,6 +495,48 @@ including both ARM and x86.")
;; ANTLR would use multithreaded DFA generation otherwise,
;; which would not be reproducible.
(("-Xmultithreaded ") ""))
+ #t))
+ (replace 'check
+ (lambda _
+ (copy-file
+ "tester/belle_sip_tester"
+ "../source/tester/belle_sip_tester")
+ (with-directory-excursion "../source/tester"
+ (for-each
+ (lambda (suite-name)
+ (invoke "./belle_sip_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")))
+ #t))
+ (add-after 'install 'seperate-outputs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (test (assoc-ref outputs "test"))
+ (test-name (string-append "belle_sip" "_tester")))
+ (for-each mkdir-p
+ `(,(string-append test "/bin")
+ ,(string-append test "/share")))
+ (rename-file
+ (string-append out "/bin/" test-name)
+ (string-append test "/bin/" test-name))
+ (rename-file
+ (string-append out "/share/" test-name)
+ (string-append test "/share/" test-name)))
#t)))))
(native-inputs
`(("python" ,python-wrapper)))
--
2.31.0
[-- Attachment #1.1.29: 0028-gnu-belle-sip-Enable-mDNS-support.patch --]
[-- Type: text/x-patch, Size: 2261 bytes --]
From 48d976256513575667b3a3b59756faa003e649a5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 14:28:56 -0400
Subject: [PATCH 28/53] gnu: belle-sip: Enable mDNS support.
* gnu/packages/linphone.scm (belle-sip) [arguments]<#:configure-flags>
[-DENABLE_MDNS]: New flag.
<#:phases>['patch]: Modify.
---
gnu/packages/linphone.scm | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index e3d8febae9..9b04ec90ef 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -23,6 +23,7 @@
#: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 compression)
#:use-module (gnu packages crypto)
@@ -486,11 +487,22 @@ including both ARM and x86.")
(outputs '("out" "test"))
(arguments
`(#:configure-flags
- (list "-DENABLE_STATIC=NO") ; Not required
+ (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.
@@ -543,6 +555,7 @@ including both ARM and x86.")
(inputs
`(("antlr3" ,antlr3-3.3)
("antlr3c" ,libantlr3c)
+ ("avahi" ,avahi)
("bctoolbox" ,bctoolbox)
("java" ,icedtea)
("zlib" ,zlib)))
--
2.31.0
[-- Attachment #1.1.30: 0029-gnu-belle-sip-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1130 bytes --]
From 63ce26b00ae6cbdc2b5914bdabcbc07034ee97fe Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 14:32:16 -0400
Subject: [PATCH 29/53] gnu: belle-sip: Update home-page and license.
* gnu/packages/linphone.scm (belle-sip) [home-page]: Modify.
[license]: Update to gpl3+.
---
gnu/packages/linphone.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 9b04ec90ef..e573e71932 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -563,8 +563,8 @@ including both ARM and x86.")
(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
--
2.31.0
[-- Attachment #1.1.31: 0030-gnu-mediastreamer2-Update-to-4.4.34.patch --]
[-- Type: text/x-patch, Size: 11144 bytes --]
From c9e23524c79159f78e4c4738cad9544cfe3ac1ce Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 15:51:11 -0400
Subject: [PATCH 30/53] gnu: mediastreamer2: Update to 4.4.34.
* gnu/packages/linphone.scm (mediastreamer2) [source]: Switch to git repository.
[version]: Update to 4.4.34.
[patches]: Remove field.
[outputs]: Rename "tester" to "test".
[arguments]<#:configure-flags>[-DENABLE_STRICT]: Remove flag.
[-DENABLE_BV16]: Remove flag.
[-DCMAKE_C_FLAGS]: Remove flag.
[-DCMAKE_CXX_FLAGS]: Remove flag.
<#:phases>['separate-outputs]: Modify.
[native-inputs]: Replace python with python-wrapper.
* gnu/packages/patches/mediastreamer2-srtp2.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
---
gnu/local.mk | 1 -
gnu/packages/linphone.scm | 62 ++++---
.../patches/mediastreamer2-srtp2.patch | 155 ------------------
3 files changed, 28 insertions(+), 190 deletions(-)
delete mode 100644 gnu/packages/patches/mediastreamer2-srtp2.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 3d4147a879..5a69518923 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1391,7 +1391,6 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
- %D%/packages/patches/mediastreamer2-srtp2.patch \
%D%/packages/patches/mesa-skip-tests.patch \
%D%/packages/patches/mescc-tools-boot.patch \
%D%/packages/patches/meson-for-build-rpath.patch \
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index e573e71932..025fd90c46 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -569,56 +569,50 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
(define-public mediastreamer2
(package
(name "mediastreamer2")
- (version "2.16.1")
+ (version "4.4.34")
(source
(origin
- (method url-fetch)
- (uri
- (string-append "https://www.linphone.org/releases/sources/"
- "mediastreamer/mediastreamer-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.linphone.org/mediastreamer2")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k"))
- (patches (search-patches "mediastreamer2-srtp2.patch"))))
- (outputs '("out" "doc" "tester"))
+ (base32 "0989h3d0h7qrx4kjx8gg09j8c5hvvi3h8qi1iq1dqbppwbaxbz8c"))))
+ (outputs '("out" "doc" "test"))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No test target
#:configure-flags
- (list "-DENABLE_STATIC=NO" ; Not required
- "-DENABLE_STRICT=NO" ; Would otherwise treat warnings as err
- "-DENABLE_BV16=NO" ; Not available
- "-DCMAKE_C_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\""
- "-DCMAKE_CXX_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"")
+ (list
+ "-DENABLE_STATIC=NO")
#:phases
(modify-phases %standard-phases
(add-after 'install 'separate-outputs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
+ (test (assoc-ref outputs "test"))
+ (test-name (string-append ,name "_tester"))
(doc (assoc-ref outputs "doc"))
- (tester (assoc-ref outputs "tester"))
- (tester-name (string-append ,name "_tester")))
- ;; Copy the tester executable.
- (mkdir-p (string-append tester "/bin"))
- (rename-file (string-append out "/bin/" tester-name)
- (string-append tester "/bin/" tester-name))
- ;; Copy the tester data files.
- (copy-recursively (string-append out "/share/" tester-name)
- (string-append tester "/share/" tester-name))
- (delete-file-recursively (string-append out "/share/"
- tester-name))
- ;; Copy the HTML documentation.
- (copy-recursively (string-append out "/share/doc/"
- ,name "-" ,version "/html")
- (string-append doc "/share/doc/"
- ,name "-" ,version "/html"))
- (delete-file-recursively (string-append out "/share/doc/"
- ,name "-" ,version
- "/html"))
- #t))))))
+ (doc-name (string-append ,name "-4.4.0")))
+ (for-each mkdir-p
+ `(,(string-append test "/bin")
+ ,(string-append test "/share")
+ ,(string-append doc "/share/doc")))
+ (rename-file
+ (string-append out "/bin/" test-name)
+ (string-append test "/bin/" test-name))
+ (rename-file
+ (string-append out "/share/" test-name)
+ (string-append test "/share/" test-name))
+ (rename-file
+ (string-append out "/share/doc/" doc-name)
+ (string-append doc "/share/doc/" doc-name)))
+ #t)))))
(native-inputs
`(("dot" ,graphviz)
("doxygen" ,doxygen)
- ("python" ,python)))
+ ("python" ,python-wrapper)))
(inputs
`(("alsa" ,alsa-lib)
("bcg729" ,bcg729)
diff --git a/gnu/packages/patches/mediastreamer2-srtp2.patch b/gnu/packages/patches/mediastreamer2-srtp2.patch
deleted file mode 100644
index f6d494facb..0000000000
--- a/gnu/packages/patches/mediastreamer2-srtp2.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001
-From: Danmei Chen <danmei.chen@belledonne-communications.com>
-Date: Fri, 19 Jan 2018 10:04:07 +0100
-Subject: [PATCH] add compability with srtp2
-
----
- cmake/FindSRTP.cmake | 24 ++++++++++++++++++++----
- src/CMakeLists.txt | 1 +
- src/crypto/ms_srtp.c | 10 ++--------
- src/utils/srtp_prefix.h | 41 +++++++++++++++++++++++++++++++++++++++++
- 4 files changed, 64 insertions(+), 12 deletions(-)
- create mode 100644 src/utils/srtp_prefix.h
-
-diff --git a/cmake/FindSRTP.cmake b/cmake/FindSRTP.cmake
-index 988b846a..f720ce7e 100644
---- a/cmake/FindSRTP.cmake
-+++ b/cmake/FindSRTP.cmake
-@@ -31,20 +31,36 @@ set(_SRTP_ROOT_PATHS
- )
-
- find_path(SRTP_INCLUDE_DIRS
-- NAMES srtp/srtp.h
-+ NAMES srtp2/srtp.h
- HINTS _SRTP_ROOT_PATHS
- PATH_SUFFIXES include
- )
-
- if(SRTP_INCLUDE_DIRS)
- set(HAVE_SRTP_SRTP_H 1)
--endif()
--
--find_library(SRTP_LIBRARIES
-+ set(SRTP_VERSION 2)
-+ find_library(SRTP_LIBRARIES
-+ NAMES srtp2
-+ HINTS ${_SRTP_ROOT_PATHS}
-+ PATH_SUFFIXES bin lib
-+ )
-+else()
-+ find_path(SRTP_INCLUDE_DIRS
-+ NAMES srtp/srtp.h
-+ HINTS _SRTP_ROOT_PATHS
-+ PATH_SUFFIXES include
-+ )
-+ if(SRTP_INCLUDE_DIRS)
-+ set(HAVE_SRTP_SRTP_H 1)
-+ set(SRTP_VERSION 1)
-+ endif()
-+ find_library(SRTP_LIBRARIES
- NAMES srtp
- HINTS ${_SRTP_ROOT_PATHS}
- PATH_SUFFIXES bin lib
- )
-+endif()
-+
-
- include(FindPackageHandleStandardArgs)
- find_package_handle_standard_args(SRTP
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index da429764..c46faa62 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -183,6 +183,7 @@ set(VOIP_SOURCE_FILES_C
- utils/pcap_sender.c
- utils/pcap_sender.h
- utils/stream_regulator.c
-+ utils/srtp_prefix.h
- voip/audioconference.c
- voip/audiostream.c
- voip/bandwidthcontroller.c
-diff --git a/src/crypto/ms_srtp.c b/src/crypto/ms_srtp.c
-index 5a510c99..67810316 100644
---- a/src/crypto/ms_srtp.c
-+++ b/src/crypto/ms_srtp.c
-@@ -25,6 +25,7 @@
- #include "mediastreamer2/ms_srtp.h"
- #include "mediastreamer2/mediastream.h"
-
-+
- #ifdef HAVE_SRTP
-
- /*srtp defines all this stuff*/
-@@ -34,13 +35,7 @@
- #undef PACKAGE_TARNAME
- #undef PACKAGE_VERSION
-
--#if defined(MS2_WINDOWS_PHONE)
--// Windows phone doesn't use make install
--#include <srtp.h>
--#else
--#include <srtp/srtp.h>
--#endif
--
-+#include "srtp_prefix.h"
-
- #include "ortp/b64.h"
-
-@@ -352,7 +347,6 @@ int ms_srtp_init(void)
- srtp_init_done++;
- }else{
- ms_fatal("Couldn't initialize SRTP library: %d.", st);
-- err_reporting_init("mediastreamer2");
- }
- }else srtp_init_done++;
- return (int)st;
-diff --git a/src/utils/srtp_prefix.h b/src/utils/srtp_prefix.h
-new file mode 100644
-index 00000000..68bde496
---- /dev/null
-+++ b/src/utils/srtp_prefix.h
-@@ -0,0 +1,41 @@
-+/*
-+ mediastreamer2 library - modular sound and video processing and streaming
-+ Copyright (C) 2006-2014 Belledonne Communications, Grenoble
-+
-+ This library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ This library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with this library; if not, write to the Free Software
-+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+*/
-+#ifndef __SRTP2_H__
-+#define __SRTP2_H__
-+
-+#if defined(MS2_WINDOWS_PHONE)
-+// Windows phone doesn't use make install
-+#include <srtp.h>
-+#elif SRTP_VERSION==1
-+#include <srtp/srtp.h>
-+#else
-+#include <srtp2/srtp.h>
-+#define err_status_t srtp_err_status_t
-+#define err_status_ok srtp_err_status_ok
-+#define crypto_policy_t srtp_crypto_policy_t
-+#define crypto_policy_set_aes_cm_256_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80
-+#define crypto_policy_set_aes_cm_128_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32
-+#define crypto_policy_set_aes_cm_128_null_auth srtp_crypto_policy_set_aes_cm_128_null_auth
-+#define crypto_policy_set_null_cipher_hmac_sha1_80 srtp_crypto_policy_set_null_cipher_hmac_sha1_80
-+#define crypto_policy_set_aes_cm_128_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80
-+#define crypto_policy_set_aes_cm_256_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32
-+#define ssrc_t srtp_ssrc_t
-+#endif
-+
-+#endif
---
-2.21.0
-
--
2.31.0
[-- Attachment #1.1.32: 0031-gnu-mediastreamer2-Enable-tests.patch --]
[-- Type: text/x-patch, Size: 2719 bytes --]
From d957a35ae7bc2ee750f3e47e243d1cbbb6972826 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 16:56:25 -0400
Subject: [PATCH 31/53] gnu: mediastreamer2: Enable tests.
* gnu/packages/linphone.scm (mediastreamer2) [arguments]<#:tests?>: Remove argument.
<#:phases>['pre-check]: New phase.
['check]: Replace with custom phase.
[native-inputs]: Add xorg-server-for-tests.
---
gnu/packages/linphone.scm | 34 +++++++++++++++++++++++++++++++---
1 file changed, 31 insertions(+), 3 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 025fd90c46..661a9ea779 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -582,12 +582,39 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
(outputs '("out" "doc" "test"))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; No test target
- #:configure-flags
+ `(#:configure-flags
(list
"-DENABLE_STATIC=NO")
#:phases
(modify-phases %standard-phases
+ (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"))
+ #t))
+ (replace 'check
+ (lambda _
+ (copy-file
+ "tester/mediastreamer2_tester"
+ "../source/tester/mediastreamer2_tester")
+ (with-directory-excursion "../source/tester"
+ (for-each
+ (lambda (suite-name)
+ (invoke "./mediastreamer2_tester" "--suite" suite-name))
+ (list
+ "Basic Audio"
+ ;; "Sound Card"
+ ;; "AdaptiveAlgorithm"
+ ;; "AudioStream"
+ ;; "VideoStream"
+ "H26x Tools"
+ "Framework"
+ ;; "Player"
+ "TextStream")))
+ #t))
(add-after 'install 'separate-outputs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -612,7 +639,8 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
(native-inputs
`(("dot" ,graphviz)
("doxygen" ,doxygen)
- ("python" ,python-wrapper)))
+ ("python" ,python-wrapper)
+ ("xorg-server" ,xorg-server-for-tests)))
(inputs
`(("alsa" ,alsa-lib)
("bcg729" ,bcg729)
--
2.31.0
[-- Attachment #1.1.33: 0032-gnu-mediastreamer2-Enable-PCAP-support.patch --]
[-- Type: text/x-patch, Size: 1270 bytes --]
From bb31d74bfb61ae3bcbf4509258ed19be9be4b0a0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 18:43:55 -0400
Subject: [PATCH 32/53] gnu: mediastreamer2: Enable PCAP support.
* gnu/packages/linphone.scm (mediastreamer2) [arguments]<#:configure-flags>
[-DENABLE_PCAP]: New flag.
<#:phases>['patch-source]: New phase.
---
gnu/packages/linphone.scm | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 661a9ea779..adf2a357ea 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -584,9 +584,15 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
(arguments
`(#:configure-flags
(list
- "-DENABLE_STATIC=NO")
+ "-DENABLE_STATIC=NO"
+ "-DENABLE_PCAP=YES")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* "src/otherfilters/mspcapfileplayer.c"
+ (("O_BINARY") "L_INCR"))
+ #t))
(add-before 'check 'pre-check
(lambda _
;; Tests require a running X server.
--
2.31.0
[-- Attachment #1.1.34: 0033-gnu-mediastreamer2-Enable-port-audio-support.patch --]
[-- Type: text/x-patch, Size: 1090 bytes --]
From c2d99242acc55c50d5433c1068a45f7e2ec55d3d Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 20:32:40 -0400
Subject: [PATCH 33/53] gnu: mediastreamer2: Enable port-audio support.
* gnu/packages/linphone.scm (mediastreamer2) [arguments]<#:configure-flags>
[-DENABLE_STRICT]: New flag.
[-DENABLE_PORTAUDIO]: New flag.
---
gnu/packages/linphone.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index adf2a357ea..1a11cc5c46 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -585,7 +585,9 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
`(#:configure-flags
(list
"-DENABLE_STATIC=NO"
- "-DENABLE_PCAP=YES")
+ "-DENABLE_PCAP=YES"
+ "-DENABLE_STRICT=NO" ; To disable strict compile options
+ "-DENABLE_PORTAUDIO=YES")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
--
2.31.0
[-- Attachment #1.1.35: 0034-gnu-mediastreamer2-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1180 bytes --]
From 2b36386872adf9547229d581649a96b440047098 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 20:41:23 -0400
Subject: [PATCH 34/53] gnu: mediastreamer2: Update home-page and license.
* gnu/packages/linphone.scm (mediastreamer2) [home-page]: Modify.
[license]: Update to gpl3+.
---
gnu/packages/linphone.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 1a11cc5c46..836ca7c079 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -681,8 +681,8 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
for telephony applications. This media processing and streaming toolkit is
responsible for receiving and sending all multimedia streams in Linphone,
including media capture, encoding and decoding, and rendering.")
- (home-page "https://gitlab.linphone.org/BC/public/mediastreamer2")
- (license license:gpl2+)))
+ (home-page "https://linphone.org/technical-corner/mediastreamer2")
+ (license license:gpl3+)))
(define-public liblinphone
(package
--
2.31.0
[-- Attachment #1.1.36: 0035-gnu-mediastreamer2-Enable-G729B-support.patch --]
[-- Type: text/x-patch, Size: 1052 bytes --]
From 74b1c2811dc3918630418c230748712c6fa31402 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 21:03:16 -0400
Subject: [PATCH 35/53] gnu: mediastreamer2: Enable G729B support.
* gnu/packages/linphone.scm (mediastreamer2) [arguments]<#:configure-flags>
[-DENABLE_G729B_CNG]: New flag.
---
gnu/packages/linphone.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 836ca7c079..79cb35fc07 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -587,7 +587,8 @@ API. It also comprises a simple HTTP/HTTPS client implementation.")
"-DENABLE_STATIC=NO"
"-DENABLE_PCAP=YES"
"-DENABLE_STRICT=NO" ; To disable strict compile options
- "-DENABLE_PORTAUDIO=YES")
+ "-DENABLE_PORTAUDIO=YES"
+ "-DENABLE_G729B_CNG=YES")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
--
2.31.0
[-- Attachment #1.1.37: 0036-gnu-soci-Propagate-inputs.patch --]
[-- Type: text/x-patch, Size: 1013 bytes --]
From 41a8f916504fde059793d0c428512ef6c928da5c Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 21:57:10 -0400
Subject: [PATCH 36/53] gnu: soci: Propagate inputs.
Headers of soci has include-references to headers of these inputs.
* gnu/packages/databases.scm (soci) [inputs]: Move to ...
[propagated-inputs]: ... here.
---
gnu/packages/databases.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 8be83f5cbe..76eb2357ef 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3777,7 +3777,7 @@ The drivers officially supported by @code{libdbi} are:
(base32
"14x2gjblkgpflv75wl144cyjp1sis5rbxnr9r2gj3yw16v2av0bp"))))
(build-system cmake-build-system)
- (inputs
+ (propagated-inputs
`(("firebird" ,firebird)
("postgresql" ,postgresql)
("sqlite" ,sqlite)
--
2.31.0
[-- Attachment #1.1.38: 0037-gnu-Add-lime.patch --]
[-- Type: text/x-patch, Size: 3244 bytes --]
From 30c0515c5ec80da84a4e0e7ecbf8dff19fc16066 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Tue, 16 Mar 2021 23:08:41 -0400
Subject: [PATCH 37/53] gnu: Add lime.
* gnu/packages/linphone.scm (lime): New variable.
---
gnu/packages/linphone.scm | 57 +++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 79cb35fc07..80349ac426 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -27,6 +27,7 @@
#:use-module (gnu packages base)
#: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)
@@ -685,6 +686,62 @@ 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")
+ (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\"\\)") ""))
+ #t))
+ (add-after 'build 'build-doc
+ (lambda _
+ (invoke "make" "doc")
+ #t))
+ (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))
+ #t)))))
+ (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")
--
2.31.0
[-- Attachment #1.1.39: 0038-gnu-Add-build.patch --]
[-- Type: text/x-patch, Size: 3384 bytes --]
From a532e6049dbc80a54194c83b68373d8cbd4e0378 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 18 Mar 2021 13:53:40 -0400
Subject: [PATCH 38/53] gnu: Add build.
* gnu/packages/codesynthesis.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/codesythesis.scm (build): New variable.
---
gnu/local.mk | 1 +
gnu/packages/codesynthesis.scm | 55 ++++++++++++++++++++++++++++++++++
2 files changed, 56 insertions(+)
create mode 100644 gnu/packages/codesynthesis.scm
diff --git a/gnu/local.mk b/gnu/local.mk
index 5a69518923..b2b64f19fc 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -134,6 +134,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/cmake.scm \
%D%/packages/cobol.scm \
%D%/packages/code.scm \
+ %D%/packages/codesynthesis.scm \
%D%/packages/commencement.scm \
%D%/packages/compression.scm \
%D%/packages/compton.scm \
diff --git a/gnu/packages/codesynthesis.scm b/gnu/packages/codesynthesis.scm
new file mode 100644
index 0000000000..7cb9a427a5
--- /dev/null
+++ b/gnu/packages/codesynthesis.scm
@@ -0,0 +1,55 @@
+;;; GNU Guix --- Functional package management for GNU
+;;;
+;;; Copyright © 2020 Raghav Gururajan <rg@raghavgururajan.name>
+;;;
+;;; 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 codesynthesis)
+ #:use-module (gnu packages)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix utils)
+ #:use-module (guix build utils)
+ #:use-module (guix build-system gnu))
+
+(define-public build
+ (package
+ (name "build")
+ (version "0.3.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.codesynthesis.com/download/"
+ "build/" (version-major+minor version)
+ "/build-" version ".tar.bz2"))
+ (sha256
+ (base32 "1lx5rpnmsbip43zpp0a57sl5rm7pjb0y6i2si6rfglfp4p9d3z76"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No target
+ #:make-flags
+ (list
+ (string-append "install_prefix=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build))))
+ (synopsis "Software Build System")
+ (description "@package{build} is a massively-parallel software build system
+implemented on top of GNU make.")
+ (home-page "https://www.codesynthesis.com/projects/libxsd-frontend/")
+ (license license:gpl2+)))
--
2.31.0
[-- Attachment #1.1.40: 0039-gnu-Add-libcutl.patch --]
[-- Type: text/x-patch, Size: 2593 bytes --]
From c6e27b74e1f90985513167b52cd0e0f9cc54aa73 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 18 Mar 2021 13:57:53 -0400
Subject: [PATCH 39/53] gnu: Add libcutl.
* gnu/packages/codesynthesis.scm (libcutl): New variable.
---
gnu/packages/codesynthesis.scm | 44 ++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/gnu/packages/codesynthesis.scm b/gnu/packages/codesynthesis.scm
index 7cb9a427a5..a264692c19 100644
--- a/gnu/packages/codesynthesis.scm
+++ b/gnu/packages/codesynthesis.scm
@@ -19,6 +19,8 @@
(define-module (gnu packages codesynthesis)
#:use-module (gnu packages)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@@ -53,3 +55,45 @@
implemented on top of GNU make.")
(home-page "https://www.codesynthesis.com/projects/libxsd-frontend/")
(license license:gpl2+)))
+
+(define-public libcutl
+ (package
+ (name "libcutl")
+ (version "1.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.codesynthesis.com/download/libcutl/"
+ (version-major+minor version)
+ "/libcutl-" version ".tar.bz2"))
+ (sha256
+ (base32 "070j2x02m4gm1fn7gnymrkbdxflgzxwl7m96aryv8wp3f3366l8j"))
+ (modules '((guix build utils)))
+ (snippet
+ `(begin
+ ;; Remove bundled sources.
+ (with-directory-excursion "cutl/details"
+ (for-each delete-file-recursively
+ ;; FIXME: Boost_RegEx isn't being detected.
+ (list
+ ;; "boost"
+ "expat")))
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list
+ "--disable-static"
+ ;; "--with-external-boost"
+ "--with-external-expat")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(;; ("boost" ,boost)
+ ("expat" ,expat)))
+ (synopsis "C++ utility library")
+ (description "@package{libcutl} is a C++ utility library. It contains a
+collection of generic and independent components such as meta-programming tests,
+smart pointers, containers, compiler building blocks, etc.")
+ (home-page "https://www.codesynthesis.com/projects/libcutl/")
+ (license license:expat)))
--
2.31.0
[-- Attachment #1.1.41: 0040-gnu-Add-libxsd-frontend.patch --]
[-- Type: text/x-patch, Size: 2947 bytes --]
From e3abe6dbfcbd6bfb352694fd5efcb9db9da6dce6 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 18 Mar 2021 14:00:13 -0400
Subject: [PATCH 40/53] gnu: Add libxsd-frontend.
* gnu/packages/codesynthesis.scm (libxsd-frontend): New variable.
---
gnu/packages/codesynthesis.scm | 54 ++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/gnu/packages/codesynthesis.scm b/gnu/packages/codesynthesis.scm
index a264692c19..f24fb760de 100644
--- a/gnu/packages/codesynthesis.scm
+++ b/gnu/packages/codesynthesis.scm
@@ -97,3 +97,57 @@ collection of generic and independent components such as meta-programming tests,
smart pointers, containers, compiler building blocks, etc.")
(home-page "https://www.codesynthesis.com/projects/libcutl/")
(license license:expat)))
+
+(define-public libxsd-frontend
+ (package
+ (name "libxsd-frontend")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.codesynthesis.com/download/"
+ "libxsd-frontend/" (version-major+minor version)
+ "/libxsd-frontend-" version ".tar.bz2"))
+ (sha256
+ (base32 "1nmzchsvwvn66jpmcx18anzyl1a3l309x1ld4zllrg37ijc31fim"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:imported-modules
+ ((guix build copy-build-system)
+ ,@%gnu-build-system-modules)
+ #:modules
+ (((guix build copy-build-system)
+ #:prefix copy:)
+ (guix build gnu-build-system)
+ (guix build utils))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* (find-files "." "\\.make$")
+ (("build-0\\.3")
+ (string-append (assoc-ref %build-inputs "build") "/include/build-0.3")))
+ #t))
+ (delete 'configure)
+ (replace 'install
+ (lambda args
+ (apply (assoc-ref copy:%standard-phases 'install)
+ #:install-plan
+ '(("xsd-frontend" "include/xsd-frontend"
+ #:include-regexp ("\\.?xx$"))
+ ("xsd-frontend" "lib"
+ #:include-regexp ("\\.so$")))
+ args))))))
+ (native-inputs
+ `(("build" ,build)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libcutl" ,libcutl)
+ ("libxerces-c" ,xerces-c)))
+ (synopsis "XSD Front-end")
+ (description "@package{libxsd-frontend} is a compiler frontend for the W3C
+XML Schema definition language. It includes a parser, semantic graph types and
+a traversal mechanism.")
+ (home-page "https://www.codesynthesis.com/projects/libxsd-frontend/")
+ (license license:gpl2+)))
--
2.31.0
[-- Attachment #1.1.42: 0041-gnu-Add-cli.patch --]
[-- Type: text/x-patch, Size: 2736 bytes --]
From 2c1e262e549b928a624513e2c91b059b88b8e822 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 18 Mar 2021 14:33:34 -0400
Subject: [PATCH 41/53] gnu: Add cli.
* gnu/packages/codesynthesis.scm (cli): New variable.
---
gnu/packages/codesynthesis.scm | 45 ++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/gnu/packages/codesynthesis.scm b/gnu/packages/codesynthesis.scm
index f24fb760de..b70e53cd7c 100644
--- a/gnu/packages/codesynthesis.scm
+++ b/gnu/packages/codesynthesis.scm
@@ -151,3 +151,48 @@ XML Schema definition language. It includes a parser, semantic graph types and
a traversal mechanism.")
(home-page "https://www.codesynthesis.com/projects/libxsd-frontend/")
(license license:gpl2+)))
+
+(define-public cli
+ (package
+ (name "cli")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.codesynthesis.com/download/"
+ "cli/" (version-major+minor version)
+ "/cli-" version ".tar.bz2"))
+ (sha256
+ (base32 "0bg0nsai2q4h3mldpnj0jz4iy4svs0bcfvmq0v0c9cdyknny606g"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:make-flags
+ (list
+ (string-append "install_prefix=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* (find-files "." "\\.make$")
+ (("build-0\\.3")
+ (string-append (assoc-ref %build-inputs "build")
+ "/include/build-0.3")))
+ (substitute* (find-files "." "\\.?xx$")
+ (("add \\(typeid \\(type\\), \\*this\\);")
+ "traverser_map<B>::add (typeid (type), *this);")
+ (("iterate_and_dispatch \\(s\\.names_begin \\(\\), s\\.names_end \\(\\), d\\);")
+ "edge_dispatcher::iterate_and_dispatch (s.names_begin (), s.names_end (), d);"))
+ #t))
+ (delete 'configure))))
+ (native-inputs
+ `(("build" ,build)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libcutl" ,libcutl)))
+ (synopsis "Command Line Interface (CLI) definition language")
+ (description "@package{cli} is a domain-specific language (DSL) for defining
+command line interfaces of C++ programs. It allows you to describe the options
+that your program supports, their types, default values, and documentation.")
+ (home-page "https://codesynthesis.com/projects/cli/")
+ (license license:expat)))
--
2.31.0
[-- Attachment #1.1.43: 0042-gnu-Add-xsd.patch --]
[-- Type: text/x-patch, Size: 2851 bytes --]
From d46ed1d4bd1d85ad5c89d2c713f387714f152358 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 18 Mar 2021 15:51:18 -0400
Subject: [PATCH 42/53] gnu: Add xsd.
* gnu/packages/codesynthesis.scm (xsd): New variable.
---
gnu/packages/codesynthesis.scm | 48 ++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/gnu/packages/codesynthesis.scm b/gnu/packages/codesynthesis.scm
index b70e53cd7c..58f4fa9301 100644
--- a/gnu/packages/codesynthesis.scm
+++ b/gnu/packages/codesynthesis.scm
@@ -19,6 +19,7 @@
(define-module (gnu packages codesynthesis)
#:use-module (gnu packages)
+ #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
@@ -196,3 +197,50 @@ command line interfaces of C++ programs. It allows you to describe the options
that your program supports, their types, default values, and documentation.")
(home-page "https://codesynthesis.com/projects/cli/")
(license license:expat)))
+
+(define-public xsd
+ (package
+ (name "xsd")
+ (version "4.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.codesynthesis.com/download/"
+ "xsd/" (version-major+minor version)
+ "/xsd-" version ".tar.bz2"))
+ (sha256
+ (base32 "1hi9ppxd34np8ydv1h0vgc2qpdmgcd1cdzgk30aidv670xjg91fx"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:make-flags
+ (list
+ (string-append "install_prefix=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* (find-files "." "\\.make$")
+ (("build-0\\.3")
+ (string-append (assoc-ref %build-inputs "build")
+ "/include/build-0.3")))
+ #t))
+ (delete 'configure))))
+ (native-inputs
+ `(("build" ,build)
+ ("cli" ,cli)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libcutl" ,libcutl)
+ ("libnsl" ,libnsl)
+ ("libxsd-frontend" ,libxsd-frontend)))
+ (propagated-inputs
+ `(("libexpat" ,expat)
+ ("libxerces-c" ,xerces-c)))
+ (synopsis "XML Schema to C++ translator")
+ (description "@package{xsd} is a W3C XML Schema to C++ translator. It
+generates vocabulary-specific, statically-typed C++ mappings/bindings from XML
+Schema definitions. It supports two C++ mappings: in-memory C++/Tree and
+event-driven C++/Parser.")
+ (home-page "https://codesynthesis.com/projects/xsd/")
+ (license license:gpl2+)))
--
2.31.0
[-- Attachment #1.1.44: 0043-gnu-liblinphone-Update-to-4.4.34.patch --]
[-- Type: text/x-patch, Size: 7357 bytes --]
From 60de07aa98dbe450d5f4cc9873e04fbe52b8c05a Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Wed, 17 Mar 2021 23:36:02 -0400
Subject: [PATCH 43/53] gnu: liblinphone: Update to 4.4.34.
* gnu/packages/linphone.scm (liblinphone) [source]: Switch to git repository.
[version]: Update to 4.4.34.
[outputs]: Remove "doc" and rename "tester" to "test".
[arguments]<#:imported-modules>: Remove argument.
<#:modules>: Remove argument.
<#:configure-flags>[-DGTK2_GDKCONFIG_INCLUDE_DIR]: Remove flag.
[-DGTK2_GLIBCONFIG_INCLUDE_DIR]: Remove flag.
[-DENABLE_STRICT]: Remove flag.
[-DENABLE_GTK_UI]: Remove flag.
<#:phases>['patch]: Remove phase.
['install-man-pages]: Remove phase.
['separate-outputs]: Modify.
['glib-or-gtk-compile-schemas]: Remove phase.
['glib-or-gtk-wrap]: Remove phase.
[native-inputs]: Add perl. Replace python with python-wrapper.
[inputs]: Add belr, lime, soci and xsd. Remove glib and gtk+-2.
---
gnu/packages/linphone.scm | 100 +++++++++++++-------------------------
1 file changed, 34 insertions(+), 66 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 80349ac426..7158c093b3 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -25,6 +25,7 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages avahi)
#:use-module (gnu packages base)
+ #:use-module (gnu packages codesynthesis)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
@@ -745,95 +746,62 @@ It supports multiple devices per user and multiple users per device.")
(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")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0phhkx55xdyg28d4wn8l8q4yvsmdgzmjiw584d4s190sq1azm91x"))))
- (outputs '("out" "doc" "tester"))
+ (base32 "1lwabr93jw24y04pdqnw9dgg8jb3lzfplyx19f83jgp9dj8kmfq9"))))
+ (outputs '("out" "test"))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; No test target
+ `(#:tests? #f ; Tests require networking
#: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))
+ (list
+ "-DENABLE_STATIC=NO")
#: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"))
- (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 "/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)))))
+ (test (assoc-ref outputs "test"))
+ (test-name (string-append ,name "_tester")))
+ (for-each mkdir-p
+ `(,(string-append test "/bin")
+ ,(string-append test "/share")))
+ (rename-file
+ (string-append out "/bin/" test-name)
+ (string-append test "/bin/" test-name))
+ (rename-file
+ (string-append out "/share/" test-name)
+ (string-append test "/share/" test-name)))
+ #t)))))
(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)
+ ("libxsd" ,xsd)
+ ("lime" ,lime)
("mediastreamer2" ,mediastreamer2)
("notify" ,libnotify)
("ortp" ,ortp)
+ ("soci" ,soci)
("sqlite" ,sqlite)
("xml2" ,libxml2)
("zlib" ,zlib)))
--
2.31.0
[-- Attachment #1.1.45: 0044-gnu-liblinphone-Enable-LDAP-support.patch --]
[-- Type: text/x-patch, Size: 1625 bytes --]
From e99d0c95c27a21decf387e906d64a1b5f296302b Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 20 Mar 2021 04:08:06 -0400
Subject: [PATCH 44/53] gnu: liblinphone: Enable LDAP support.
* gnu/packages/linphone.scm (liblinphone) [arguments]<#:configure-flags>
[-DENABLE_LDAP]: New flag.
[inputs]: Add openldap.
---
gnu/packages/linphone.scm | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 7158c093b3..0e9d1376bb 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -40,6 +40,7 @@
#: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 pulseaudio)
#:use-module (gnu packages python)
@@ -762,7 +763,8 @@ It supports multiple devices per user and multiple users per device.")
`(#:tests? #f ; Tests require networking
#:configure-flags
(list
- "-DENABLE_STATIC=NO")
+ "-DENABLE_STATIC=NO"
+ "-DENABLE_LDAP=YES")
#:phases
(modify-phases %standard-phases
(add-after 'install 'separate-outputs
@@ -796,6 +798,7 @@ It supports multiple devices per user and multiple users per device.")
("belr" ,belr)
("bzrtp" ,bzrtp)
("iconv" ,libiconv)
+ ("ldap" ,openldap)
("libxsd" ,xsd)
("lime" ,lime)
("mediastreamer2" ,mediastreamer2)
--
2.31.0
[-- Attachment #1.1.46: 0045-gnu-liblinphone-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1153 bytes --]
From c9b7e475956ce93022d47d4978a8b3acd4a1ac60 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Thu, 18 Mar 2021 22:05:22 -0400
Subject: [PATCH 45/53] gnu: liblinphone: Update home-page and license.
* gnu/packages/linphone.scm (liblinphone) [home-page]: Modify.
[license]: Update to gpl3+.
---
gnu/packages/linphone.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 0e9d1376bb..a7cf785f93 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -814,8 +814,8 @@ 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://gitlab.linphone.org/BC/public/liblinphone")
- (license license:gpl2+)))
+ (home-page "https://linphone.org/technical-corner/liblinphone")
+ (license license:gpl3+)))
(define-public linphoneqt
(package
--
2.31.0
[-- Attachment #1.1.47: 0046-gnu-linphoneqt-Update-to-4.2.5.patch --]
[-- Type: text/x-patch, Size: 22172 bytes --]
From cecc55c9100d5fd169975e059041fb5ddbcbb739 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 19 Mar 2021 20:58:20 -0400
Subject: [PATCH 46/53] gnu: linphoneqt: Update to 4.2.5.
* gnu/packages/linphone.scm (linphoneqt) [name]: Rename to linphone-desktop.
[source]: Switch to git repository.
[patches]: Remove linphoneqt-tabbutton.patch and add linphone-desktop-without-sdk.patch.
[arguments]<#:configure-flags>[-DENABLE_UPDATE_CHECK]: New flag.
<#:phases>['pre-configure]: New phase.
['fix-cmake-error]: Remove phase.
['set-version-string]: Remove phase.
['extend-shared-resources]: Rename to 'post-install and modify.
[native-inputs]: Add pkg-config.
[inputs]: Add belr and ortp.
* gnu/packages/patches/linphoneqt-tabbutton.patch: Remove file.
linphone-desktop-without-sdk.patch: New file.
* gnu/local.mk (dist_patch_DATA): Update.
---
gnu/local.mk | 2 +-
gnu/packages/linphone.scm | 68 ++---
.../linphone-desktop-without-sdk.patch | 235 ++++++++++++++++++
.../patches/linphoneqt-tabbutton.patch | 96 -------
4 files changed, 274 insertions(+), 127 deletions(-)
create mode 100644 gnu/packages/patches/linphone-desktop-without-sdk.patch
delete mode 100644 gnu/packages/patches/linphoneqt-tabbutton.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index b2b64f19fc..9e063a784c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1358,7 +1358,7 @@ dist_patch_DATA = \
%D%/packages/patches/lierolibre-try-building-other-arch.patch \
%D%/packages/patches/linbox-fix-pkgconfig.patch \
%D%/packages/patches/linkchecker-tests-require-network.patch \
- %D%/packages/patches/linphoneqt-tabbutton.patch \
+ %D%/packages/patches/linphone-desktop-without-sdk.patch \
%D%/packages/patches/linux-libre-support-for-Pinebook-Pro.patch \
%D%/packages/patches/linux-pam-no-setfsuid.patch \
%D%/packages/patches/lirc-localstatedir.patch \
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index a7cf785f93..981ff1f276 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -42,6 +42,7 @@
#: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)
@@ -817,55 +818,62 @@ and video calls or instant messaging capabilities to an application.")
(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)
(arguments
`(#:tests? #f ; No test target
+ #:configure-flags
+ (list
+ "-DENABLE_UPDATE_CHECK=NO")
#: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)))
+ (for-each make-file-writable (find-files "."))
+ (substitute* "linphone-app/linphoneqt_version.cmake"
+ (("\\$\\{GUIX-SET-VERSION\\}") ,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.
+ (add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((liblinphone (assoc-ref inputs "linphone"))
- (out (assoc-ref outputs "out")))
- (symlink (string-append liblinphone "/share/sounds")
- (string-append out "/share/sounds"))
+ (let* ((out (assoc-ref outputs "out"))
+ (liblinphone (assoc-ref inputs "liblinphone"))
+ (belcard (assoc-ref inputs "belcard")))
+ ;; 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 "share" directory, which lacks files
+ ;; installed by the dependencies.
+ (symlink
+ (string-append liblinphone "/share/sounds")
+ (string-append out "/share/sounds"))
+ (symlink
+ (string-append belcard "/share/belr")
+ (string-append out "/share/belr"))
#t))))))
(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)
diff --git a/gnu/packages/patches/linphone-desktop-without-sdk.patch b/gnu/packages/patches/linphone-desktop-without-sdk.patch
new file mode 100644
index 0000000000..63e9808bf4
--- /dev/null
+++ b/gnu/packages/patches/linphone-desktop-without-sdk.patch
@@ -0,0 +1,235 @@
+From cfdf6d1c2051d6a20d0cbb94d81fe398f70dea4d Mon Sep 17 00:00:00 2001
+From: Raghav Gururajan <rg@raghavgururajan.name>
+Date: Sun, 21 Mar 2021 21:13:53 -0400
+Subject: [PATCH] [PATCH]: Fix building from git.
+
+---
+ CMakeLists.txt | 73 +------------------
+ linphone-app/CMakeLists.txt | 12 +--
+ .../cmake_builder/additional_steps.cmake | 2 +-
+ .../linphone_package/CMakeLists.txt | 38 ----------
+ linphone-app/linphoneqt_version.cmake | 1 +
+ linphone-app/src/config.h.cmake | 1 +
+ 6 files changed, 6 insertions(+), 121 deletions(-)
+ create mode 100644 linphone-app/linphoneqt_version.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f7eb05f2..3e853bdd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -48,16 +48,6 @@ project(linphoneqt)
+ include(GNUInstallDirs)
+ include(CheckCXXCompilerFlag)
+
+-# Prepare gobal CMAKE configuration specific to the current project
+-set(SDK_BUILD_DIR "${CMAKE_BINARY_DIR}/WORK") # SDK build in WORK. Keep all in it.
+-set(LINPHONE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/linphone-sdk/desktop")
+-
+-set(APPLICATION_OUTPUT_DIR "${CMAKE_BINARY_DIR}/OUTPUT")
+-
+-set(CMAKE_PREFIX_PATH "${LINPHONE_OUTPUT_DIR};${APPLICATION_OUTPUT_DIR}${PREFIX_PATH}")
+-string(REPLACE ";" "|" PREFIX_PATH "${CMAKE_PREFIX_PATH}")
+-#set(PREFIX_PATH "${LINPHONE_OUTPUT_DIR}|${APPLICATION_OUTPUT_DIR}${PREFIX_PATH}")
+-
+ # Avoid cmake warning if CMP0071 is not set.
+ if (POLICY CMP0071)
+ cmake_policy(SET CMP0071 NEW)
+@@ -116,9 +106,6 @@ if(ENABLE_V4L)
+ endif()
+ list(APPEND APP_OPTIONS "-DENABLE_RELATIVE_PREFIX=${ENABLE_RELATIVE_PREFIX}")
+
+-list(APPEND APP_OPTIONS "-DLINPHONE_OUTPUT_DIR=${LINPHONE_OUTPUT_DIR}")
+-
+-include(ExternalProject)
+ set(PROJECT_BUILD_COMMAND "")
+ if(CMAKE_BUILD_PARALLEL_LEVEL)
+ list(APPEND APP_OPTIONS "-DCMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL}")
+@@ -133,32 +120,10 @@ if(CMAKE_VERBOSE_MAKEFILE)
+ endif()
+ endif()
+ if(UNIX AND NOT APPLE)
+- set(CMAKE_INSTALL_RPATH "$ORIGIN:$ORIGIN/lib64:$ORIGIN/../lib64:$ORIGIN/lib:$ORIGIN/../lib:${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}")
+ list(APPEND APP_OPTIONS "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}")
+ endif()
+-ExternalProject_Add(sdk PREFIX "${CMAKE_BINARY_DIR}/sdk"
+- SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-sdk"
+- INSTALL_DIR "${LINPHONE_OUTPUT_DIR}"
+- STAMP_DIR "${SDK_BUILD_DIR}/stamp"
+- BINARY_DIR "${SDK_BUILD_DIR}"
+- STEP_TARGETS build
+- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
+- INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
+- LIST_SEPARATOR | # Use the alternate list separator
+- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
+- #BUILD_ALWAYS NO #${DO_BUILD}
+-)
+-ExternalProject_Add_Step(sdk force_build
+- COMMENT "Forcing build for 'desktop'"
+- DEPENDEES configure
+- DEPENDERS build
+- ALWAYS 1
+-)
+ include(FindPkgConfig)
+
+-set(APP_DEPENDS sdk)
+-
+-
+ find_package(Qt5 5.12 COMPONENTS Core REQUIRED)
+
+ if ( NOT Qt5_FOUND )
+@@ -173,39 +138,5 @@ find_package(Mediastreamer2 CONFIG QUIET)
+ find_package(ortp CONFIG QUIET)
+
+
+-if(NOT (LinphoneCxx_FOUND) OR NOT (Linphone_FOUND) OR NOT (bctoolbox_FOUND) OR NOT (belcard_FOUND) OR NOT (Mediastreamer2_FOUND) OR NOT (ortp_FOUND) OR FORCE_APP_EXTERNAL_PROJECTS)
+- message("Projects are set as External projects. You can start building them by using for example : cmake --build . --target install")
+- ExternalProject_Add(linphone-qt PREFIX "${CMAKE_BINARY_DIR}/linphone-app"
+- SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-app"
+- INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
+- BINARY_DIR "${CMAKE_BINARY_DIR}/linphone-app"
+- DEPENDS ${APP_DEPENDS}
+- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
+- INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step will not be done by external project"
+- LIST_SEPARATOR | # Use the alternate list separator
+- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
+- # ${APP_OPTIONS}
+- BUILD_ALWAYS ON
+- )
+- install(CODE "message(STATUS Running install)")
+- set(AUTO_REGENERATION auto_regeneration)
+- add_custom_target(${AUTO_REGENERATION} ALL
+- COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}
+- DEPENDS linphone-qt)
+-else()
+- message("Adding Linphone Desktop in an IDE-friendly state")
+- set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}")
+- add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
+- add_dependencies(app-library ${APP_DEPENDS})
+-endif()
+-ExternalProject_Add(linphone-qt-only PREFIX "${CMAKE_BINARY_DIR}/linphone-app"
+- SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-app"
+- INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
+- BINARY_DIR "${CMAKE_BINARY_DIR}/linphone-app"
+- BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
+-# INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
+- LIST_SEPARATOR | # Use the alternate list separator
+- CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
+- EXCLUDE_FROM_ALL ON
+- BUILD_ALWAYS ON
+-)
++message("Adding Linphone Desktop in an IDE-friendly state")
++add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
+diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt
+index 3bc9420a..5267cd4a 100644
+--- a/linphone-app/CMakeLists.txt
++++ b/linphone-app/CMakeLists.txt
+@@ -21,17 +21,8 @@
+ ################################################################################
+ cmake_minimum_required(VERSION 3.1)
+
++include(linphoneqt_version.cmake)
+ find_package(bctoolbox CONFIG)
+-set(FULL_VERSION )
+-bc_compute_full_version(FULL_VERSION)
+-set(version_major )
+-set(version_minor )
+-set(version_patch )
+-set(identifiers )
+-set(metadata )
+-bc_parse_full_version("${FULL_VERSION}" version_major version_minor version_patch identifiers metadata)
+-
+-project(linphoneqt VERSION "${version_major}.${version_minor}.${version_patch}")
+
+ if(ENABLE_BUILD_VERBOSE)
+ #message("CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}")
+@@ -49,7 +40,6 @@ if(UNIX AND NOT APPLE)
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ endif()
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake")
+-list(APPEND CMAKE_MODULE_PATH "${LINPHONE_OUTPUT_DIR}/cmake")
+
+ set(APP_LIBRARY app-library)
+ include(application_info.cmake)
+diff --git a/linphone-app/cmake_builder/additional_steps.cmake b/linphone-app/cmake_builder/additional_steps.cmake
+index 7f7fd573..48e3c716 100644
+--- a/linphone-app/cmake_builder/additional_steps.cmake
++++ b/linphone-app/cmake_builder/additional_steps.cmake
+@@ -61,7 +61,7 @@ if (ENABLE_PACKAGING)
+ SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/linphone_package"
+ DOWNLOAD_COMMAND ""
+ CMAKE_GENERATOR ${CMAKE_GENERATOR}
+- CMAKE_ARGS ${LINPHONE_BUILDER_EP_ARGS} -DCMAKE_INSTALL_PREFIX=${LINPHONE_BUILDER_WORK_DIR}/PACKAGE -DTOOLS_DIR=${CMAKE_BINARY_DIR}/programs -DLINPHONE_OUTPUT_DIR=${CMAKE_INSTALL_PREFIX} -DLINPHONE_DESKTOP_DIR=${CMAKE_CURRENT_LIST_DIR}/.. -DLINPHONE_SOURCE_DIR=${EP_linphone_SOURCE_DIR} ${ENABLE_VARIABLES} -DLINPHONE_BUILDER_SIGNING_IDENTITY=${LINPHONE_BUILDER_SIGNING_IDENTITY}
++ CMAKE_ARGS ${LINPHONE_BUILDER_EP_ARGS} -DCMAKE_INSTALL_PREFIX=${LINPHONE_BUILDER_WORK_DIR}/PACKAGE -DTOOLS_DIR=${CMAKE_BINARY_DIR}/programs -DLINPHONE_DESKTOP_DIR=${CMAKE_CURRENT_LIST_DIR}/.. -DLINPHONE_SOURCE_DIR=${EP_linphone_SOURCE_DIR} ${ENABLE_VARIABLES} -DLINPHONE_BUILDER_SIGNING_IDENTITY=${LINPHONE_BUILDER_SIGNING_IDENTITY}
+ )
+ endif ()
+ endif ()
+diff --git a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
+index baea03cf..d06dcb74 100644
+--- a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
++++ b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
+@@ -200,44 +200,6 @@ elseif (APPLE)
+ endif ()
+ # install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app" DESTINATION "." USE_SOURCE_PERMISSIONS)
+ else()# Not Windows and Apple
+- foreach (LIBRARY ${SHARED_LIBRARIES})
+- get_filename_component(LIBRARY_FILENAME ${LIBRARY} NAME)
+- message("Changing RPATH of ${LIBRARY_FILENAME} from '${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}' to '$ORIGIN/../${CMAKE_INSTALL_LIBDIR}'")
+- execute_process(COMMAND install_name_tool -rpath "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}" "$ORIGIN/../lib" "${LIBRARY}")
+- execute_process(COMMAND install_name_tool -addrpath "$ORIGIN/../lib64" "${LIBRARY}")
+- endforeach ()
+- install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_BINDIR}/" DESTINATION "${CMAKE_INSTALL_BINDIR}" USE_SOURCE_PERMISSIONS)
+-#Just in case. This is useless because we have to use CMAKE_INSTALL_LIBDIR
+- if( EXISTS "${LINPHONE_OUTPUT_DIR}/lib/")
+- file(GLOB SHARED_LIBRARIES "${LINPHONE_OUTPUT_DIR}/lib/*.so*")
+- if( ENABLE_OPENH264 )# Remove openH264 lib from the installation. this codec will be download by user
+- foreach(item ${SHARED_LIBRARIES})
+- get_filename_component(LIBRARY_FILENAME ${item} NAME)
+- if("${LIBRARY_FILENAME}" MATCHES "^libopenh264.*$")
+- list(REMOVE_ITEM SHARED_LIBRARIES ${item})
+- endif()
+- endforeach(item)
+- endif()
+- install(FILES ${SHARED_LIBRARIES} DESTINATION "lib")
+- endif()
+- if( EXISTS "${LINPHONE_OUTPUT_DIR}/lib64/")
+- file(GLOB SHARED_LIBRARIES "${LINPHONE_OUTPUT_DIR}/lib64/*.so*")
+- if( ENABLE_OPENH264 )# Remove openH264 lib from the installation. this codec will be download by user
+- foreach(item ${SHARED_LIBRARIES})
+- get_filename_component(LIBRARY_FILENAME ${item} NAME)
+- if("${LIBRARY_FILENAME}" MATCHES "^libopenh264.*$")
+- list(REMOVE_ITEM SHARED_LIBRARIES ${item})
+- endif()
+- endforeach(item)
+- endif()
+- install(FILES ${SHARED_LIBRARIES} DESTINATION "lib64")
+- endif()
+- install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS)
+- if(ENABLE_BUILD_VERBOSE)
+- message("INSTALLATION : ${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/" )
+- endif()
+- file(GLOB PLUGINS_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer/plugins/*")
+- install(FILES ${PLUGINS_FILES} DESTINATION "plugins/mediastreamer/" )
+ # Install desktop/icon files.
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../assets/linphone.desktop.cmake" "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.desktop" @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.desktop" DESTINATION "${CMAKE_INSTALL_DATADIR}/applications")
+diff --git a/linphone-app/linphoneqt_version.cmake b/linphone-app/linphoneqt_version.cmake
+new file mode 100644
+index 00000000..a85d3455
+--- /dev/null
++++ b/linphone-app/linphoneqt_version.cmake
+@@ -0,0 +1 @@
++project(linphoneqt VERSION ${GUIX-SET-VERSION})
+\ No newline at end of file
+diff --git a/linphone-app/src/config.h.cmake b/linphone-app/src/config.h.cmake
+index 093539e0..5a238c70 100644
+--- a/linphone-app/src/config.h.cmake
++++ b/linphone-app/src/config.h.cmake
+@@ -28,3 +28,4 @@
+ #cmakedefine ENABLE_UPDATE_CHECK 1
+ #cmakedefine EXECUTABLE_NAME "${EXECUTABLE_NAME}"
+ #cmakedefine MSPLUGINS_DIR "${MSPLUGINS_DIR}"
++#define LINPHONE_QT_GIT_VERSION "${PROJECT_VERSION}"
+\ No newline at end of file
+--
+2.31.0
+
diff --git a/gnu/packages/patches/linphoneqt-tabbutton.patch b/gnu/packages/patches/linphoneqt-tabbutton.patch
deleted file mode 100644
index 6b3214026e..0000000000
--- a/gnu/packages/patches/linphoneqt-tabbutton.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From ecaab0f73d0b74bbfbf150286305fa6e12970037 Mon Sep 17 00:00:00 2001
-From: Ronan Abhamon <ronan.abhamon@belledonne-communications.com>
-Date: Fri, 19 Jan 2018 14:42:01 +0100
-Subject: [PATCH] fix(SettingsWindow): rename icon property of TabButton to
- iconName (issue with Qt 5.10 and new icon property)
-
----
- ui/modules/Common/Form/Tab/TabButton.qml | 8 ++++----
- ui/views/App/Settings/SettingsWindow.qml | 14 +++++++-------
- 2 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/ui/modules/Common/Form/Tab/TabButton.qml b/ui/modules/Common/Form/Tab/TabButton.qml
-index ad220ab2..a47bb20b 100644
---- a/ui/modules/Common/Form/Tab/TabButton.qml
-+++ b/ui/modules/Common/Form/Tab/TabButton.qml
-@@ -12,8 +12,8 @@ Controls.TabButton {
-
- // ---------------------------------------------------------------------------
-
-- property string icon
- property int iconSize: TabButtonStyle.icon.size
-+ property string iconName
-
- readonly property bool _isSelected: parent.parent.currentItem === button
-
-@@ -66,9 +66,9 @@ Controls.TabButton {
- Layout.leftMargin: TabButtonStyle.text.leftPadding
-
- icon: {
-- var icon = button.icon
-- return icon.length
-- ? (icon + '_' + (button._isSelected ? 'selected' : 'normal'))
-+ var iconName = button.iconName
-+ return iconName.length
-+ ? (iconName + '_' + (button._isSelected ? 'selected' : 'normal'))
- : ''
- }
- iconSize: button.iconSize
-diff --git a/ui/views/App/Settings/SettingsWindow.qml b/ui/views/App/Settings/SettingsWindow.qml
-index b8f5a80f..58909544 100644
---- a/ui/views/App/Settings/SettingsWindow.qml
-+++ b/ui/views/App/Settings/SettingsWindow.qml
-@@ -48,43 +48,43 @@ ApplicationWindow {
- id: tabBar
-
- TabButton {
-- icon: 'settings_sip_accounts'
-+ iconName: 'settings_sip_accounts'
- text: qsTr('sipAccountsTab')
- width: implicitWidth
- }
-
- TabButton {
-- icon: 'settings_audio'
-+ iconName: 'settings_audio'
- text: qsTr('audioTab')
- width: implicitWidth
- }
-
- TabButton {
-- icon: 'settings_video'
-+ iconName: 'settings_video'
- text: qsTr('videoTab')
- width: implicitWidth
- }
-
- TabButton {
-- icon: 'settings_call'
-+ iconName: 'settings_call'
- text: qsTr('callsAndChatTab')
- width: implicitWidth
- }
-
- TabButton {
-- icon: 'settings_network'
-+ iconName: 'settings_network'
- text: qsTr('networkTab')
- width: implicitWidth
- }
-
- TabButton {
-- icon: 'settings_advanced'
-+ iconName: 'settings_advanced'
- text: qsTr('uiTab')
- width: implicitWidth
- }
-
- TabButton {
-- icon: 'settings_advanced'
-+ iconName: 'settings_advanced'
- text: qsTr('uiAdvanced')
- width: implicitWidth
- }
---
-2.21.0
-
--
2.31.0
[-- Attachment #1.1.48: 0047-gnu-linphone-desktop-Enable-daemon-interface.patch --]
[-- Type: text/x-patch, Size: 1027 bytes --]
From c0401a1978c3ef43b7b546750f865d949e38efd5 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 21 Mar 2021 02:03:43 -0400
Subject: [PATCH 47/53] gnu: linphone-desktop: Enable daemon interface.
* gnu/packages/linphone.scm (linphone-desktop) [arguments]<#:configure-flags>
[-DENABLE_DAEMON]: New flag.
---
gnu/packages/linphone.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 981ff1f276..b6cc35a494 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -837,7 +837,8 @@ and video calls or instant messaging capabilities to an application.")
`(#:tests? #f ; No test target
#:configure-flags
(list
- "-DENABLE_UPDATE_CHECK=NO")
+ "-DENABLE_UPDATE_CHECK=NO"
+ "-DENABLE_DAEMON=YES")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'pre-configure
--
2.31.0
[-- Attachment #1.1.49: 0048-gnu-linphone-desktop-Enable-console-interface.patch --]
[-- Type: text/x-patch, Size: 1004 bytes --]
From bfe6a2341710491ab4fec48c0e059627410bbee1 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sun, 21 Mar 2021 02:05:42 -0400
Subject: [PATCH 48/53] gnu: linphone-desktop: Enable console interface.
* gnu/packages/linphone.scm (linphone-desktop) [arguments]<#:configure-flags>
[-DENABLE_CONSOLE_UI]: New flag.
---
gnu/packages/linphone.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index b6cc35a494..6fd74bd878 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -838,7 +838,8 @@ and video calls or instant messaging capabilities to an application.")
#:configure-flags
(list
"-DENABLE_UPDATE_CHECK=NO"
- "-DENABLE_DAEMON=YES")
+ "-DENABLE_DAEMON=YES"
+ "-DENABLE_CONSOLE_UI=YES")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'pre-configure
--
2.31.0
[-- Attachment #1.1.50: 0049-gnu-linphone-desktop-Update-home-page-and-license.patch --]
[-- Type: text/x-patch, Size: 1131 bytes --]
From 7fbfc1506f601f8e26f35522b37b4ff5fe4d0b54 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 19 Mar 2021 21:00:37 -0400
Subject: [PATCH 49/53] gnu: linphone-desktop: Update home-page and license.
* gnu/packages/linphone.scm (linphone-desktop) [home-page]: Modify.
[license]: Update to gpl3+.
---
gnu/packages/linphone.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 6fd74bd878..d14de08fc5 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -900,8 +900,8 @@ and video calls or instant messaging capabilities to an application.")
@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 msopenh264
(package
--
2.31.0
[-- Attachment #1.1.51: 0050-gnu-msopenh264-Update-to-1.2.1-21.patch --]
[-- Type: text/x-patch, Size: 3496 bytes --]
From fa533c2d4ea4b0b5de9e602f411633433a58e808 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 19 Mar 2021 22:21:12 -0400
Subject: [PATCH 50/53] gnu: msopenh264: Update to 1.2.1-21.
* gnu/packages/linphone.scm (msopenh264) [source]: Switch to git repository.
[version]: Update to 1.2.1.
[patches]: Remove field.
[inputs]: Add bctoolbox.
---
gnu/packages/linphone.scm | 65 +++++++++++++++++----------------------
1 file changed, 28 insertions(+), 37 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index d14de08fc5..28c914923c 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -904,44 +904,35 @@ and video calls or instant messaging capabilities to an application.")
(license license:gpl3+)))
(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
+ (let ((commit "88697cc95140017760d6da408cb0efdc5e86e40a")
+ (revision "21"))
+ (package
+ (name "msopenh264")
+ (version (git-version "1.2.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.linphone.org/msopenh264")
+ (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+)))
+ (home-page "https://gitlab.linphone.org/BC/public/msopenh264")
+ (license license:gpl2+))))
(define-public mssilk
(package
--
2.31.0
[-- Attachment #1.1.52: 0051-gnu-mssilk-Update-to-1.1.1-8.patch --]
[-- Type: text/x-patch, Size: 2854 bytes --]
From 5f17c2132cd7d36ebea030fe5a71aaf96ceb57d0 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 19 Mar 2021 22:33:38 -0400
Subject: [PATCH 51/53] gnu: mssilk: Update to 1.1.1-8.
* gnu/packages/linphone.scm (mssilk) [source]: Switch to git repository.
[version]: Update to 1.1.1-8.
[inputs]: Add bctoolbox.
---
gnu/packages/linphone.scm | 50 +++++++++++++++++++++------------------
1 file changed, 27 insertions(+), 23 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 28c914923c..458825cc5e 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -935,30 +935,34 @@ mediastreamer2 based on the openh264 library.")
(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 "8"))
+ (package
+ (name "mssilk")
+ (version (git-version "1.1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.linphone.org/mssilk")
+ (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
--
2.31.0
[-- Attachment #1.1.53: 0052-gnu-mswebrtc-Update-to-1.1.1-23.patch --]
[-- Type: text/x-patch, Size: 3962 bytes --]
From 5bd300da4840ee3acec507c78d06666b3e88e93f Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Fri, 19 Mar 2021 23:51:32 -0400
Subject: [PATCH 52/53] gnu: mswebrtc: Update to 1.1.1-23.
* gnu/packages/linphone.scm (mswebrtc) [source]: Switch to git repository.
[version]: Update to 1.1.1-23.
[arguments]<#:phases>['copy-inputs]: New phase.
[native-inputs]: Add webrtc and python-wrapper.
---
gnu/packages/linphone.scm | 75 ++++++++++++++++++++++++++-------------
1 file changed, 50 insertions(+), 25 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 458825cc5e..11d4a3343e 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -965,32 +965,57 @@ codec. It is based on the Skype's SILK implementation.")
(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 "23"))
+ (package
+ (name "mswebrtc")
+ (version (git-version "1.1.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.linphone.org/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
--
2.31.0
[-- Attachment #1.1.54: 0053-gnu-msamr-Update-to-1.1.3-11.patch --]
[-- Type: text/x-patch, Size: 3074 bytes --]
From ff594dc1c83cdb6dd5661b03fbefe890d82b3e44 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <rg@raghavgururajan.name>
Date: Sat, 20 Mar 2021 00:01:26 -0400
Subject: [PATCH 53/53] gnu: msamr: Update to 1.1.3-11.
* gnu/packages/linphone.scm (msamr) [source]: Switch to git repository.
[version]: Update to 1.1.3-11.
[inputs]: Add bctoolbox.
---
gnu/packages/linphone.scm | 56 +++++++++++++++++++++------------------
1 file changed, 30 insertions(+), 26 deletions(-)
diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm
index 11d4a3343e..042cbec601 100644
--- a/gnu/packages/linphone.scm
+++ b/gnu/packages/linphone.scm
@@ -1018,30 +1018,34 @@ WebRTC codec. It includes features from WebRTC, such as, iSAC and AECM.")
(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 "11"))
+ (package
+ (name "msamr")
+ (version (git-version "1.1.3" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.linphone.org/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+))))
--
2.31.0
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
next prev parent reply other threads:[~2021-03-22 4:45 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-20 4:26 [bug#47274] Linphone Packages Raghav Gururajan via Guix-patches via
2021-03-21 6:13 ` Raghav Gururajan via Guix-patches via
2021-03-22 1:48 ` Raghav Gururajan via Guix-patches via
2021-03-22 4:44 ` Raghav Gururajan via Guix-patches via [this message]
2021-03-22 4:59 ` Raghav Gururajan via Guix-patches via
2021-03-29 4:03 ` Maxim Cournoyer
2021-03-29 6:05 ` Raghav Gururajan via Guix-patches via
2021-03-29 18:38 ` Maxim Cournoyer
2021-03-29 18:47 ` Raghav Gururajan via Guix-patches via
2021-03-24 4:12 ` Maxim Cournoyer
2021-03-25 13:07 ` Maxim Cournoyer
2021-03-29 5:16 ` Raghav Gururajan via Guix-patches via
2021-03-27 2:13 ` Maxim Cournoyer
2021-03-29 5:52 ` Raghav Gururajan via Guix-patches via
2021-03-27 5:05 ` Maxim Cournoyer
2021-03-29 5:53 ` Raghav Gururajan via Guix-patches via
2021-03-27 5:11 ` Maxim Cournoyer
2021-03-28 4:05 ` Raghav Gururajan via Guix-patches via
2021-03-28 4:43 ` Maxim Cournoyer
2021-03-29 6:02 ` Raghav Gururajan via Guix-patches via
2021-03-29 5:53 ` Raghav Gururajan via Guix-patches via
2021-03-28 0:52 ` Maxim Cournoyer
2021-03-29 5:55 ` Raghav Gururajan via Guix-patches via
2021-03-29 5:44 ` bug#47274: " Maxim Cournoyer
2021-03-29 6:13 ` [bug#47274] " Raghav Gururajan via Guix-patches via
2021-03-29 18:39 ` Maxim Cournoyer
2021-03-25 1:55 ` Maxim Cournoyer
2021-03-29 5:13 ` Raghav Gururajan via Guix-patches via
2021-03-28 4:01 ` Maxim Cournoyer
2021-03-29 6:01 ` Raghav Gururajan via Guix-patches via
2021-03-29 5:19 ` Maxim Cournoyer
2021-03-29 6:12 ` Raghav Gururajan via Guix-patches via
2021-03-24 2:25 ` Maxim Cournoyer
2021-03-29 5:07 ` Raghav Gururajan via Guix-patches via
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cf75f6a8-fd76-cb05-0a46-903de3e882f6@raghavgururajan.name \
--to=guix-patches@gnu.org \
--cc=47274@debbugs.gnu.org \
--cc=dannym@scratchpost.org \
--cc=lle-bout@zaclys.net \
--cc=maxim.cournoyer@gmail.com \
--cc=rg@raghavgururajan.name \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).