diff options
Diffstat (limited to 'gnu/packages/xiph.scm')
-rw-r--r-- | gnu/packages/xiph.scm | 138 |
1 files changed, 83 insertions, 55 deletions
diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index fbbcbd6e61..a240ce7c4a 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -11,6 +11,8 @@ ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> +;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> +;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,14 +52,14 @@ (define-public libogg (package (name "libogg") - (version "1.3.4") + (version "1.3.5") (source (origin (method url-fetch) (uri (string-append "https://downloads.xiph.org/releases/ogg/libogg-" version ".tar.xz")) (sha256 (base32 - "1zlk33vxvxr0l9lhkbhkdwvylw96d2n0fnd3d8dl031hph9bqqy1")))) + "01b7050bghdvbxvw0gzv588fn4a27zh42ljpwzm4vrf8dziipnf4")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) @@ -84,7 +86,7 @@ periodic timestamps for seeking.") (base32 "0jwmf87x5sdis64rbv0l87mdpah1rbilkkxszipbzg128f9w8g5k")))) (build-system gnu-build-system) - (propagated-inputs `(("libogg" ,libogg))) + (propagated-inputs (list libogg)) (arguments `(#:configure-flags '("LDFLAGS=-lm" "--disable-static") #:parallel-tests? #f)) @@ -114,9 +116,9 @@ polyphonic) audio and music at fixed and variable bitrates from 16 to (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) - (inputs `(("libvorbis" ,libvorbis))) + (inputs (list libvorbis)) ;; The .pc files refer to libogg. - (propagated-inputs `(("libogg" ,libogg))) + (propagated-inputs (list libogg)) (synopsis "Library implementing the Theora video format") (description "The libtheora library implements the ogg theora video format, @@ -141,10 +143,9 @@ compressed video format.") (arguments '(#:configure-flags '("--disable-static"))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("libogg" ,libogg) - ("speexdsp" ,speexdsp))) + (list libogg speexdsp)) (home-page "https://gnu.org/software/speex") (synopsis "Library for patent-free audio compression format") (description @@ -202,13 +203,9 @@ work from the @code{speex} codec.") ;; "out" would include only the ALSA back-end, while "pulse" would ;; contain 'lib/ao/plugins-4/libpulse.*'. (inputs - `(("alsa-lib" ,alsa-lib) - ("pulseaudio" ,pulseaudio))) + (list alsa-lib pulseaudio)) (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) + (list pkg-config autoconf automake libtool)) (synopsis "Cross platform audio library") (description "Libao is a cross-platform audio library that allows programs to @@ -253,7 +250,7 @@ It currently supports: (arguments `(#:parallel-tests? #f)) ;; FIXME: configure also looks for xmms, input could be added once it exists - (propagated-inputs `(("libogg" ,libogg))) ; required by flac.pc + (propagated-inputs (list libogg)) ; required by flac.pc (synopsis "Free lossless audio codec") (description "FLAC stands for Free Lossless Audio Codec, an audio format that is lossless, @@ -274,14 +271,9 @@ meaning that audio is compressed in FLAC without any loss in quality.") (base32 "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4")))) (build-system gnu-build-system) - (native-inputs `(("doxygen" ,doxygen) - ("bison" ,bison) - ("pkg-config" ,pkg-config))) + (native-inputs (list doxygen bison pkg-config)) ;; FIXME: Add optional input liboggz - (inputs `(("libogg" ,libogg) - ("libpng" ,libpng) - ("python" ,python-wrapper) - ("zlib" ,zlib))) + (inputs (list libogg libpng python-wrapper zlib)) (synopsis "Karaoke and text codec for embedding in ogg") (description "Kate is an overlay codec, originally designed for karaoke and text, @@ -310,14 +302,14 @@ Kate stream.") (base32 "1c7h4ivgfdyygz2hyh6nfibxlkz8kdk868a576qkkjgj5gn78xyv")))) (build-system gnu-build-system) - (inputs `(("ao" ,ao) - ("curl" ,curl) - ("flac" ,flac) - ("libkate" ,libkate) - ("libogg" ,libogg) - ("libvorbis" ,libvorbis) - ("speex" ,speex))) - (native-inputs `(("pkg-config" ,pkg-config))) + (inputs (list ao + curl + flac + libkate + libogg + libvorbis + speex)) + (native-inputs (list pkg-config)) (synopsis "Ogg vorbis tools") (description "Ogg vorbis is a non-proprietary, patent-and-royalty-free, @@ -379,11 +371,9 @@ incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.") (assoc-ref %build-inputs "opus") "/include/opus")))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("libopusenc" ,libopusenc) - ("opusfile" ,opusfile) - ("flac" ,flac))) + (list libopusenc opusfile flac)) (synopsis "Command line utilities to encode, inspect, and decode .opus files") (description "Opus is a royalty-free, highly versatile audio codec. @@ -406,14 +396,21 @@ decoding .opus files.") "02smwc5ah8nb3a67mnkjzqmrzk43j356hgj2a97s9midq40qd38i")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + '(#:configure-flags '("--disable-static") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-multistream + ;; Opus include directory should be passed explicitly: + ;; https://github.com/xiph/opusfile/issues/10 however, + ;; opus_multistream.h still can't be found by the compiler. + (lambda _ + (substitute* "include/opusfile.h" + (("opus_multistream\\.h") "opus/opus_multistream.h"))))))) ;; Required by opusfile.pc and opusurl.pc. (propagated-inputs - `(("libogg" ,libogg) - ("openssl" ,openssl) - ("opus" ,opus))) + (list libogg openssl opus)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (synopsis "Versatile audio codec") (description "The opusfile library provides seeking, decode, and playback of Opus @@ -435,10 +432,10 @@ windows systems.") "1ffb0vhlymlsq70pxsjj0ksz77yfm2x0a1x8q50kxmnkm1hxp642")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (propagated-inputs - `(("opus" ,opus))) - (synopsis "Library for encoding Opus audio files and streams ") + (list opus)) + (synopsis "Library for encoding Opus audio files and streams") (description "The libopusenc libraries provide a high-level API for encoding Opus files and streams.") (home-page "https://www.opus-codec.org/") @@ -458,16 +455,16 @@ encoding Opus files and streams.") "0i2d9rhav0x6js2qhjf5iy6j2a7f0d11ail0lfv40hb1kygrgda9")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("libxslt" ,libxslt) - ("libxml2" ,libxml2) - ("openssl" ,openssl) - ("curl" ,curl) - ("libogg" ,libogg) - ("libvorbis" ,libvorbis) - ("libtheora" ,libtheora) - ("speex" ,speex))) + (list libxslt + libxml2 + openssl + curl + libogg + libvorbis + libtheora + speex)) (synopsis "Streaming media server") (description "Icecast is a streaming media server which currently supports Ogg (Vorbis and Theora), Opus, WebM and MP3 audio streams. It can be used to @@ -490,12 +487,10 @@ things in between.") "1438da40y73y9068saxrbmm27qq6xqmmzsziwgmr8fb7i9k6irfr")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (propagated-inputs ;; shout.pc refers to all these. - `(("libtheora" ,libtheora) - ("libvorbis" ,libvorbis) - ("speex" ,speex))) + (list libtheora libvorbis speex)) (home-page "https://icecast.org/") (synopsis "Audio streaming library for icecast encoders") (description @@ -503,3 +498,36 @@ things in between.") icecast server. It handles the socket connection, the timing of the data, and prevents bad data from getting to the icecast server.") (license license:gpl2+))) + +(define-public xiph-rnnoise + ;; No upstream release + (let ((commit "7f449bf8bd3b933891d12c30112268c4090e4d59") + (revision "0")) + (package + (name "rnnoise") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.xiph.org/xiph/rnnoise") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0y8jdvxd9namw4f9hcmcmm2q0f32mnhfyjap8906hl308cws3rkj")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "https://gitlab.xiph.org/xiph/rnnoise") + (synopsis "Real-time noise suppression") + (description "RNNoise is a noise suppression library based on a recurrent +neural network. The algorithm is described in Jean-Marc Valin's paper +@cite{A Hybrid DSP/Deep Learning Approach to Real-Time Full-Band Speech +Enhancement}.") + (license license:bsd-3) + (properties + ;; There's no public release and a conflicting package, so hide it for + ;; now. + `((hidden? . #t)))))) |