X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/a45f8223e1a05ac3583708061209a1380b8a9d40..7bf82f5ede57c9c5344ddb1d4dcfe694eb306bef:/gnu/packages/audio.scm diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 3332e5b6d3..eff45af80f 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1,14 +1,14 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Alex Kost ;;; Copyright © 2015, 2016 Mark H Weaver -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner +;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner ;;; Copyright © 2016, 2017 Alex Griffin ;;; Copyright © 2016 Nikita ;;; Copyright © 2016 Lukas Gradl -;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice +;;; Copyright © 2016–2021 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2020 Oleg Pykhalov ;;; Copyright © 2018 okapi ;;; Copyright © 2018, 2020 Maxim Cournoyer @@ -19,7 +19,7 @@ ;;; Copyright © 2018 Eric Bavier ;;; Copyright © 2018 Brendan Tildesley ;;; Copyright © 2019 Pierre Langlois -;;; Copyright © 2019 Leo Famulari +;;; Copyright © 2019, 2021 Leo Famulari ;;; Copyright © 2019 Rutger Helling ;;; Copyright © 2019 Arun Isaac ;;; Copyright © 2019 Mathieu Othacehe @@ -27,7 +27,7 @@ ;;; Copyright © 2019 Christopher Lemmer Webber ;;; Copyright © 2019 Jan Wielkiewicz ;;; Copyright © 2019 Hartmt Goebel -;;; Copyright © 2019 Nicolas Goaziou +;;; Copyright © 2019, 2021 Nicolas Goaziou ;;; Copyright © 2020 Vincent Legoll ;;; Copyright © 2020 Guillaume Le Vaillant ;;; Copyright © 2020 Jonathan Frederickson @@ -58,6 +58,7 @@ #:use-module (gnu packages backup) #:use-module (gnu packages base) #:use-module (gnu packages bison) + #:use-module (gnu packages build-tools) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -140,7 +141,7 @@ (method git-fetch) (uri (git-reference - (url "https://github.com/KhronosGroup/OpenSL-ES-Registry.git") + (url "https://github.com/KhronosGroup/OpenSL-ES-Registry") (commit "ea5104bf37bf525c25e6ae2386586048179d0fda"))) (file-name (git-file-name name version)) (sha256 @@ -196,17 +197,17 @@ promoting the market for advanced audio.") (define-public wildmidi (package (name "wildmidi") - (version "0.4.3") + (version "0.4.4") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/Mindwerks/wildmidi.git") + (url "https://github.com/Mindwerks/wildmidi") (commit (string-append name "-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "01f4a9c5xlap5a4pkfnlgkzk5pjlk43zkq6fnw615ghya04g6hrl")))) + (base32 "08fbbsvw6pkwwqarjwcvdp8mq4zn5sgahf025hynwc6rvf4sp167")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No target @@ -277,7 +278,7 @@ Coding (AAC) encoder.") (method git-fetch) (uri (git-reference - (url "https://github.com/tinyalsa/tinyalsa.git") + (url "https://github.com/tinyalsa/tinyalsa") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -300,7 +301,7 @@ Linux kernel.") (define-public libopenmpt (package (name "libopenmpt") - (version "0.5.3") + (version "0.5.4") (source (origin (method url-fetch) @@ -308,7 +309,7 @@ Linux kernel.") (string-append "https://download.openmpt.org/archive/libopenmpt/src/" "libopenmpt-" version "+release.autotools.tar.gz")) (sha256 - (base32 "1f155yf5v57dwhzb7z0kh67lckr3yq4x8040dm54qgbxw582la77")))) + (base32 "0h7gpjx1221jwsq3k91p8zhf1h77qaxyasakc88s3g57vawhckgk")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -475,41 +476,15 @@ implementation of Adaptive Multi Rate Narrowband and Wideband (define-public alsa-modular-synth (package (name "alsa-modular-synth") - (version "2.1.2") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/alsamodular/alsamodular" "/" version "/ams-" version ".tar.bz2")) (sha256 (base32 - "1azbrhpfk4nnybr7kgmc7w6al6xnzppg853vas8gmkh185kk11l0")) - (patches - (search-patches "alsa-modular-synth-fix-vocoder.patch")))) + "056dn6b9c5nsw2jdww7z1kxrjqqfvxjzxhsd5x9gi4wkwyiv21nz")))) (build-system gnu-build-system) - (arguments - `(#:configure-flags - '("--enable-qt5" - "CXXFLAGS=-std=gnu++11") - #:phases - (modify-phases %standard-phases - (add-after 'set-paths 'hide-default-gcc - (lambda* (#:key inputs #:allow-other-keys) - (let ((gcc (assoc-ref inputs "gcc"))) - ;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent - ;; conflicts with the GCC 5 input. - (setenv "CPLUS_INCLUDE_PATH" - (string-join - (delete (string-append gcc "/include/c++") - (string-split (getenv "CPLUS_INCLUDE_PATH") #\:)) - ":")) - #t))) - ;; Insert an extra space between linker flags. - (add-before 'configure 'add-missing-space - (lambda _ - (substitute* "configure" - (("LIBS\\+=\\$LIBSsave") "LIBS+=\" $LIBSsave\"") - (("CFLAGS\\+=\\$CFLAGSsave") "CFLAGS+=\" $CFLAGSsave\"")) - #t))))) (inputs `(("alsa-lib" ,alsa-lib) ;; We cannot use zita-alsa-pcmi (the successor of clalsadrv) due to @@ -522,8 +497,7 @@ implementation of Adaptive Multi Rate Narrowband and Wideband ("qtbase" ,qtbase))) (native-inputs `(("pkg-config" ,pkg-config) - ("qttools" ,qttools) - ("gcc@5" ,gcc-5))) + ("qttools" ,qttools))) (home-page "http://alsamodular.sourceforge.net/") (synopsis "Realtime modular synthesizer and effect processor") (description @@ -702,7 +676,7 @@ engineers, musicians, soundtrack editors and composers.") (define-public audacity (package (name "audacity") - (version "2.4.1") + (version "2.4.2") (source (origin (method git-fetch) @@ -712,8 +686,9 @@ engineers, musicians, soundtrack editors and composers.") (file-name (git-file-name name version)) (sha256 (base32 - "1xk0piv72d2xd3p7igr916fhcbrm76fhjr418k1rlqdzzg1hfljn")) - (patches (search-patches "audacity-build-with-system-portaudio.patch")) + "0lklcvqkxrr2gkb9gh3422iadzl2rv9v0a8s76rwq43lj2im7546")) + (patches (search-patches "audacity-build-with-system-portaudio.patch" + "audacity-add-include.patch")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. @@ -723,7 +698,7 @@ engineers, musicians, soundtrack editors and composers.") (delete-file-recursively (string-append "lib-src/" dir))) '("expat" "ffmpeg" "lame" "libflac" "libid3tag" "libmad" "libogg" "libsndfile" "libsoxr" "libvamp" "libvorbis" "lv2" - "portaudio-v19" "portmidi" "soundtouch" "twolame" + "portmidi" "soundtouch" "twolame" ;; FIXME: these libraries have not been packaged yet: ;; "libnyquist" ;; "libscorealign" @@ -737,7 +712,7 @@ engineers, musicians, soundtrack editors and composers.") ;; "sbsms" )) #t)))) - (build-system glib-or-gtk-build-system) + (build-system cmake-build-system) (inputs `(("wxwidgets" ,wxwidgets) ("gtk+" ,gtk+) @@ -759,7 +734,6 @@ engineers, musicians, soundtrack editors and composers.") ("lv2" ,lv2) ("lilv" ,lilv) ;for lv2 ("suil" ,suil) ;for lv2 - ("portaudio" ,portaudio) ("portmidi" ,portmidi))) (native-inputs `(("autoconf" ,autoconf) @@ -767,56 +741,28 @@ engineers, musicians, soundtrack editors and composers.") ("gettext" ,gettext-minimal) ;for msgfmt ("libtool" ,libtool) ("pkg-config" ,pkg-config) - ("python" ,python-2) + ("python" ,python) ("which" ,which))) (arguments `(#:configure-flags - (let ((libid3tag (assoc-ref %build-inputs "libid3tag")) - (libmad (assoc-ref %build-inputs "libmad")) - (portmidi (assoc-ref %build-inputs "portmidi"))) - (list - ;; Loading FFmpeg dynamically is problematic. - "--disable-dynamic-loading" - ;; SSE instructions are available on Intel systems only. - ,@(if (any (cute string-prefix? <> (or (%current-target-system) - (%current-system))) - '("x86_64" "i686")) - '() - '("--enable-sse=no")) - ;; portmidi, libid3tag and libmad provide no .pc files, so - ;; pkg-config fails to find them. Force their inclusion. - (string-append "ID3TAG_CFLAGS=-I" libid3tag "/include") - (string-append "ID3TAG_LIBS=-L" libid3tag "/lib -lid3tag -lz") - (string-append "LIBMAD_CFLAGS=-I" libmad "/include") - (string-append "LIBMAD_LIBS=-L" libmad "/lib -lmad") - (string-append "PORTMIDI_CFLAGS=-I" portmidi "/include") - (string-append "PORTMIDI_LIBS=-L" portmidi "/lib -lportmidi") - "EXPAT_USE_SYSTEM=yes" - "FFMPEG_USE_SYSTEM=yes" - "LAME_USE_SYSTEM=yes" - "LIBFLAC_USE_SYSTEM=yes" - "LIBID3TAG_USE_SYSTEM=yes" - "LIBMAD_USE_SYSTEM=yes" - "USE_LOCAL_LIBNYQUIST=" ;not packaged yet - ;;"LIBSBSMS_USE_SYSTEM=yes" ;bundled version is patched - "LIBSNDFILE_USE_SYSTEM=yes" - "LIBSOUNDTOUCH_USE_SYSTEM=yes" - "LIBSOXR_USE_SYSTEM=yes" - "LIBTWOLAME_USE_SYSTEM=yes" - "LIBVAMP_USE_SYSTEM=yes" - "LIBVORBIS_USE_SYSTEM=yes" - "LV2_USE_SYSTEM=yes" - "PORTAUDIO_USE_SYSTEM=yes")) + (list + ;; Loading FFmpeg dynamically is problematic. + "-Daudacity_use_ffmpeg=linked" + "-Daudacity_use_lame=system" + "-Daudacity_use_portsmf=system") + #:imported-modules ((guix build glib-or-gtk-build-system) + ,@%cmake-build-system-modules) + #:modules + ((guix build utils) + (guix build cmake-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)) #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-sbsms-check + (add-after 'unpack 'comment-out-revision-ident (lambda _ - ;; This check is wrong: there is no 2.2.0 release; not even the - ;; bundled sources match this release string. - (substitute* '("m4/audacity_checklib_libsbsms.m4" - "configure") - (("sbsms >= 2.2.0") "sbsms >= 2.0.0")) - #t)) + (substitute* "src/AboutDialog.cpp" + (("(.*RevisionIdent\\.h.*)" include-line) + (string-append "// " include-line))))) (add-after 'unpack 'use-upstream-headers (lambda* (#:key inputs #:allow-other-keys) (substitute* '("src/NoteTrack.cpp" @@ -826,12 +772,13 @@ engineers, musicians, soundtrack editors and composers.") (("../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h") (("../lib-src/portmidi/porttime/porttime.h") "porttime.h")) (substitute* "src/prefs/MidiIOPrefs.cpp" - (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h")) - #t))) - ;; The test suite is not "well exercised" according to the developers, - ;; and fails with various errors. See - ;; . - #:tests? #f)) + (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h")))) + (add-after 'wrap-program 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))) + ;; The test suite is not "well exercised" according to the developers, + ;; and fails with various errors. See + ;; . + #:tests? #f)) (home-page "https://www.audacityteam.org/") (synopsis "Software for recording and editing sounds") (description @@ -1105,6 +1052,40 @@ performances. The plugins include a cellular automaton synthesizer, an envelope follower, distortion effects, tape effects and more.") (license license:gpl2+))) +(define-public snapcast + (package + (name "snapcast") + (version "0.24.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/badaix/snapcast") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13yz8alplnqwkcns3mcli01qbyy6l3h62xx0v71ygcrz371l4g9g")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f)) ; no included tests + (inputs + `(("boost" ,boost) + ("libvorbis" ,libvorbis) + ("soxr" ,soxr) + ("alsa-lib" ,alsa-lib) + ("avahi" ,avahi) + ("pulseaudio" ,pulseaudio) + ("flac" ,flac) + ("opus" ,opus))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/badaix/snapcast") + (synopsis "Synchronous multiroom audio player") + (description + "Snapcast is a multi-room client-server audio player. Clients are time +synchronized with the server to play synced audio.") + (license license:gpl3+))) + (define-public swh-plugins (package (name "swh-plugins") @@ -1284,6 +1265,37 @@ object library.") language and software synthesizer.") (license license:lgpl2.1+))) +(define-public midicomp + ;; The latest tagged release is 9 years old and there have been + ;; unreleased fixes, so we take the last commit. + (let ((commit "70f76963cb0cdb3cbe03ec6e7246b1fb885d3c68") + (revision "1")) + (package + (name "midicomp") + (version (git-version "0.0.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/markc/midicomp") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12zh247c6v88ssy4l8v7yirh4bl2jcc1ch7f4gdry79a82kai1gf")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ; no "check" target + (synopsis "Convert SMF MIDI files to and from plain text") + (description + "midicomp can manipulate SMF (Standard MIDI File) files. It can both + read and write SMF files in 0 or format 1 and also read and write its own + plain text format. This means a SMF file can be turned into easily + parseable text, edited with any text editor or filtered through any script + language, and recompiled back into a binary SMF file.") + (home-page "https://github.com/markc/midicomp") + (license license:agpl3)))) + (define-public clalsadrv (package (name "clalsadrv") @@ -1644,7 +1656,7 @@ follower.") (define-public fluidsynth (package (name "fluidsynth") - (version "2.1.5") + (version "2.1.8") (source (origin (method git-fetch) (uri (git-reference @@ -1653,7 +1665,7 @@ follower.") (file-name (git-file-name name version)) (sha256 (base32 - "0ccpq4p1h1g53ng3961g3lh590qnwvpzwdzpl6ai4j6iazq0bh73")))) + "0r944ndn138ak9s3ivgd1wgkwkh6zp7jjnxd30hryczc6kbhkpmr")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no check target @@ -1676,7 +1688,7 @@ follower.") ("glib" ,glib))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.fluidsynth.org/") + (home-page "https://www.fluidsynth.org/") (synopsis "SoundFont synthesizer") (description "FluidSynth is a real-time software synthesizer based on the SoundFont 2 @@ -1968,8 +1980,15 @@ well suited to all musical instruments and vocals.") (list (string-append "PREFIX=" (assoc-ref %outputs "out")) (string-append "INSTDIR=" (assoc-ref %outputs "out") "/lib/lv2")) - #:phases (modify-phases %standard-phases - (delete 'configure)))) ; no configure script + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + ;; See https://github.com/tomszilagyi/ir.lv2/pull/20 + (add-after 'unpack 'fix-type + (lambda _ + (substitute* '("ir_gui.cc" "lv2_ui.h") + (("_LV2UI_Descriptor") "LV2UI_Descriptor")) + #t))))) (inputs `(("libsndfile" ,libsndfile) ("libsamplerate" ,libsamplerate) @@ -2397,14 +2416,14 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.") (define-public lilv (package (name "lilv") - (version "0.24.8") + (version "0.24.10") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/lilv-" version ".tar.bz2")) (sha256 (base32 - "0063i5zgf3d3accwmyx651hw0wh5ik7kji2hvfkcdbl1qia3dp6a")))) + "1565zy0yz46cf2f25pi46msdnzkj6bbhml9gfigdpjnsdlyskfyi")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target @@ -2693,14 +2712,14 @@ different audio devices such as ALSA or PulseAudio.") (define-public qjackctl (package (name "qjackctl") - (version "0.6.3") + (version "0.9.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" version "/qjackctl-" version ".tar.gz")) (sha256 (base32 - "0zbb4jlx56qvcqyhx34mbagkqf3wbxgj84hk0ppf5cmcrxv67d4x")))) + "0m72kglwwvn91dxnka4lx765p3r0bcpqw251svymxr2wxjc4rgjg")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no check target @@ -2757,7 +2776,7 @@ background file post-processing.") (define-public supercollider (package (name "supercollider") - (version "3.11.0") + (version "3.11.2") (source (origin (method git-fetch) (uri (git-reference @@ -2768,7 +2787,7 @@ background file post-processing.") (file-name (git-file-name name version)) (sha256 (base32 - "02v911w2kdbg3kfl593lb2ig4sjbfxzv20a0vbcymhfzpvp1x6xp")) + "1gi7nrmjmbnjndqkmhfrkk0jchrzvnhl3f6gp6n5wgdd4mxbgxgw")) (modules '((guix build utils) (ice-9 ftw))) (snippet @@ -2798,7 +2817,8 @@ link REQUIRED)")) (arguments `(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on" "-DSC_QT=ON" "-DCMAKE_BUILD_TYPE=Release" - "-DFORTIFY=ON" "-DLIBSCSYNTH=ON" + "-DFORTIFY=ON" + ;"-DLIBSCSYNTH=ON" ; TODO: Re-enable? "-DSC_EL=off") ;scel is packaged individually as ;emacs-scel #:phases @@ -3014,14 +3034,14 @@ input/output.") (define-public sratom (package (name "sratom") - (version "0.6.4") + (version "0.6.6") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/sratom-" version ".tar.bz2")) (sha256 (base32 - "0vh0biy3ngpzzgdml309c2mqz8xq9q0hlblczb4c6alhp0a8yv0l")))) + "178v90qvsp6lw4sqdmdz0bzyjkgwhv9m75ph1d1z8say5bv0p4gv")))) (build-system waf-build-system) (arguments `(#:tests? #f)) ;no check target (propagated-inputs @@ -3041,14 +3061,14 @@ the Turtle syntax.") (define-public suil (package (name "suil") - (version "0.10.6") + (version "0.10.8") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/suil-" version ".tar.bz2")) (sha256 (base32 - "0z4v01pjw4wh65x38w6icn28wdwxz13ayl8hvn4p1g9kmamp1z06")))) + "0h0ghk1s0lrj4gh12r7390b0ybaw7awnj0vhchyy9ll0gvhqgkci")))) (build-system waf-build-system) (arguments `(#:tests? #f)) ;no check target @@ -3101,7 +3121,7 @@ for loudness normalisation.") (define-public timidity++ (package (name "timidity++") - (version "2.14.0") + (version "2.15.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/timidity/TiMidity++" @@ -3109,7 +3129,7 @@ for loudness normalisation.") "/TiMidity++-" version ".tar.bz2")) (sha256 (base32 - "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr")))) + "1xf8n6dqzvi6nr2asags12ijbj1lwk1hgl3s27vm2szib8ww07qn")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -3239,32 +3259,27 @@ stretching and pitch scaling of audio. This package contains the library.") (define-public wavpack (package (name "wavpack") - (version "5.3.2") + (version "5.4.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dbry/WavPack") - (commit "e4e8d191e8dd74cbdbeaef3232c16a7ef517e68d"))) + (method url-fetch) + (uri (string-append "https://github.com/dbry/WavPack/releases/download/" + version "/wavpack-" version ".tar.xz")) (sha256 - (base32 "1zj8svk6giy1abq3940sz32ygz7zldppxl47852zgn5wfm3l2spx")) - (file-name (git-file-name name version)))) + (base32 "0ycbqarw25x7208jilh86vwwiqklr7f617jps9mllqc659mnmpjb")))) (build-system gnu-build-system) (arguments '(#:configure-flags - (list "--disable-static") + (list "--disable-static" + "--enable-tests") #:phases (modify-phases %standard-phases - (replace 'bootstrap - ;; Running ./autogen.sh would cause premature configuration. - (lambda _ - (invoke "autoreconf" "-vif") + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "./cli/wvtest" "--default" "--short")) #t))))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) - (home-page "http://www.wavpack.com/") + (home-page "https://www.wavpack.com/") (synopsis "Hybrid lossless audio codec") (description "WavPack is an audio compression format with lossless, lossy and hybrid @@ -3447,7 +3462,7 @@ conversion. It may be used, for example, to resample PCM-encoded audio.") (native-inputs `(("perl" ,perl) ("which" ,which))) ;used in tests/test.pl - (home-page "http://www.twolame.org/") + (home-page "https://www.twolame.org/") (synopsis "MPEG Audio Layer 2 (MP2) encoder") (description "TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on @@ -4086,14 +4101,14 @@ on the ALSA software PCM plugin.") (define-public snd (package (name "snd") - (version "20.8") + (version "20.9") (source (origin (method url-fetch) (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" "snd-" version ".tar.gz")) (sha256 (base32 - "1hw81innyyiwiyb8jkpq9aj7idmcb41yvgd1blac997023h78sss")))) + "0jxkycxn6jcbs4gklk9sk3gfr0y26dz1m71nxah9rnx80wnzj6hr")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; no tests @@ -4187,6 +4202,63 @@ the following features: ") (license license:lgpl3+))) +(define-public lv2-speech-denoiser + (let ((commit "04cfba929630404f8d4f4ca5bac8d9b09a99152f") + (revision "1")) + (package + (name "lv2-speech-denoiser") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lucianodato/speech-denoiser/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "189l6lz8sz5vr6bjyzgcsrvksl1w6crqsg0q65r94b5yjsmjnpr4")))) + (build-system meson-build-system) + (arguments + `(#:meson ,meson-0.55 + ;; Using a "release" build is recommended for performance + #:build-type "release" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-meson-build + (lambda _ + (substitute* "meson.build" + (("install_folder = 'sdenoise.lv2'") + "install_folder = 'lib/lv2/sdenoise.lv2'") + (("build/manifest.ttl") "../build/manifest.ttl")) + #t)) + (add-after 'unpack 'build-rnnoise + (lambda _ + (with-directory-excursion "rnnoise" + (let ((old-CFLAGS (getenv "CFLAGS"))) + (setenv "CFLAGS" "-fvisibility=hidden -fPIC -Wl,--exclude-libs,ALL") + (setenv "CONFIG_SHELL" (which "bash")) + (invoke "autoreconf" "-vif") + (invoke "sh" "configure" + "--disable-examples" + "--disable-doc" + "--disable-shared" + "--enable-static") + (invoke "make") + (setenv "CFLAGS" old-CFLAGS)))))))) + (inputs + `(("lv2" ,lv2))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/werman/noise-suppression-for-voice") + (synopsis "Speech denoise LV2 plugin based on Xiph's RNNoise library") + (description "RNNoise is a library that uses deep learning to apply +noise supression to audio sources with voice presence. This package provides +an LV2 audio plugin.") + (license license:lgpl3+)))) + (define-public cli-visualizer (package (name "cli-visualizer") @@ -4236,7 +4308,7 @@ representations.") (define-public cava (package (name "cava") - (version "0.6.1") + (version "0.7.3") (source (origin (method git-fetch) (uri (git-reference @@ -4245,7 +4317,7 @@ representations.") (file-name (git-file-name name version)) (sha256 (base32 - "1kvhqgijs29909w3sq9m0bslx2zxxn4b3i07kdz4hb0dqkppxpjy")))) + "04j5hb29hivcbk542sfsx9m57dbnj2s6qpvy9fs488zvgjbgxrai")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -4570,20 +4642,20 @@ workstations as well as consumer software such as music players.") (define-public redkite (package (name "redkite") - (version "1.0.3") + (version "1.3.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/geontime/redkite.git") + (url "https://gitlab.com/iurie-sw/redkite") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1m2db7c791fi33snkjwnvlxapmf879g5r8azlkx7sr6vp2s0jq2k")))) + (base32 "16j9zp5i7svq3g38rfb6h257qfgnd2brrxi7cjd2pdax9xxwj40y")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no tests included - (inputs + (propagated-inputs `(("cairo" ,cairo))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -4713,7 +4785,7 @@ in the package.") (define-public libaudec (package (name "libaudec") - (version "0.2.3") + (version "0.2.4") (source (origin (method git-fetch) @@ -4723,11 +4795,13 @@ in the package.") (file-name (git-file-name name version)) (sha256 (base32 - "04hw61db8wscj28qjyiaiafx8xl87njgmvqszxyhs4gmg8xgjip7")))) + "1570m2dfia17dbkhd2qhx8jjihrpm7g8nnyg6n4wif4vv229s7dz")))) (build-system meson-build-system) (arguments - ;; Compile tests. - `(#:configure-flags `("-Dtests=true"))) + `(#:meson ,meson-0.55 + #:configure-flags + ;; Build the tests. + `("-Dtests=true"))) (inputs `(("libsamplerate" ,libsamplerate) ("libsndfile" ,libsndfile))) @@ -4823,11 +4897,13 @@ with the provided metadata and adhere to well-known best practices.") (base32 "07xl3cmdaf7k9mm58m93cn8i1jvgimmiifdw1w7v2jl88nx60pm1")))) (build-system meson-build-system) - (inputs - `(("cairo" ,cairo) - ("libx11" ,libx11))) (native-inputs `(("pkg-config" ,pkg-config))) + ;; These are listed as propagated inputs because they are dependencies + ;; in pkgconfig. + (propagated-inputs + `(("cairo" ,cairo) + ("libx11" ,libx11))) (synopsis "GUI toolkit for LV2 plugins") (description "ZToolkit (Ztk) is a cross-platform GUI toolkit heavily inspired by GTK. It handles events and low level drawing on behalf of @@ -4841,7 +4917,7 @@ minimum.") (define-public libinstpatch (package (name "libinstpatch") - (version "1.1.5") + (version "1.1.6") (source (origin (method git-fetch) @@ -4850,7 +4926,7 @@ minimum.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0psx4hc5yksfd3k2xqsc7c8lbz2d4yybikyddyd9hlkhq979cmjb")))) + (base32 "1w3nk0vvd1cxic70n45zjip0bdsrja969myvyvkhq3ngbarbykir")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;there are no tests @@ -4871,29 +4947,27 @@ edited, converted, compressed and saved.") (license license:lgpl2.1))) (define-public ztoolkit-rsvg - (package - (inherit ztoolkit) + (package/inherit ztoolkit (name "ztoolkit-rsvg") (arguments `(#:configure-flags `("-Denable_rsvg=true"))) - (inputs + (propagated-inputs `(("librsvg" ,librsvg) - ,@(package-inputs ztoolkit))) + ,@(package-propagated-inputs ztoolkit))) (synopsis "ZToolkit with SVG support"))) (define-public lsp-dsp-lib (package (name "lsp-dsp-lib") - (version "0.5.8") + (version "0.5.11") (source (origin (method url-fetch) (uri (string-append "https://github.com/sadko4u/lsp-dsp-lib/" - "releases/download/lsp-dsp-lib-" version + "releases/download/" version "/lsp-dsp-lib-" version "-src.tar.gz")) (sha256 - (base32 - "07w3d2i0z0xmvi1ngcgs7lc5a0da8jvf7rv4dnjk01md43b7fkh1")))) + (base32 "0lkar6r9jfrrqswi8nnndlm5a9kfwqjn92d81gp2yhc3p46xsswz")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests @@ -4901,6 +4975,11 @@ edited, converted, compressed and saved.") (list (string-append "CC=" ,(cc-for-target))) #:phases (modify-phases %standard-phases + (add-after 'unpack 'omit-static-library + (lambda _ + (substitute* "src/Makefile" + ((".*@.*ARTIFACT_SLIB.*") "") ; don't install it + ((" \\$\\(ARTIFACT_SLIB\\)") "")))) ; don't build it (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (invoke "make" "config" @@ -5046,3 +5125,57 @@ connected to a local network discover each other automatically and form a musica session in which each participant can perform independently: anyone can start or stop while still staying in time.") (license license:gpl2+))) + +(define-public butt + (package + (name "butt") + (version "0.1.29") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/butt/butt/butt-" + version "/butt-" version ".tar.gz")) + (sha256 + (base32 + "0nbz0z4d7krvhmnwn10594gwc61gn2dlb5fazmynjfisrfdswqlg")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-documentation + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (manual (assoc-ref inputs "manual")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (install-file "README" doc) + (copy-file manual (string-append doc "/butt-manual.pdf")))))))) + (inputs + `(("dbus" ,dbus) + ("flac" ,flac) + ("fltk" ,fltk) + ("lame" ,lame) + ("libfdk" ,libfdk) + ("libsamplerate" ,libsamplerate) + ("libvorbis" ,libvorbis) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxft" ,libxft) + ("libxrender" ,libxrender) + ("ogg" ,libogg) + ("openssl" ,openssl) + ("opus" ,opus) + ("portaudio" ,portaudio))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("manual" ,(origin + (method url-fetch) + (uri (string-append "https://danielnoethen.de/butt/butt-" + version "_manual.pdf")) + (sha256 + (base32 + "1hhgdhdg5s86hjcbwh856gcd3kcch0i5xgi3i3v02zz3xmzl7gg3")))))) + (home-page "https://danielnoethen.de/butt/") + (synopsis "Audio streaming tool") + (description "Butt is a tool to stream audio to a ShoutCast or +Icecast server.") + (license license:gpl2+)))