;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 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, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 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–2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016–2022 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, 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
+;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
+;;; Copyright © 2022 Juliana Sims <jtsims@protonmail.com>
+;;; Copyright © 2022 Simon Streit <simon@netpanic.org>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages qt)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages wxwidgets)
+ #:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system waf)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
("openal" ,openal)))
(synopsis "Software Synthesizer")
(description "WildMIDI is a simple software midi player which has a core
-softsynth library that can be use with other applications.")
+softsynth library that can be used with other applications.")
(home-page "https://www.mindwerks.net/projects/wildmidi/")
(license
(list
(sha256
(base32 "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0"))))
(build-system gnu-build-system)
+ (arguments
+ ;; TODO: Move this to a snippet/patch or remove with the upgrade to 1.0.
+ (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)
+ '()))
(synopsis "WebRTC's Audio Processing Library")
(description "WebRTC-Audio-Processing library based on Google's
implementation of WebRTC.")
(define-public tinyalsa
(package
(name "tinyalsa")
- (version "1.1.1")
+ (version "2.0.0")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/tinyalsa/tinyalsa")
- (commit version)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0ajyvml5bnzvhiyyrn42gqwgg23ssxkfh09rvsnywhzxhd0xai4h"))))
+ (base32 "1p9khz3bdpdcrnc9p6w522a0ankdchj4nxd3ki41z9401rxmnljq"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No target
"07857vdkak306d9s5g6fhmjyxk7vijzjhkmqb15s7ihfxx9lx8xb"))))
(build-system cmake-build-system)
(arguments
- '(#:tests? #f)) ; no check target
+ '(#:tests? #f ;no check target
+
+ ;; XXX: Building with '-fsanitize=undefined' leads to embedded C++ STL
+ ;; header file names in libgme.so, meaning that libgme retains a
+ ;; reference to GCC. Disable UBSAN to avoid that.
+ #:configure-flags '("-DENABLE_UBSAN=OFF")))
(home-page "https://bitbucket.org/mpyne/game-music-emu")
(synopsis "Video game music file playback library")
(description
(inputs
`(("alsa" ,alsa-lib)
("flac" ,flac)
- ("mpg123" ,mpg123)
("portaudio" ,portaudio)
("pulseaudio" ,pulseaudio)
("sdl2" ,sdl2)
- ("sndfile" ,libsndfile)
- ("vorbis" ,libvorbis)
- ("zlib" ,zlib)))
+ ("sndfile" ,libsndfile)))
+ (propagated-inputs
+ ;; In Requires.private
+ (list libogg libvorbis mpg123 zlib))
(synopsis "Audio tracking library")
(description "LibOpenMPT is a cross-platform C++ and C module playback
library. It is based on the player code of the Open ModPlug Tracker project.")
(home-page "https://code.google.com/archive/p/musicip-libofa/")
(license license:gpl2+)))
-(define-public faac
- (package
- (name "faac")
- (version "1.30")
- (source
- (origin
- (method url-fetch)
- (uri
- (string-append "mirror://sourceforge/faac/faac-src"
- "/faac-" version "/faac-1_30.tar.gz"))
- (sha256
- (base32 "1lmj0dib3mjp84jhxc5ddvydkzzhb0gfrdh3ikcidjlcb378ghxd"))))
- (build-system gnu-build-system)
- (native-inputs
- (list autoconf automake libtool pkg-config))
- (synopsis "Freeware Advanced Audio Coder")
- (description "FAAC is an MPEG-4 and MPEG-2 AAC encoder.")
- (home-page "https://www.audiocoding.com/faac.html")
- (license
- (list
- ;; ISO MPEG-4 reference code.
- license:gpl2+
- ;; Others.
- license:lgpl2.0+))))
-
(define-public libtimidity
(package
(name "libtimidity")
liblo
qtbase-5))
(native-inputs
- (list pkg-config qttools))
+ (list pkg-config qttools-5))
(home-page "http://alsamodular.sourceforge.net/")
(synopsis "Realtime modular synthesizer and effect processor")
(description
"--enable-jack"
"--enable-sndfile"
"--enable-samplerate"
- "--enable-avcodec")
- #:python ,python-2))
+ "--enable-avcodec")))
(inputs
(list jack-1 libsndfile libsamplerate fftwf ffmpeg)) ; for libavcodec
(native-inputs
(define-public audacity
(package
(name "audacity")
- (version "2.4.2")
+ (version "3.1.3")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/audacity/audacity")
- (commit (string-append "Audacity-" version))))
- (file-name (git-file-name name version))
+ ;; If built from the release tag, Audacity will describe itself
+ ;; as an "Alpha test version" and suggest to users that they use
+ ;; the "latest stable released version".
+ (method url-fetch)
+ (uri (string-append "https://github.com/audacity/audacity/releases/download/"
+ "Audacity-" version "/audacity-" version
+ "-source.tar.gz"))
(sha256
(base32
- "0lklcvqkxrr2gkb9gh3422iadzl2rv9v0a8s76rwq43lj2im7546"))
- (patches (search-patches "audacity-build-with-system-portaudio.patch"
- "audacity-add-include.patch"))
+ "189agx11361k9j958s6q5bngnnfx0rwaf0dwbjxy6fwvsb1wv3px"))
+ (patches (search-patches "audacity-ffmpeg-fallback.patch"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
(for-each
(lambda (dir)
(delete-file-recursively (string-append "lib-src/" dir)))
- '("expat" "ffmpeg" "lame" "libflac" "libid3tag" "libmad" "libogg"
- "libsndfile" "libsoxr" "libvamp" "libvorbis" "lv2"
- "portmidi" "soundtouch" "twolame"
+ '("libsoxr" "libvamp" "lv2" "soundtouch" "sqlite" "twolame"
;; FIXME: these libraries have not been packaged yet:
;; "libnyquist"
;; "libscorealign"
- ;; "libwidgetextra"
;; "portburn"
;; "portsmf"
;; "portmixer"
#t))))
(build-system cmake-build-system)
(inputs
- (list wxwidgets
+ (list wxwidgets-3.1
gtk+
alsa-lib
jack-1
expat
- ffmpeg
lame
+ linux-libre-headers
flac
+ ffmpeg
libid3tag
+ libjpeg-turbo
libmad
;;("libsbsms" ,libsbsms) ;bundled version is modified
libsndfile
soundtouch
soxr ;replaces libsamplerate
+ sqlite
twolame
vamp
libvorbis
lv2
lilv ;for lv2
suil ;for lv2
+ portaudio
portmidi))
(native-inputs
`(("autoconf" ,autoconf)
(arguments
`(#:configure-flags
(list
- ;; Loading FFmpeg dynamically is problematic.
- "-Daudacity_use_ffmpeg=linked"
- "-Daudacity_use_lame=system"
- "-Daudacity_use_portsmf=system")
+ "-Daudacity_conan_enabled=off"
+ "-Daudacity_lib_preference=system"
+ ;; TODO: enable this flag once we've packaged all dependencies
+ ;; "-Daudacity_obey_system_dependencies=on"
+ ;; disable crash reports, updates, ..., anything that phones home
+ "-Daudacity_has_networking=off")
#:imported-modules ((guix build glib-or-gtk-build-system)
,@%cmake-build-system-modules)
#:modules
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-cmake-rpath
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("\\$ORIGIN/\\.\\./\\$\\{_PKGLIB\\}")
+ (string-append (assoc-ref outputs "out") "/lib/audacity"))
+ (("CMAKE_BUILD_WITH_INSTALL_RPATH [A-Z]*")
+ "CMAKE_BUILD_WITH_INSTALL_RPATH TRUE")
+ (("CMAKE_INSTALL_RPATH_USE_LINK_PATH [A-Z]*")
+ "CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE"))
+ (substitute* "src/CMakeLists.txt"
+ (("-Wl,--disable-new-dtags") "-Wl,--enable-new-dtags"))))
(add-after 'unpack 'comment-out-revision-ident
(lambda _
+ (substitute* "src/CMakeLists.txt"
+ (("file\\( TOUCH \".*RevisionIdent\\.h\" \\)" directive)
+ (string-append "# " directive)))
(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"
- "src/AudioIO.cpp"
- "src/AudioIO.h"
- "src/AudioIOBase.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"))))
+ (substitute* '("libraries/lib-files/FileNames.cpp")
+ (("\"/usr/include/linux/magic.h\"") "<linux/magic.h>"))))
+ (add-after 'install 'delete-gratuitous-script
+ (lambda* (#:key outputs #:allow-other-keys)
+ (delete-file (string-append (assoc-ref outputs "out")
+ "/audacity"))))
(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))
+ ;; 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))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "AUDACITY_MODULES_PATH")
+ (files '("lib/audacity/modules")))
+ (search-path-specification
+ (variable "AUDACITY_PATH")
+ (files '("share/audacity")))))
(home-page "https://www.audacityteam.org/")
(synopsis "Software for recording and editing sounds")
(description
(define-public snapcast
(package
(name "snapcast")
- (version "0.24.0")
+ (version "0.26.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "13yz8alplnqwkcns3mcli01qbyy6l3h62xx0v71ygcrz371l4g9g"))))
+ "091gf3k1xv3k0m0kf2apr9bwiifw2czjcksd3vzwy544sfgrya08"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no included tests
"tao-fix-parser-types.patch"))
(modules '((guix build utils)))
(snippet
- '(begin
- (substitute* "configure"
- (("SHELL=/bin/sh") ""))
- #t))))
+ '(substitute* "configure"
+ (("SHELL=/bin/sh") "")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("TAO_RELEASE=-beta")
(string-append (which "sed") " -f $distdir/"))
(("distdir=.*")
(string-append "distdir="
- (assoc-ref outputs "out") "/share/tao")))
- #t))
+ (assoc-ref outputs "out") "/share/tao")))))
(add-after 'install 'install-extra-files
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(install-file "user-scripts/error.parse" share)
(copy-recursively "examples" (string-append share "examples"))
(for-each (lambda (file) (install-file file inc))
- (find-files "include" "\\.h"))
- #t))))))
+ (find-files "include" "\\.h"))))))))
(inputs
- `(("audiofile" ,audiofile)
- ("libxi" ,libxi)
- ("libxmu" ,libxmu)
- ("mesa" ,mesa)
- ("glut" ,freeglut)
- ("flex" ,flex)
- ("bison" ,bison)
- ("sed" ,sed)
- ("grep" ,grep)))
+ (list audiofile
+ libxi
+ libxmu
+ mesa
+ freeglut
+ flex
+ bison
+ sed
+ grep))
(home-page "http://taopm.sourceforge.net/")
(synopsis "Sound Synthesis with Physical Models")
(description "Tao is a software package for sound synthesis using physical
object library.")
(license license:gpl2+)))
+(define-public tao-synth
+ (let ((commit "f3aedd81efbc775574e591081b57ae1c08427064")
+ (revision "1"))
+ (package
+ (name "tao-synth")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lucasw/tao_synth")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jds2l3cb96b02jxd7lmrjjl9s7mylnrvg6fpw0j8c141bk8vyg3"))))
+ (build-system cmake-build-system)
+ (arguments (list #:tests? #false)) ;there are no tests
+ (inputs
+ (list glfw freeglut))
+ (native-inputs
+ (list gcc-7))
+ (home-page "https://github.com/lucasw/tao_synth")
+ (synopsis "Sound synthesis with physical models")
+ (description "Tao is a software package for sound synthesis using physical
+models. It provides a virtual acoustic material constructed from masses and
+springs which can be used as the basis for building quite complex virtual
+musical instruments. Tao comes with a synthesis language for creating and
+playing instruments and a C++ API for those who would like to use it as an
+object library.")
+ (license license:lgpl2.0+))))
+
(define-public csound
(package
(name "csound")
- (version "6.14.0")
+ (version "6.16.2")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1sr9knfhbm2m0wpkjq2l5n471vnl51wy4p6j4m95zqybimzb4s2j"))))
+ (base32 "1lgasyk8j4cl9178vci1dph63nks3cgwhf8y1d04z9dc8gg15dyn"))))
(build-system cmake-build-system)
(native-inputs
(list bison flex gettext-minimal zlib))
(define-public fluidsynth
(package
(name "fluidsynth")
- (version "2.1.8")
+ (version "2.2.4")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0r944ndn138ak9s3ivgd1wgkwkh6zp7jjnxd30hryczc6kbhkpmr"))))
+ "1061rdj69503spkd8vmfl3fqvyg4l41k5xcc4gw7niy31hnpnjmn"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no check target
;; Install libraries to /lib, not /lib64.
(substitute* "CMakeLists.txt"
(("LIB_SUFFIX \\$\\{_init_lib_suffix\\}")
- "LIB_SUFFIX \"\""))
- #t)))))
+ "LIB_SUFFIX \"\"")))))))
(inputs
- (list libsndfile
- alsa-lib
- jack-1
- ladspa
- lash
- readline
- glib))
+ (list ladspa))
(native-inputs
(list pkg-config))
+ (propagated-inputs
+ ;; In Libs.private of fluidsynth.pc.
+ (list alsa-lib
+ glib
+ jack-1
+ lash
+ libsndfile
+ readline))
(home-page "https://www.fluidsynth.org/")
(synopsis "SoundFont synthesizer")
(description
also play midifiles using a Soundfont.")
(license license:lgpl2.1+)))
-;; gzdoom@3.3.0 and lmms@1.1.3 requires this version. Remove once no longer
-;; needed.
-(define-public fluidsynth-1
- (package
- (inherit fluidsynth)
- (version "1.1.11")
- (source (origin
- (inherit (package-source fluidsynth))
- (uri (git-reference
- (url "https://github.com/FluidSynth/fluidsynth")
- (commit (string-append "v" version))))
- (file-name (git-file-name "fluidsynth" version))
- (sha256
- (base32
- "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh"))))))
-
(define-public faad2
(package
(name "faad2")
"Faust is a programming language for realtime audio signal processing.")
(license license:gpl2+)))
+;; This version is needed to build older synths that require the lv2synth.cpp
+;; architecture file, such as sorcer.
+(define-public faust-0.9.67
+ (package
+ (inherit faust)
+ (name "faust")
+ (version "0.9.67")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/grame-cncm/faust")
+ (commit (string-append "v"
+ (string-map (lambda (c)
+ (if (char=? c #\.) #\- c))
+ version)))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0856x666s6ymzk8v15f9gy402dbr8c9v2s40hyfadhraqljmqrm0"))
+ (snippet
+ ;; Remove prebuilt library
+ '(delete-file "architecture/android/libs/armeabi-v7a/libfaust_dsp.so"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:make-flags
+ #~(list (string-append "prefix=" #$output))
+ #:tests? #f
+ #:phases
+ '(modify-phases %standard-phases
+ ;; no "configure" script
+ (delete 'configure))))
+ (native-inputs (list unzip))))
+
(define-public faust-2
(package
(inherit faust)
- (version "2.5.23")
+ (version "2.41.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/grame-cncm/faust/"
"/faust-" version ".tar.gz"))
(sha256
(base32
- "1yz5jnr76hh7rmxkpdi7gyrw1wp4gyqfpq8zyl97qdi5ga5gjznq"))))
- (build-system gnu-build-system)
+ "0gk8ifxrbykq7ay0nvjns8fjryhp0wfhv5npgrl8xpgw9wfmw53j"))))
+ (build-system cmake-build-system)
(arguments
- (substitute-keyword-arguments (package-arguments faust)
- ((#:make-flags flags)
- `(list (string-append "prefix=" (assoc-ref %outputs "out"))
- "world"))))
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ ;; The upstream package uses make to run cmake during the build stage.
+ ;; Here we ignore the Makefile and call cmake directly.
+ (replace 'configure
+ (lambda _
+ (chdir "build")
+ (invoke "cmake" "-C" "backends/all.cmake"
+ (string-append "-DCMAKE_INSTALL_PREFIX="
+ (assoc-ref %outputs "out")))))
+ ;; The sound2faust tool would be built in the Makefile's "world" target
+ (add-after 'install 'sound2faust
+ (lambda _
+ (chdir "../tools/sound2faust")
+ (setenv "PREFIX" (assoc-ref %outputs "out"))
+ (invoke "make")
+ (invoke "make" "install"))))))
(native-inputs
- `(("llvm" ,llvm-3.8)
+ `(("llvm" ,llvm)
("which" ,which)
("xxd" ,xxd)
("ctags" ,emacs-minimal) ; for ctags
;; GPLv2+ with exception for compositions using these patches.
(license license:gpl2+)))
+(define-public freepats-gm
+ (package
+ (name "freepats-gm")
+ (version "20210329")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://freepats.zenvoid.org/SoundSets/"
+ "FreePats-GeneralMIDI/FreePatsGM-SF2-" version ".7z"))
+ (sha256
+ (base32
+ "19a1mp9yi33j2zff4mjvhrjz97dwwgjwzfdlf84j9xyydhx0crhc"))))
+ (build-system trivial-build-system)
+ (native-inputs
+ `(("p7zip" ,p7zip)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (let ((dir (string-append "FreePatsGM-SF2-" ,version))
+ (file (string-append "FreePatsGM-" ,version ".sf2"))
+ (out (string-append %output "/share/soundfonts"))
+ (doc (string-append %output "/share/doc/freepats-gm-" ,version)))
+ (use-modules (guix build utils))
+ (invoke (string-append (assoc-ref %build-inputs "p7zip") "/bin/7z")
+ "e" (assoc-ref %build-inputs "source")
+ (string-append dir "/" file)
+ (string-append dir "/gpl.txt")
+ (string-append dir "/cc0.txt")
+ (string-append dir "/readme.txt"))
+ (mkdir-p out)
+ (copy-file file (string-append out "/FreePatsGM.sf2"))
+ (mkdir-p doc)
+ (for-each
+ (lambda (file)
+ (copy-file file (string-append doc "/" file)))
+ (find-files "." "\\.txt$"))
+ #t)))
+ (home-page "https://freepats.zenvoid.org/SoundSets/general-midi.html")
+ (synopsis "General MIDI sound set")
+ (description "FreePats is a project to create a free (as in free software)
+collection of digital instruments for music production. This sound bank is a
+partial release of the General MIDI sound set.")
+ (license (list
+ license:gpl3+ ; with sampling exception
+ license:cc0))))
+
(define-public guitarix
(package
(name "guitarix")
- (version "0.41.0")
+ (version "0.43.1")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "0qsfbyrrpb3bbdyq68k28mjql7kglxh8nqcw9jvja28x6x9ik5a0"))))
+ "1bsjlfd7x09p3iiljilyfbns6hpqn9cgp6psl4ccd6i1lwascfrm"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
;; jack-2 implement the same API. JACK2 is provided primarily as a client
;; program for users who might benefit from the D-BUS features.
(define-public jack-2
- (package (inherit jack-1)
+ (package
+ (inherit jack-1)
(name "jack2")
- (version "1.9.14")
+ (version "1.9.21")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/jackaudio/jack2/releases/"
- "download/v" version "/jack2-"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0z11hf55a6mi8h50hfz5wry9pshlwl4mzfwgslghdh40cwv342m2"))))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jackaudio/jack2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0sbrffmdbajvrk7iqvsvrnwnpvmicvbjyq3f52r6ashdsznsz03b"))))
(build-system waf-build-system)
(arguments
- `(#:tests? #f ; no check target
- #:configure-flags '("--dbus"
- "--alsa")
+ `(#:tests? #f ; no check target
+ #:configure-flags '("--dbus" "--alsa")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-linkflags
((".*CFLAGS.*-Wall.*" m)
(string-append m
" conf.env.append_unique('LINKFLAGS',"
- "'-Wl,-rpath=" %output "/lib')\n")))
- #t))
+ "'-Wl,-rpath=" %output "/lib')\n")))))
(add-after 'install 'wrap-python-scripts
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda* (#:key outputs #:allow-other-keys)
;; Make sure 'jack_control' runs with the correct PYTHONPATH.
- (let* ((out (assoc-ref outputs "out"))
- (path (getenv "GUIX_PYTHONPATH")))
- (wrap-program (string-append out "/bin/jack_control")
- `("GUIX_PYTHONPATH" ":" prefix (,path))))
- #t)))))
+ (wrap-program (search-input-file outputs "bin/jack_control")
+ `("GUIX_PYTHONPATH" ":"
+ prefix (,(getenv "GUIX_PYTHONPATH")))))))))
(inputs
(list alsa-lib
dbus
"05lycfq0f06zjp5xqvzjz9hx9kmqx72yng1lghh76hv63dw43lcj"))))
(build-system waf-build-system)
(arguments
- `(#:tests? #f ; no check target
- #:python ,python-2))
+ `(#:tests? #f)) ; no check target
(inputs
- `(("lv2" ,lv2)
- ("lilv" ,lilv)
- ("suil" ,suil)
- ("gtk2" ,gtk+-2)
- ("gtk3" ,gtk+)
- ("gtkmm" ,gtkmm-2)
- ("qtbase" ,qtbase-5)
- ("jack" ,jack-1)))
+ (list lv2
+ lilv
+ suil
+ gtk
+ gtkmm
+ qtbase-5
+ jack-1))
(native-inputs
(list pkg-config))
(home-page "https://drobilla.net/software/jalv/")
cross-platform audio input/output stream library.")
(license license:expat)))
-(define-public python2-pyaudio
- (package-with-python2 python-pyaudio))
-
(define-public python-pyliblo
(package
(name "python-pyliblo")
included are the command line utilities @code{send_osc} and @code{dump_osc}.")
(license license:lgpl2.1+)))
-(define-public python2-pyliblo
- (package-with-python2 python-pyliblo))
-
(define-public python-soundfile
(package
(name "python-soundfile")
(lambda _
(substitute* "requirements.txt" (("==") ">=")))))))
(home-page "https://github.com/NFJones/audio-to-midi")
- (synopsis "Convert audio to multichannel MIDI.")
+ (synopsis "Convert audio to multichannel MIDI")
(description "@command{audio-to-midi} converts audio files to multichannel
MIDI files. It accomplishes this by performing FFTs on all channels of the
audio data at user-specified time steps. It then separates the resulting
software.")
(license license:isc)))
+(define-public ttl2c
+ (package
+ (name "ttl2c")
+ (version "1.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lvtk/ttl2c")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0aybx8i5i0sridi9130a3937xgmfmjkk8m48f9whvhlhbzwy3xbl"))))
+ (build-system waf-build-system)
+ (arguments
+ (list
+ #:tests? #false ;no check target
+ #:phases
+ `(modify-phases %standard-phases
+ (add-before 'configure 'setup-waf
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((waf (assoc-ref inputs "python-waf")))
+ (copy-file (string-append waf "/bin/waf") "waf")))))))
+ (inputs (list boost))
+ (native-inputs (list python-waf))
+ (home-page "https://github.com/lvtk/ttl2c")
+ (synopsis "Turtle to C header conversion utility for LV2 plugins")
+ (description
+ "This package provides a conversion utility for LV2 Plugin developers to
+generate C headers from Turtle files.")
+ (license license:gpl3+)))
+
(define-public lv2-mda-piano
(package
(name "lv2-mda-piano")
(inputs
(list lv2 lvtk))
(native-inputs
- (list pkg-config))
+ (list pkg-config ttl2c))
(native-search-paths
(list (search-path-specification
(variable "LV2_PATH")
(synopsis "LV2 port of the mda EPiano plugin")
(description "An LV2 port of the mda EPiano VSTi.")))
-(define-public lvtk
- (package
- (name "lvtk")
- (version "1.2.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/lvtk/lvtk")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1b01zvzl70ana6l1kn8fgyr7msnn3c7x61cgw7fdpp50322352p8"))))
- (build-system waf-build-system)
- (arguments
- `(#:tests? #f ; no check target
- #:python ,python-2
- #:configure-flags
- (list (string-append "--boost-includes="
- (assoc-ref %build-inputs "boost")
- "/include"))))
- (inputs
- (list boost gtkmm-2 lv2))
- (native-inputs
- (list pkg-config))
- (home-page "https://github.com/lvtk/lvtk")
- (synopsis "C++ libraries for LV2 plugins")
- (description
- "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
+(define-public lvtk-2
+ ;; Use the latest commit, as the latest release was made in 2014 and depends
+ ;; on Python 2.
+ (let ((commit "a73feabe772f9650aa071e6a4df660e549ab7c48")
+ (revision "0"))
+ (package
+ (name "lvtk")
+ (version (git-version "2" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lvtk/lvtk")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0scmv8b4jlm88d21dqqchjy98wb93zclc9x960h213gdi871vsaj"))))
+ (build-system waf-build-system)
+ (arguments (list #:tests? #f)) ;no check target
+ (inputs (list boost gtkmm lv2))
+ (native-inputs (list pkg-config))
+ (home-page "https://github.com/lvtk/lvtk")
+ (synopsis "C++ libraries for LV2 plugins")
+ (description
+ "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
extensions into easy to use C++ classes. It is the successor of
lv2-c++-tools.")
- (license license:gpl3+)))
+ (license license:isc))))
+
+(define-public lvtk-1
+ ;; Use the latest commit, as the latest release was made in 2014 and depends
+ ;; on Python 2.
+ (let ((commit "23dd99531d88d7821b69f6f0d60516ef322a6729")
+ (revision "0"))
+ (package
+ (name "lvtk")
+ (version (git-version "1.2.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lvtk/lvtk")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0iw7skvsn3whw69dhcxbbdns7mssaf6z6iyzxjav53607ibyfr8d"))))
+ (build-system waf-build-system)
+ (arguments
+ (list
+ #:tests? #false ;no check target
+ #:configure-flags
+ #~(list (string-append "--boost-includes="
+ #$(this-package-input "boost")
+ "/include"))
+ #:phases
+ `(modify-phases %standard-phases
+ (add-before 'configure 'setup-waf
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((waf (assoc-ref inputs "python-waf")))
+ (copy-file (string-append waf "/bin/waf") "waf")))))))
+ (inputs (list boost gtkmm lv2))
+ (native-inputs (list pkg-config python-waf))
+ (home-page "https://github.com/lvtk/lvtk")
+ (synopsis "C++ libraries for LV2 plugins")
+ (description
+ "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
+extensions into easy to use C++ classes. It is the successor of
+lv2-c++-tools.")
+ (license license:isc))))
+
+(define-public lvtk lvtk-1)
(define-public openal
(package
(define-public qjackctl
(package
(name "qjackctl")
- (version "0.9.5")
+ (version "0.9.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
- "1g61xwsxsndwlnh4547vl7jfcf4kqlbb4394jq2m8qbbzk51b6rv"))))
+ "1rvxgxd7bbv7yazcpw3ily0jlra8ms5c0kkf7cybgivahw59zk87"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no check target
(inputs
- (list jack-1 alsa-lib portaudio qtbase-5 qtx11extras))
+ (list alsa-lib
+ jack-1
+ portaudio
+ qtbase-5
+ qtsvg-5))
(native-inputs
- (list pkg-config qttools))
+ (list pkg-config qttools-5))
(home-page "https://qjackctl.sourceforge.io/")
(synopsis "Jack server control application")
(description "Control a Jack server. Allows you to plug various sources
(string-append ide "/bin"))
(delete-file scide)))))))
(native-inputs
- (list ableton-link pkg-config qttools xorg-server-for-tests))
+ (list ableton-link pkg-config qttools-5 xorg-server-for-tests))
(inputs (list jack-1
libsndfile
fftw
boost-sync
yaml-cpp
qtbase-5
- qtdeclarative
- qtsvg
- qtwebchannel
- qtwebsockets))
+ qtdeclarative-5
+ qtsvg-5
+ qtwebchannel-5
+ qtwebsockets-5))
(propagated-inputs ;to get native-search-path
- (list qtwebengine))
+ (list qtwebengine-5))
(home-page "https://github.com/supercollider/supercollider")
(synopsis "Synthesis engine and programming language")
(description "SuperCollider is a synthesis engine (@code{scsynth} or
;; GNU Library (not Lesser) General Public License.
(license license:lgpl2.0+)))
-(define-public raul
- (package
- (name "raul")
- (version "0.8.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://download.drobilla.net/raul-"
- version ".tar.bz2"))
- (sha256
- (base32
- "09ms40xc1x6qli6lxkwn5ibqh62nl9w7dq0b6jh1q2zvnrxwsd8b"))))
- (build-system waf-build-system)
- (arguments
- `(#:python ,python-2
- #:tests? #f)) ; no check target
- (inputs
- (list glib boost))
- (native-inputs
- (list pkg-config))
- (home-page "https://drobilla.net/software/raul/")
- (synopsis "Real-time audio utility library")
- (description
- "Raul (Real-time Audio Utility Library) is a C++ utility library primarily
-aimed at audio/musical applications.")
- (license license:gpl2+)))
-
-(define-public raul-devel
- (let ((commit "4db870b2b20b0a608ec0283139056b836c5b1624")
- (revision "1"))
- (package (inherit raul)
- (name "raul")
- (version (string-append "0.8.9-" revision "."
- (string-take commit 9)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.drobilla.net/raul.git")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr")))))))
-
(define-public resample
(package
(name "resample")
(define-public rtmidi
(package
(name "rtmidi")
- (version "4.0.0")
+ (version "5.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi"
(file-name (string-append "rtmidi-" version ".tar.gz"))
(sha256
(base32
- "1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p"))))
+ "1ff2yfq3k4l209fr71v3w98fpjjv1chs09vkbmxj03lcikahxns8"))))
(build-system gnu-build-system)
(inputs
(list jack-1 alsa-lib))
input/output.")
(license license:expat)))
+(define-public rtmidi-4.0
+ (package
+ (inherit rtmidi)
+ (version "4.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi"
+ "/release/rtmidi-" version ".tar.gz"))
+ (file-name (string-append "rtmidi-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p"))))))
+
(define-public sratom
(package
(name "sratom")
(define-public suil
(package
(name "suil")
- (version "0.10.8")
+ (version "0.10.10")
(source (origin
(method url-fetch)
(uri (string-append "https://download.drobilla.net/suil-"
version ".tar.bz2"))
(sha256
(base32
- "0h0ghk1s0lrj4gh12r7390b0ybaw7awnj0vhchyy9ll0gvhqgkci"))))
+ "1ysbazqlbyxlzyr9zk7dj2mgb6pn0amllj2cd5g1m56wnzk0h3vm"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f)) ;no check target
(inputs
- `(("lv2" ,lv2)
- ("gtk+" ,gtk+-2)
- ("gtk+" ,gtk+)
- ("qt" ,qtbase-5)))
+ (list lv2
+ gtk+-2
+ gtk+
+ qtbase-5))
(native-inputs
(list pkg-config))
(home-page "https://drobilla.net/software/suil/")
(define-public libkeyfinder
(package
(name "libkeyfinder")
- (version "2.2.5")
+ (version "2.2.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mixxxdj/libkeyfinder")
- (commit (string-append "v" version))))
+ (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1623kirmxhmvmhx7f8lbzk0f18w2hrhwlkzl8l4aa906lfqffdp2"))))
+ (base32 "0nvhdzy0m3bchk3dpnspv2f518p2v9fjcrv36z1sva1pv9a2g35w"))))
(build-system cmake-build-system)
(native-inputs
- (list catch-framework2))
+ (list catch2))
(inputs
(list fftw))
(home-page "https://mixxxdj.github.io/libkeyfinder/")
(arguments
`(#:tests? #f)) ; no "check" phase
(native-inputs
- (list qttools pkg-config))
+ (list qttools-5 pkg-config))
(inputs
(list fluidsynth qtbase-5 qtx11extras))
(home-page "https://qsynth.sourceforge.io")
(home-page "https://github.com/foo86/dcadec")
(license license:lgpl2.1+)))
+(define-public drc
+ (package
+ (name "drc")
+ (version "3.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/drc-fir/drc-fir/"
+ version "/drc-" version ".tar.gz"))
+ (sha256
+ (base32
+ "08ljj4776pjx119zjmfqa8w56bf7x0m7spmi27yk1m455bmiglrj"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #false ;there are none
+ #:make-flags
+ #~(list (string-append "INSTALL_PREFIX=" #$output)
+ "-C" "source")
+ #:phases
+ '(modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs (list fftw))
+ (home-page "http://drc-fir.sourceforge.net/")
+ (synopsis "Digital room correction")
+ (description
+ "DRC is a program used to generate correction filters for acoustic
+compensation of HiFi and audio systems in general, including listening room
+compensation. DRC generates just the FIR correction filters, which can be
+used with a real time or offline convolver to provide real time or offline
+correction. DRC doesn't provide convolution features, and provides only some
+simplified, although really accurate, measuring tools.")
+ (license license:gpl2+)))
+
(define-public bs1770gain
(package
(name "bs1770gain")
(define-public gsm
(package
(name "gsm")
- (version "1.0.19")
+ (version "1.0.20")
(source
(origin
(method url-fetch)
(string-append "http://www.quut.com/" name "/" name
"-" version ".tar.gz"))
(sha256
- (base32
- "1xkha9ss5g5qnfaybi8il0mcvp8knwg9plgh8404vh58d0pna0s9"))))
+ (base32 "1gwhmqs24c14gc9qr91iqb2jkbr3qqy4dvf27yf8j7mq322w65b3"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "tst"
;; mediastreamer.
(substitute* "Makefile"
(("^CCFLAGS.*" all)
- (string-append all "CCFLAGS += -fPIC\n")))
- #t))
+ (string-append all "CCFLAGS += -fPIC\n")))))
(add-before 'install 'pre-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
(mkdir-p (string-append out "/man/man1"))
(mkdir-p (string-append out "/man/man3"))
(mkdir-p (string-append out "/bin"))
- (mkdir-p (string-append out "/lib")))
- #t))
+ (mkdir-p (string-append out "/lib")))))
(add-after 'install 'post-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
(string-append out "/include"))
(mkdir-p (string-append out "/include/gsm"))
(copy-recursively "inc"
- (string-append out "/include/gsm")))
- #t))
+ (string-append out "/include/gsm")))))
(delete 'configure)))) ; no configure script
(synopsis "GSM 06.10 lossy speech compression library")
(description "This C library provides an encoder and a decoder for the GSM
mixers.")
(license license:psfl)))
-(define-public python2-pyalsaaudio
- (package-with-python2 python-pyalsaaudio))
-
(define-public ldacbt
(package
(name "ldacbt")
(file-name (git-file-name name version))
(sha256
(base32
- "1mziklmqifhnb4kg9ia2r56r8wjn6xp40bkpf484hsgqvnrccl86"))))
+ "1mziklmqifhnb4kg9ia2r56r8wjn6xp40bkpf484hsgqvnrccl86"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ (delete-file-recursively "iniparser")
+ (substitute* "configure.ac"
+ (("AC_CONFIG_FILES\\(iniparser/Makefile\\)") ""))
+ (substitute* "Makefile.am"
+ (("SUBDIRS = iniparser") ""))))))
(build-system gnu-build-system)
- (native-inputs
- (list autoconf automake libtool))
- (inputs
- (list fftw ncurses pulseaudio))
+ (native-inputs (list autoconf automake libtool))
+ (inputs (list fftw ncurses pulseaudio iniparser))
(arguments
- `(#:configure-flags
- (list (string-append "PREFIX=" %output)
- (string-append "FONT_DIR=" %output "/share/consolefonts"))
- #:make-flags
- (let ((lib (string-append %output "/lib")))
- (list (string-append "cava_LDFLAGS = -L" lib " -Wl,-rpath " lib)))
- #:phases
- (modify-phases %standard-phases
- (replace 'bootstrap
- (lambda* (#:key outputs #:allow-other-keys)
- (setenv "HOME" (getcwd))
- (invoke "sh" "autogen.sh")))
- (add-before 'build 'make-cava-ldflags
- (lambda* (#:key outputs #:allow-other-keys)
- (mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
- #t))
- (add-after 'install 'data
- (lambda* (#:key outputs #:allow-other-keys)
- (for-each (lambda (file)
- (install-file file
- (string-append (assoc-ref outputs "out")
- "/share/doc/examples")))
- (find-files "example_files"))
- #t)))))
+ (list #:configure-flags
+ #~(list (string-append "PREFIX="
+ #$output)
+ (string-append "FONT_DIR="
+ #$output "/share/consolefonts"))
+ #:make-flags
+ #~(let ((lib (string-append #$output "/lib")))
+ (list (string-append "cava_LDFLAGS = -L" lib " -Wl,-rpath " lib " -lrt")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _
+ (setenv "HOME"
+ (getcwd))
+ (invoke "sh" "autogen.sh")))
+ (add-before 'build 'make-cava-ldflags
+ (lambda _
+ (mkdir-p (string-append #$output "/lib"))))
+ (add-after 'install 'data
+ (lambda _
+ (for-each (lambda (file)
+ (install-file file
+ (string-append #$output
+ "/share/doc/examples")))
+ (find-files "example_files")))))))
(home-page "https://karlstav.github.io/cava/")
(synopsis "Console audio visualizer for ALSA, MPD, and PulseAudio")
(description "C.A.V.A. is a bar audio spectrum visualizer for the terminal
(base32 "01ngkmfcxyg1bb4qmfvlkkjbx4lx62akxqhizl8zmqnhfcy4p9bx"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no "check" target
- #:make-flags
- (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- (delete 'configure) ; no configure script
- (add-before 'build 'set-CC-variable-and-show-features
- (lambda _
- (setenv "CC" "gcc")
- (invoke "make" "features")))
- (add-after 'install 'make-carla-executable
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (chmod (string-append out "/share/carla/carla") #o555)
- #t)))
- (add-after 'install 'wrap-executables
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (wrap-script (string-append out "/bin/carla")
- #:guile (search-input-file inputs "bin/guile")
- `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))
- #t))))))
+ (list #:tests? #f ; no "check" target
+ #:make-flags
+ #~(list (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (add-before 'build 'set-CC-variable-and-show-features
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (invoke "make" "features")))
+ (add-after 'install 'make-carla-executable
+ (lambda _
+ (chmod (string-append #$output "/share/carla/carla") #o555)))
+ (add-after 'install 'wrap-executables
+ (lambda* (#:key inputs #:allow-other-keys)
+ (wrap-script (string-append #$output "/bin/carla")
+ #:guile (search-input-file inputs "bin/guile")
+ `("GUIX_PYTHONPATH" ":" prefix
+ (,(getenv "GUIX_PYTHONPATH")))))))))
(inputs
- `(("alsa-lib" ,alsa-lib)
- ("ffmpeg" ,ffmpeg)
- ("fluidsynth" ,fluidsynth)
- ("file" ,file)
- ("liblo" ,liblo)
- ("libsndfile" ,libsndfile)
- ("gtk2" ,gtk+-2) ;needed for bridging GTK2 plugins in GTK3 hosts
- ("gtk+" ,gtk+)
- ("python-pyliblo" ,python-pyliblo)
- ("python-pyqt" ,python-pyqt)
- ("python-rdflib" ,python-rdflib)
- ;; python-pyqt shows the following error without python-wrapper:
- ;; Error while finding module specification for 'PyQt5.uic.pyuic'
- ;; (ModuleNotFoundError: No module named 'PyQt5')
- ("python-wrapper" ,python-wrapper)
- ("libx11" ,libx11)
- ("qtbase" ,qtbase-5)
- ("zlib" ,zlib)
-
- ;; For WRAP-SCRIPT above.
- ("guile" ,guile-2.2)))
+ (list alsa-lib
+ ffmpeg
+ fluidsynth
+ file
+ liblo
+ libsndfile
+ libx11
+ gtk+-2 ;needed for bridging GTK2 plugins in GTK3 hosts
+ gtk+
+ python-pyliblo
+ python-pyqt
+ python-rdflib
+ ;; python-pyqt shows the following error without python-wrapper:
+ ;; Error while finding module specification for 'PyQt5.uic.pyuic'
+ ;; (ModuleNotFoundError: No module named 'PyQt5')
+ python-wrapper
+ qtbase-5
+ zlib
+
+ ;; For WRAP-SCRIPT above.
+ guile-2.2))
(native-inputs
(list pkg-config))
(home-page "https://kx.studio/Applications:Carla")
(define-public lsp-dsp-lib
(package
(name "lsp-dsp-lib")
- (version "0.5.11")
+ (version "0.5.14")
(source
(origin
(method url-fetch)
"releases/download/" version
"/lsp-dsp-lib-" version "-src.tar.gz"))
(sha256
- (base32 "0lkar6r9jfrrqswi8nnndlm5a9kfwqjn92d81gp2yhc3p46xsswz"))))
+ (base32 "1gcznkyybywbgdi2fhx27i8sckhy6ahvxax72b213g1lr5aaw7bq"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (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"
- (string-append "PREFIX=" (assoc-ref outputs "out"))))))))
+ (list #:tests? #f ; no tests
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'omit-static-library
+ (lambda _
+ (substitute* "src/Makefile"
+ ((".*cp \\$\\(ARTIFACT_SLIB\\).*") "") ; don't install it
+ ((" \\$\\(ARTIFACT_SLIB\\)") "")))) ; don't build it
+ (replace 'configure
+ (lambda _
+ (invoke "make" "config"
+ (string-append "PREFIX=" #$output)))))))
(home-page "https://github.com/sadko4u/lsp-dsp-lib")
(synopsis "Digital signal processing library")
(description "The LSP DSP library provides a set of functions that perform
python ;for running tests
portaudio ;for portaudio examples
qtbase-5 ;for Qt examples
- qtdeclarative
- qttools))
+ qtdeclarative-5
+ qttools-5))
(inputs
(list jack-1 ;for JACK examples
- qtquickcontrols)) ;for Qt examples
+ qtquickcontrols-5)) ;for Qt examples
(propagated-inputs
;; This is because include/ableton/platforms/asio/AsioWrapper.hpp
;; contains '#include <asio.hpp>'.
(define-public butt
(package
(name "butt")
- (version "0.1.32")
+ (version "0.1.34")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/butt/butt/butt-"
version "/butt-" version ".tar.gz"))
(sha256
(base32
- "1qwllkx9p1gb3syhbbck3agrk375m82l18fb81aqygi4g3dg3s9r"))
+ "0zd1g1673pv8z437y34fllxska8dzpd7mygpham35pzwpdyc5c1p"))
(modules '((guix build utils)))
(snippet
'(substitute* "src/butt.cpp"
((".*zica.*") "")))))
(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)))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'install-documentation
+ (lambda _
+ (let ((doc (string-append #$output "/share/doc/" #$name)))
+ (install-file "README" doc)
+ (copy-file #$(this-package-native-input "manual")
+ (string-append doc "/butt-manual.pdf"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
- ("manual" ,(origin
- (method url-fetch)
- (uri (string-append "https://danielnoethen.de/butt/butt-"
- version "_manual.pdf"))
- (sha256
- (base32
- "0g70jyyxbx5nin3xs9q9zf878b2kyy7rn8gn9w91x1ychbjd6dhh"))))))
+ ("manual"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://danielnoethen.de/butt/butt-"
+ version "_manual.pdf"))
+ (sha256
+ (base32 "0kadqzzbk25n0aqxgbqhg4mq4hsbjq44phzcx5qj1b8847yzz8si"))))))
+ (inputs
+ (list dbus
+ flac
+ fltk
+ lame
+ libfdk
+ libsamplerate
+ libvorbis
+ libx11
+ libxext
+ libxfixes
+ libxft
+ libxrender
+ libogg
+ openssl
+ opus
+ portaudio))
(home-page "https://danielnoethen.de/butt/")
(synopsis "Audio streaming tool")
(description "Butt is a tool to stream audio to a ShoutCast or
"MDA-LV2 is an LV2 port of the MDA plugins. It includes effects and a few
instrument plugins.")
(license license:gpl3+)))
+
+(define-public libodiosacd
+ (package
+ (name "libodiosacd")
+ (version "21.8.30")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tari01/libodiosacd")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0iamf7wksbql0qfigdv5ahaax53ms2yligdav8dw6x0ay88x4lhi"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no check target
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-makefile
+ (lambda _
+ (substitute* "Makefile"
+ (("\\$\\(DESTDIR\\)/usr")
+ "\\$(DESTDIR)"))))
+ (delete 'configure)) ; no configure script
+ #:make-flags
+ (list (string-append "DESTDIR=" %output))))
+ (synopsis "Library for decoding Super Audio CDs (SACD)")
+ (description
+ "The Odio SACD shared library is a decoding engine which takes a Super
+Audio CD source and extracts a 24-bit high resolution WAV file. It handles
+both DST and DSD streams.")
+ (home-page "https://tari.in/www/software/libodiosacd/")
+ (license license:gpl3+)))
+
+(define-public odio-sacd
+ (package
+ (name "odio-sacd")
+ (version "21.1.9")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tari01/odio-sacd")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0314srqk0r4qv292qiaply619l2fw04nkdwvqhj3q1dqzv41g4qk"))))
+ (inputs (list libodiosacd))
+ ;; Build system and arguments for libodiosacd are identical.
+ (build-system (package-build-system libodiosacd))
+ (arguments (package-arguments libodiosacd))
+ (synopsis "Rip Super Audio CDs (SACD)")
+ (description
+ "Odio SACD is a command-line application which takes a Super Audio CD
+source and extracts a 24-bit high resolution WAV file. It handles both DST
+and DSD streams.")
+ (home-page "https://tari.in/www/software/odio-sacd/")
+ (license license:gpl3+)))
+
+(define-public qpwgraph
+ (package
+ (name "qpwgraph")
+ (version "0.3.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/rncbc/qpwgraph")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01f4zabn22dp0yl7szxck6gkbayk1p5iqajfgzls7mdkba7515b6"))))
+ (build-system cmake-build-system)
+ (arguments (list #:tests? #f)) ;; no tests
+ (inputs (list alsa-lib
+ libxkbcommon
+ pipewire-0.3
+ qtbase
+ qtsvg))
+ (native-inputs (list pkg-config))
+ (synopsis "PipeWire graph manager")
+ (description
+ "qpwgraph is a graph manager dedicated to PipeWire, using the Qt C++
+framework. It provides a visual interface to audio and video connections
+managed by PipeWire.")
+ (home-page "https://gitlab.freedesktop.org/rncbc/qpwgraph")
+ (license license:gpl2)))
+
+(define-public streamripper
+ (package
+ (name "streamripper")
+ (version "1.64.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://sourceforge.net/projects/streamripper"
+ "/files/streamripper%20(current)/"
+ version "/streamripper-" version ".tar.gz"))
+ (sha256
+ (base32 "0hnyv3206r0rfprn3k7k6a0j959kagsfyrmyjm3gsf3vkhp5zmy1"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Delete bundled copy of libmad.
+ '(delete-file-recursively "libmad-0.15.1b"))))
+ (build-system gnu-build-system)
+ (native-inputs (list pkg-config))
+ (inputs (list faad2 glib libmad libvorbis))
+ (home-page "http://streamripper.sourceforge.net")
+ (synopsis "Record audio streams to your hard drive")
+ (description "Streamripper records shoutcast-compatible
+streams. For shoutcast style streams it finds the “meta data” or track
+separation data, and uses that as a marker for where the track should
+be separated.")
+ (license license:gpl2+)))