;;; 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, 2020 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>
(define-public wildmidi
(package
(name "wildmidi")
- (version "0.4.3")
+ (version "0.4.4")
(source
(origin
(method git-fetch)
(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
(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
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.5")
+ (version "2.1.8")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "0ccpq4p1h1g53ng3961g3lh590qnwvpzwdzpl6ai4j6iazq0bh73"))))
+ "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.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
(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
(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
(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
")
(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 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)))
(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+)))