;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
-;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2019 Hartmt Goebel <h.goebel@crazy-compilers.com>
-;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Jonathan Frederickson <jonathan@terracrypt.net>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;;
;;; This file is part of GNU Guix.
;;;
#: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)
(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
(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
(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
(define-public libopenmpt
(package
(name "libopenmpt")
- (version "0.5.2")
+ (version "0.5.4")
(source
(origin
(method url-fetch)
(string-append "https://download.openmpt.org/archive/libopenmpt/src/"
"libopenmpt-" version "+release.autotools.tar.gz"))
(sha256
- (base32 "1cwpc4j90dpxa2siia68rg9qwwm2xk6bhxnslfjj364507jy6s4l"))))
+ (base32 "0h7gpjx1221jwsq3k91p8zhf1h77qaxyasakc88s3g57vawhckgk"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(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
("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
(define-public audacity
(package
(name "audacity")
- (version "2.4.1")
+ (version "2.4.2")
(source
(origin
(method git-fetch)
(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.
(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"
;; "sbsms"
))
#t))))
- (build-system glib-or-gtk-build-system)
+ (build-system cmake-build-system)
(inputs
`(("wxwidgets" ,wxwidgets)
("gtk+" ,gtk+)
("lv2" ,lv2)
("lilv" ,lilv) ;for lv2
("suil" ,suil) ;for lv2
- ("portaudio" ,portaudio)
("portmidi" ,portmidi)))
(native-inputs
`(("autoconf" ,autoconf)
("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"
(("../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
- ;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
- #: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
+ ;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>.
+ #:tests? #f))
(home-page "https://www.audacityteam.org/")
(synopsis "Software for recording and editing sounds")
(description
"audiofile-Fix-index-overflow-in-IMA.cpp.patch"
;; CVE-2017-6827, CVE-2017-6828, CVE-2017-6832, CVE-2017-6835,
;; CVE-2017-6837:
- "audiofile-Check-the-number-of-coefficients.patch"
+ "audiofile-check-number-of-coefficients.patch"
;; CVE-2017-6839:
- "audiofile-Fix-overflow-in-MSADPCM-decodeSam.patch"
+ "audiofile-overflow-in-MSADPCM.patch"
;; CVE-2017-6830, CVE-2017-6834, CVE-2017-6836, CVE-2017-6838:
- "audiofile-Fix-multiply-overflow-sfconvert.patch"
- "audiofile-signature-of-multiplyCheckOverflow.patch"
+ "audiofile-multiply-overflow.patch"
+ "audiofile-function-signature.patch"
;; CVE-2017-6831:
"audiofile-Fail-on-error-in-parseFormat.patch"
;; CVE-2017-6833:
- "audiofile-division-by-zero-BlockCodec-runPull.patch"
+ "audiofile-division-by-zero.patch"
"audiofile-CVE-2018-13440.patch"
"audiofile-CVE-2018-17095.patch"))))
+ (properties `((lint-hidden-cve . ("CVE-2017-6829"
+
+ "CVE-2017-6827" "CVE-2017-6828"
+ "CVE-2017-6832" "CVE-2017-6835"
+ "CVE-2017-6837"
+
+ "CVE-2017-6839"
+
+ "CVE-2017-6830" "CVE-2017-6834"
+ "CVE-2017-6836" "CVE-2017-6838"
+
+ "CVE-2017-6831" "CVE-2017-6833"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)))
`(("lv2" ,lv2)))
;; home-page of the original LADSPA version: http://quitte.de/dsp/caps.html
(home-page "https://github.com/moddevices/caps-lv2")
- (synopsis "LV2 port of the CAPS audio plugin colection")
+ (synopsis "LV2 port of the CAPS audio plugin collection")
(description
"LV2 port of CAPS, a collection of audio plugins comprising basic virtual
guitar amplification and a small range of classic effects, signal processors and
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")
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")
(define-public fluidsynth
(package
(name "fluidsynth")
- (version "2.1.4")
+ (version "2.1.8")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1r3khwyw57ybg5m4x0rvdzq7hgw2484sd52k6bm19akbw8yicfna"))))
+ "0r944ndn138ak9s3ivgd1wgkwkh6zp7jjnxd30hryczc6kbhkpmr"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target
("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
(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)
(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
(define-public qjackctl
(package
(name "qjackctl")
- (version "0.5.9")
+ (version "0.9.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
- "1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk"))))
+ "0m72kglwwvn91dxnka4lx765p3r0bcpqw251svymxr2wxjc4rgjg"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; no check target
(inputs
`(("jack" ,jack-1)
("alsa-lib" ,alsa-lib)
+ ("portaudio" ,portaudio)
("qtbase" ,qtbase)
("qtx11extras" ,qtx11extras)))
(native-inputs
(define-public supercollider
(package
(name "supercollider")
- (version "3.11.0")
+ (version "3.11.2")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "02v911w2kdbg3kfl593lb2ig4sjbfxzv20a0vbcymhfzpvp1x6xp"))
+ "1gi7nrmjmbnjndqkmhfrkk0jchrzvnhl3f6gp6n5wgdd4mxbgxgw"))
(modules '((guix build utils)
(ice-9 ftw)))
(snippet
(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
(description "This package contains the @command{resample} and
@command{windowfilter} command line utilities. The @command{resample} command
allows changing the sampling rate of a sound file, while the
-@command{windowfilter} command allows to design Finite Impulse Response (FIR)
+@command{windowfilter} command allows designing Finite Impulse Response (FIR)
filters using the so-called @emph{window method}.")
(home-page "https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html")
(license license:lgpl2.1+)))
(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
(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
Suil currently supports every combination of Gtk, Qt, and X11.")
(license license:isc)))
+(define-public libebur128
+ (package
+ (name "libebur128")
+ (version "1.2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jiixyj/libebur128")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n81rnm8dm1zmibkr2v3q79rsd609y0dbbsrbay18njcjva88p0g"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(;; Tests require proprietary .wav files. See
+ ;; https://github.com/jiixyj/libebur128/issues/82.
+ #:tests? #f
+ #:configure-flags '("-DBUILD_STATIC_LIBS=OFF")))
+ (home-page "https://github.com/jiixyj/libebur128")
+ (synopsis "Library implementing the EBU R 128 loudness standard")
+ (description
+ "@code{libebur128} is a C library that implements the EBU R 128 standard
+for loudness normalisation.")
+ (license license:expat)))
+
(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++"
"/TiMidity++-" version ".tar.bz2"))
(sha256
(base32
- "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr"))))
+ "1xf8n6dqzvi6nr2asags12ijbj1lwk1hgl3s27vm2szib8ww07qn"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(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
(define-public soundtouch
(package
(name "soundtouch")
- (version "2.1.2")
+ (version "2.2")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "174wgm3s0inmbnkrlnspxjwm2014qhjhkbdqa5r8rbfi0nzqxzsz"))))
+ (base32 "12i6yg8vvqwyk412lxl2krbfby6hnxld8qxy0k4m5xp4g94jiq4p"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
(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
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/qsynth/qsynth/" version
- "/qsynth-" version ".tar.gz"))
+ (uri (list
+ (string-append "mirror://sourceforge/qsynth/qsynth/" version
+ "/qsynth-" version ".tar.gz")
+ (string-append "mirror://sourceforge/qsynth/qsynth (attic)"
+ "/qsynth-" version ".tar.gz")))
(sha256
(base32 "18im4w8agj60nkppwbkxqnhpp13z5li3w30kklv4lgs20rvgbvl6"))))
(build-system gnu-build-system)
(version "3.0.10")
(source (origin
(method url-fetch)
- (uri (string-append "http://etree.org/shnutils/shntool/dist/src/"
- "shntool-" version ".tar.gz"))
+ (uri (list
+ (string-append "http://etree.org/shnutils/shntool/dist/src/"
+ "shntool-" version ".tar.gz")
+ (string-append "mirror://debian/pool/main/s/shntool/shntool_"
+ version ".orig.tar.gz")))
(sha256
(base32
"00i1rbjaaws3drkhiczaign3lnbhr161b7rbnjr8z83w8yn2wc3l"))))
(build-system gnu-build-system)
(arguments
;; Test files are missing: https://github.com/foo86/dcadec/issues/53
- '(#:tests? #f
+ `(#:tests? #f
#:make-flags
- (list "CC=gcc"
+ (list (string-append "CC=" ,(cc-for-target))
;; Build shared library.
"CONFIG_SHARED=1"
(string-append "PREFIX=" (assoc-ref %outputs "out"))
"0hbb290n3wb23f2k692a6bhc23nnqmxqi9sc9j15pnya8wifw64g"))))
(build-system gnu-build-system)
(arguments
- '(#:make-flags (list (string-append "PREFIX=" %output)
- "CC=gcc")
+ `(#:make-flags (list (string-append "PREFIX=" %output)
+ (string-append "CC=" ,(cc-for-target)))
#:tests? #f ; No tests
#:phases
(modify-phases %standard-phases
(define-public python2-pyalsaaudio
(package-with-python2 python-pyalsaaudio))
+(define-public ldacbt
+ (package
+ (name "ldacbt")
+ (version "2.0.2.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/EHfive/ldacBT"
+ "/releases/download/v" version
+ "/ldacBT-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1d65dms4klzql29abi15i90f41h523kl6mxrz9hi6p5vg37fxn2b"))))
+ (build-system cmake-build-system)
+ (arguments `(#:tests? #f)) ; no check target
+ (home-page "https://github.com/EHfive/ldacBT/")
+ (synopsis "LDAC Bluetooth encoder and ABR library")
+ (description "This package provides an encoder for the LDAC
+high-resolution Bluetooth audio streaming codec for streaming at up to 990
+kbps at 24 bit/96 kHz.")
+ (license license:asl2.0)))
+
(define-public bluez-alsa
(package
(name "bluez-alsa")
- (version "2.0.0")
+ (version "3.0.0")
(source (origin
;; The tarballs are mere snapshots and don't contain a
;; bootstrapped build system.
(file-name (git-file-name name version))
(sha256
(base32
- "08mppgnjf1j2733bk9yf0cny6rfxxwiys0s62lz2zd2lpdl6d9lz"))))
+ "1jlsgxyqfhncfhx1sy3ry0dp6p95kd4agh7g2b7g51h0c4cv74h8"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
- (list (string-append "--with-alsaplugindir="
+ (list "--enable-ldac"
+ (string-append "--with-alsaplugindir="
(assoc-ref %outputs "out")
"/lib/alsa-lib")
(string-append "--with-dbusconfdir="
("bluez" ,bluez)
("dbus" ,dbus)
("glib" ,glib)
+ ("ldacbt" ,ldacbt)
("libbsd" ,libbsd)
("ncurses" ,ncurses)
("ortp" ,ortp)
(define-public snd
(package
(name "snd")
- (version "20.7")
+ (version "20.9")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz"))
(sha256
(base32
- "1kd422krz8ln4m8g3p14wfplcq8lgpzly9297rpbvyc94dc6sdwj"))))
+ "0jxkycxn6jcbs4gklk9sk3gfr0y26dz1m71nxah9rnx80wnzj6hr"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; no tests
")
(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")
(define-public cava
(package
(name "cava")
- (version "0.6.1")
+ (version "0.7.3")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1kvhqgijs29909w3sq9m0bslx2zxxn4b3i07kdz4hb0dqkppxpjy"))))
+ "04j5hb29hivcbk542sfsx9m57dbnj2s6qpvy9fs488zvgjbgxrai"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
(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)))
+ `(("pkg-config" ,pkg-config)))
(synopsis "Small GUI toolkit")
(description "Redkite is a small GUI toolkit developed in C++17 and
inspired from other well known GUI toolkits such as Qt and GTK. It is
(define-public libaudec
(package
(name "libaudec")
- (version "0.2.3")
+ (version "0.2.4")
(source
(origin
(method git-fetch)
(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)))
(native-inputs
- `(("pkg-config", pkg-config)))
+ `(("pkg-config" ,pkg-config)))
(synopsis "Library for reading and resampling audio files")
(description "libaudec is a wrapper library over ffmpeg, sndfile and
libsamplerate for reading and resampling audio files, based on Robin Gareus'
`("-Delf-tests=true" ; for checking symbol visibility
"-Donline-tests=true"))) ; for checking URI existence
(inputs
- `(("curl", curl)
- ("libelf", libelf)
- ("lilv", lilv)))
+ `(("curl" ,curl)
+ ("libelf" ,libelf)
+ ("lilv" ,lilv)))
(native-inputs
- `(("pkg-config", pkg-config)))
+ `(("pkg-config" ,pkg-config)))
(synopsis "LV2 plugin lint tool")
(description "lv2lint is an LV2 lint-like tool that checks whether a
given plugin and its UI(s) match up with the provided metadata and adhere
(modify-phases %standard-phases
(delete 'configure))))
(inputs
- `(("jalv", jalv)
- ("lilv", lilv)))
+ `(("jalv" ,jalv)
+ ("lilv" ,lilv)))
(native-inputs
- `(("help2man", help2man)
- ("pkg-config", pkg-config)))
+ `(("help2man" ,help2man)
+ ("pkg-config" ,pkg-config)))
(synopsis "Documentation generator for LV2 plugins")
(description
"lv2toweb allows the user to create an xhtml page with information
(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
(define-public libinstpatch
(package
(name "libinstpatch")
- (version "1.1.5")
+ (version "1.1.6")
(source
(origin
(method git-fetch)
(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
(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
(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"
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+)))