summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrice Waegeneire <brice@waegenei.re>2025-07-03 22:22:51 +0200
committerMaxim Cournoyer <maxim@guixotic.coop>2025-07-10 14:08:35 +0900
commit6bdda4d1ccc94833eefc0c108523ec685d7a1dbb (patch)
tree9ba7153cd1f6c7f99e743ca233dbaf777b437d05
parentaf025cf48681720a3838b77bb066062a3760b8d3 (diff)
gnu: Add webrtc-audio-processing-0.3.
* gnu/packages/jami.scm (webrtc-audio-processing/jami): Move to... * gnu/packages/audio.scm: (webrtc-audio-processing-0.3): ... here. And inherit from webrtc-audio-processing. * gnu/packages/jami.scm (libjami)[inputs]: Replace webrtc-audio-processing/jami with webrtc-audio-processing-0.3. Change-Id: I7ea1d84882ea4f05383f973105c1ede966ea4e00 Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
-rw-r--r--gnu/packages/audio.scm55
-rw-r--r--gnu/packages/jami.scm61
2 files changed, 56 insertions, 60 deletions
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index c11f7ca383..486b2d9e7f 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -361,6 +361,61 @@ implementation of WebRTC.")
"https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/")
(license (license:non-copyleft "file:///COPYING"))))
+;; webrtc-audio-processing doesn't a have stable API, so we need to multiple
+;; versions of it.
+(define-public webrtc-audio-processing-0.3
+ (package
+ (inherit webrtc-audio-processing)
+ (version "0.3.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "http://freedesktop.org/software/pulseaudio/"
+ "webrtc-audio-processing/webrtc-audio-processing-"
+ version ".tar.xz"))
+ (sha256
+ (base32 "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0"))))
+ (build-system gnu-build-system)
+ (arguments
+ (if (or (target-riscv64?)
+ (target-powerpc?))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((patch-file
+ #$(local-file
+ (search-patch
+ "webrtc-audio-processing-big-endian.patch"))))
+ (invoke "patch" "--force" "-p1" "-i" patch-file)
+ (substitute* "webrtc/typedefs.h"
+ (("defined\\(__aarch64__\\)" all)
+ (string-append
+ ;; powerpc-linux
+ "(defined(__PPC__) && __SIZEOF_SIZE_T__ == 4)\n"
+ "#define WEBRTC_ARCH_32_BITS\n"
+ "#define WEBRTC_ARCH_BIG_ENDIAN\n"
+ ;; powerpc64-linux
+ "#elif (defined(__PPC64__) && defined(_BIG_ENDIAN))\n"
+ "#define WEBRTC_ARCH_64_BITS\n"
+ "#define WEBRTC_ARCH_BIG_ENDIAN\n"
+ ;; aarch64-linux
+ "#elif " all
+ ;; riscv64-linux
+ " || (defined(__riscv) && __riscv_xlen == 64)"
+ ;; powerpc64le-linux
+ " || (defined(__PPC64__) && defined(_LITTLE_ENDIAN))"))))))))
+ '()))
+ (native-inputs
+ (if (or (target-riscv64?)
+ (target-powerpc?))
+ (list
+ (local-file (search-patch "webrtc-audio-processing-big-endian.patch"))
+ patch)
+ (list pkg-config)))))
+
(define-public vo-aacenc
(package
(name "vo-aacenc")
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index db45c9973e..e79f86cfc4 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -81,65 +81,6 @@
(define %jami-nightly-version "20240524.0")
(define %jami-daemon-commit "fd2f2815448ce4072dcbc3995950788573d63f3b")
-(define webrtc-audio-processing/jami
- ;; libjami still requires an 0.x version of this package. Remove it when
- ;; libjami moves on, and don't forget to delete the patch.
- (package
- (name "webrtc-audio-processing")
- (version "0.3.1")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "http://freedesktop.org/software/pulseaudio/"
- "webrtc-audio-processing/webrtc-audio-processing-"
- version ".tar.xz"))
- (sha256
- (base32 "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0"))))
- (build-system gnu-build-system)
- (arguments
- (if (or (target-riscv64?)
- (target-powerpc?))
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-source
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((patch-file
- #$(local-file
- (search-patch
- "webrtc-audio-processing-big-endian.patch"))))
- (invoke "patch" "--force" "-p1" "-i" patch-file)
- (substitute* "webrtc/typedefs.h"
- (("defined\\(__aarch64__\\)" all)
- (string-append
- ;; powerpc-linux
- "(defined(__PPC__) && __SIZEOF_SIZE_T__ == 4)\n"
- "#define WEBRTC_ARCH_32_BITS\n"
- "#define WEBRTC_ARCH_BIG_ENDIAN\n"
- ;; powerpc64-linux
- "#elif (defined(__PPC64__) && defined(_BIG_ENDIAN))\n"
- "#define WEBRTC_ARCH_64_BITS\n"
- "#define WEBRTC_ARCH_BIG_ENDIAN\n"
- ;; aarch64-linux
- "#elif " all
- ;; riscv64-linux
- " || (defined(__riscv) && __riscv_xlen == 64)"
- ;; powerpc64le-linux
- " || (defined(__PPC64__) && defined(_LITTLE_ENDIAN))"))))))))
- '()))
- (native-inputs
- (if (or (target-riscv64?)
- (target-powerpc?))
- (list
- (local-file (search-patch "webrtc-audio-processing-big-endian.patch"))
- patch)
- '()))
- (home-page (package-home-page webrtc-audio-processing))
- (synopsis (package-synopsis webrtc-audio-processing))
- (description (package-description webrtc-audio-processing))
- (license (package-license webrtc-audio-processing))))
-
(define-public libjami
(package
(name "libjami")
@@ -218,7 +159,7 @@
sdbus-c++-1.4.0
speex
speexdsp
- webrtc-audio-processing/jami
+ webrtc-audio-processing-0.3
yaml-cpp))
(native-inputs
(list autoconf