;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org>
;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2017, 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2017, 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 nee <nee.git@hidamari.blue>
;;; Copyright © 2018 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org>
+;;; Copyright © 2019 raingloom <raingloom@protonmail.com>
+;;; Copyright © 2019 David Wilson <david@daviwil.com>
;;;
;;; This file is part of GNU Guix.
;;;
"prefix=~@*~a~@
libdir=${prefix}/lib~@
includedir=${prefix}/include~@
+
+ Name: libid3tag~@
+ Description:~@
+ Version:~@
Libs: -L${libdir} -lid3tag -lz~@
Cflags: -I${includedir}~%"
libid3tag)))
(setenv "PKG_CONFIG_PATH"
(string-append (getenv "PKG_CONFIG_PATH")
- ":" (getcwd) "/pkgconfig")))))
+ ":" (getcwd) "/pkgconfig"))
+ #t)))
(add-after 'unpack 'patch-makefile
(lambda _
(substitute* "Makefile.in"
;; script with /bin/sh hard-coded.
(("/bin/sh") (which "sh"))
;; Don't create 'icon-theme.cache'.
- (("gtk-update-icon-cache") "true")))))))
+ (("gtk-update-icon-cache") "true"))
+ #t)))))
(home-page "https://wiki.gnome.org/Apps/EasyTAG")
(synopsis "Simple application for viewing and editing tags in audio files")
(description
#:tests? #f ; no "check" target
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'be-permissive
+ (lambda _
+ (substitute* "SConstruct"
+ (("'-Wall'") "'-Wall', '-fpermissive'"))
+ #t))
(add-after 'unpack 'replace-removed-scons-syntax
(lambda _
(substitute* "SConstruct"
(%current-system))))
'("--disable-sse")
'()))
- #:phases
- (modify-phases %standard-phases
- (add-before
- 'configure 'set-flags
- (lambda _
- ;; Compile with C++11, required by libsigc++.
- (setenv "CXXFLAGS" "-std=c++11")
- #t)))
#:python ,python-2))
(inputs
`(("jack" ,jack-1)
(define-public synthv1
(package
(name "synthv1")
- (version "0.9.8")
+ (version "0.9.11")
(source (origin
(method url-fetch)
(uri
"/synthv1-" version ".tar.gz"))
(sha256
(base32
- "15kabmxp38wqvavs5hr1dqasjjf1j977kzqggxfmzyi3y5fan3hj"))))
+ "116k2vca9dygvsd684wvxm61p0l1xrrgdph4qrrprlsr6vj0llgm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
(define-public samplv1
(package
(name "samplv1")
- (version "0.9.8")
+ (version "0.9.11")
(source (origin
(method url-fetch)
(uri
"/samplv1-" version ".tar.gz"))
(sha256
(base32
- "138kd9szgn3b97s7crhsyj8pgwb0bn4l9knd4zliqjgj2f1bs9x0"))))
+ "17zs8kvvwqv00bm4lxpn09a5hxjlbz7k5mkl3k7jspw7rqn3djf2"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
(base32
"1882pfcmf3rqg3vd4qflzkppcv158d748i603spqjbxqi8z7x7w0"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'configure 'set-flags
- (lambda _
- ;; Compile with C++11, required by gtkmm.
- (setenv "CXXFLAGS" "-std=c++11")
- #t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
(define-public setbfree
(package
(name "setbfree")
- (version "0.8.8")
+ (version "0.8.9")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "15dr1nyj69wc9jnjq5z8ril90a3c0mcrii4zjyz0z3h7dhia3382"))))
+ "1lpsa64xvwa9xbbp8zcwxy5w0daffc7fziny2pizabqh7m9xqjl2"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
(define-public pd
(package
(name "pd")
- (version "0.49-0")
+ (version "0.50-0")
(source (origin
(method url-fetch)
(uri
version ".src.tar.gz"))
(sha256
(base32
- "18rzqbpgnnvyslap7k0ly87aw1bbxkb0rk5agpr423ibs9slxq6j"))))
+ "0hg4n5b55f650qsc0mjx559072dp7vfza7w0pvk6rk2l831cvsps"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no "check" target
+ `(#:tests? #f ; no "check" target
#:configure-flags
(list
"--enable-jack"
(define-public drumstick
(package
(name "drumstick")
- (version "1.1.2")
+ (version "1.1.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/drumstick/"
version "/drumstick-" version ".tar.bz2"))
(sha256
(base32
- "0kljqyqj7s1i2z52i24x7ail1bywn6dcxxfbad5c59drm8wv94bp"))))
+ "1n9wvg79yvkygrkc8xd8pgrd3d7hqmr7gh24dccf0px23lla9b3m"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no test target
backends, including ALSA, OSS, Network and FluidSynth.")
(license license:gpl2+)))
+(define-public vmpk
+ (package
+ (name "vmpk")
+ (version "0.7.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/vmpk/vmpk/"
+ version "/vmpk-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1i3hnvdgz46n4k5v0q4jhgh7nkh0s390ix4nqr69z0q3026yp0p6"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no test target
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'fix-docbook
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "cmake_admin/CreateManpages.cmake"
+ (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
+ (string-append (assoc-ref inputs "docbook-xsl")
+ "/xml/xsl/docbook-xsl-"
+ ,(package-version docbook-xsl)
+ "/manpages/docbook.xsl")))
+ #t)))))
+ (inputs
+ `(("drumstick" ,drumstick)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)
+ ("qttools" ,qttools)
+ ("qtx11extras" ,qtx11extras)))
+ (native-inputs
+ `(("libxslt" ,libxslt) ;for xsltproc
+ ("docbook-xsl" ,docbook-xsl)
+ ("pkg-config" ,pkg-config)))
+ (home-page "http://vmpk.sourceforge.net")
+ (synopsis "Virtual MIDI piano keyboard")
+ (description
+ "Virtual MIDI Piano Keyboard is a MIDI events generator and receiver. It
+doesn't produce any sound by itself, but can be used to drive a MIDI
+synthesizer (either hardware or software, internal or external). You can use
+the computer's keyboard to play MIDI notes, and also the mouse. You can use
+the Virtual MIDI Piano Keyboard to display the played MIDI notes from another
+instrument or MIDI file player.")
+ (license license:gpl3+)))
+
(define-public zynaddsubfx
(package
(name "zynaddsubfx")
(define-public yoshimi
(package
(name "yoshimi")
- (version "1.5.10.2")
+ (version "1.6.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
- "1rr99qkq80s8l2iv3x4ccxan07m15dvmd5s9b10386bfjbwbya01"))))
+ "140f2k4akj39pny8c7i794q125415gyvmy4rday0il5ncp3glik4"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; there are no tests
+ `(#:tests? #f ; there are no tests
#:configure-flags
(list (string-append "-DCMAKE_INSTALL_DATAROOTDIR="
(assoc-ref %outputs "out") "/share"))
(license license:gpl2+)))
(define-public ams-lv2
- ;; Version 1.2.1 built with Python 3.7 raises an error in the waf-script.
- ;; Therefore, we take two more commmits than 1.2.1 that introduce an updated
- ;; waf-script and fix one error.
- (let ((commit "377d166db54a787b48979171c5652d2eb4f1bbb5")
- (revision "1"))
- (package
- (name "ams-lv2")
- (version (git-version "1.2.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/blablack/ams-lv2.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1ndgxcxjxwidg7436k0nb5clxkyi878k1j999sbbd1gk2fm0kcqm"))))
- (build-system waf-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'remove-sse-flags
- (lambda* (#:key system #:allow-other-keys)
- (unless (or (string-prefix? "x86_64" system)
- (string-prefix? "i686" system))
- (substitute* "wscript"
- (("'-msse', '-mfpmath=sse', ") "")))
- #t)))
- #:tests? #f)) ; no tests
- (inputs
- `(("lv2" ,lv2)
- ("lvtk" ,lvtk)
- ("gtkmm" ,gtkmm-2)
- ("gtk" ,gtk+-2)
- ("cairo" ,cairo)
- ("fftw" ,fftw)))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "https://objectivewave.wordpress.com/ams-lv2/")
- (synopsis "Port of Alsa Modular Synth internal modules into LV2")
- (description "This set of LV2 plugins is a port of the internal modules
+ (package
+ (name "ams-lv2")
+ (version "1.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/blablack/ams-lv2.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-sse-flags
+ (lambda* (#:key system #:allow-other-keys)
+ (unless (or (string-prefix? "x86_64" system)
+ (string-prefix? "i686" system))
+ (substitute* "wscript"
+ (("'-msse', '-mfpmath=sse', ") "")))
+ #t)))
+ #:tests? #f)) ; no tests
+ (inputs
+ `(("cairo" ,cairo)
+ ("fftw" ,fftw)
+ ("gtk" ,gtk+-2)
+ ("gtkmm" ,gtkmm-2)
+ ("lv2" ,lv2)
+ ("lvtk" ,lvtk)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/blablack/ams-lv2")
+ (synopsis "Port of Alsa Modular Synth internal modules into LV2")
+ (description "This set of LV2 plugins is a port of the internal modules
found in Alsa Modular Synth. These plugins are used to create modular
synthesizers and contain: VCO, VCF, VCA, LFO, slew limiter, envelopes, sample
and hold, etc.")
- (license license:gpl2))))
+ (license license:gpl2)))
(define-public gxtuner
(package
(add-before 'build 'change-directory
(lambda _
(chdir "instantmusic-0.1") #t))
- (add-before 'check 'fix-file-permissions
+ (add-before 'install 'fix-file-permissions
(lambda _
;; Fix some read-only files that would cause a build failure
(for-each (cut chmod <> #o644)
(define-public beets
(package
(name "beets")
- (version "1.4.7")
+ (version "1.4.9")
(source (origin
(method url-fetch)
(uri (pypi-uri "beets" version))
- (patches (search-patches "beets-python-3.7-fix.patch"))
(sha256
(base32
- "0w3gz69s9gf5ih69d4sddgh7ndj7658m621bp742zldvjakdncrs"))))
+ "0m40rjimvfgy1dv04p8f8d5dvi2855v4ix99a9xr900cmcn476yj"))))
(build-system python-build-system)
(arguments
`(#:phases
(lambda _
(setenv "HOME" (string-append (getcwd) "/tmp"))
#t))
- (add-after 'unpack 'make-python3.7-compatible
- (lambda _
- ;; See <https://github.com/beetbox/beets/issues/2978>.
- (substitute* "beets/autotag/hooks.py"
- (("re\\._pattern_type") "re.Pattern"))
- #t))
(replace 'check
(lambda _
(invoke "nosetests" "-v"))))))
("python-mutagen" ,python-mutagen)
("python-pyyaml" ,python-pyyaml)
("python-unidecode" ,python-unidecode)))
- (home-page "http://beets.io")
+ (home-page "https://beets.io")
(synopsis "Music organizer")
(description "The purpose of beets is to get your music collection right
once and for all. It catalogs your collection, automatically improving its
(patches (search-patches "sooperlooper-build-with-wx-30.patch"))))
(build-system gnu-build-system)
(arguments
- `(#:make-flags (list "CXXFLAGS=-std=gnu++11")
- #:phases
+ `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'add-sigc++-includes
(lambda* (#:key inputs #:allow-other-keys)
sig "/lib/sigc++-2.0/include:"
xml "/include/libxml2/:"
cwd "/libs/pbd:"
- cwd "/libs/midi++")))
+ cwd "/libs/midi++:"
+ (or (getenv "CPATH") ""))))
(substitute* '("src/control_osc.hpp"
"src/gui/app_frame.hpp"
"src/gui/config_panel.hpp"
a simulation of an analog Wah pedal with switchless activation."))))
(define-public rkrlv2
- (let ((commit "d8c17d3c976107e5c012970276d7cf0aa059f15b")
- (revision "1"))
+ ;; This commit corresponds to the beta_3 tag
+ (let ((commit "7edcb4e29a358623bfd57fa2c27e5da60adfcec3")
+ (revision "2"))
(package
(name "rkrlv2")
(version (git-version "0" revision commit))
(commit commit)))
(sha256
(base32
- "035z068rlafb7ibgqf34ck2lm4fab8yzlx41qh061x2xi4hxkvp0"))
+ "16i4ajrib7kb0abdcn4901g8a4lkwkp2fyqyms38dhqq84slyfjs"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; there are no tests
(build-system gnu-build-system)
(arguments
`(#:configure-flags
- (list "--enable-qt5"
- "CXXFLAGS=-std=gnu++11")))
+ (list "--enable-qt5")))
(inputs
`(("qtbase" ,qtbase)
("alsa-lib" ,alsa-lib)
(build-system gnu-build-system)
(arguments
`(#:configure-flags
- (list "--enable-qt5"
- "CXXFLAGS=-std=gnu++11")))
+ (list "--enable-qt5")))
(inputs
`(("qtbase" ,qtbase)
("alsa-lib" ,alsa-lib)))
"12dphdhnvfk1k0vmagi1v2lhyxjyj1j3cz6ksjw0ydcvid1x8ap2"))
(patches (search-patches "seq24-rename-mutex.patch"))))
(build-system gnu-build-system)
- (arguments
- `(#:configure-flags
- (list "CXXFLAGS=-std=gnu++11")))
(inputs
`(("gtkmm" ,gtkmm-2)
("alsa-lib" ,alsa-lib)
(define-public musescore
(package
(name "musescore")
- (version "3.2.3")
+ (version "3.3")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "17wx1wl8ns2k31qvrr888dxnrsa13vazg04zh2sn2q4vzd869a7v"))
+ "15ckjwvp3xigjkzmp1ddzvlm4d0vlk9i1axyfxg3hr2sia84yxvi"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
(build-system cmake-build-system)
(arguments
`(#:configure-flags
- `("-DBUILD_CRASH_REPORTER=OFF"
- "-DBUILD_WEBENGINE=OFF"
+ `("-DBUILD_WEBENGINE=OFF"
"-DDOWNLOAD_SOUNDFONT=OFF"
"-DUSE_SYSTEM_FREETYPE=ON")
;; There are tests, but no simple target to run. The command used to
(license license:gpl2)))
(define-public patchmatrix
- ;; There have been no releases for more than a year.
- (let ((commit "a0b0b1e791f4574d5abd059cfe1819c71e8b18d5")
- (revision "1"))
- (package
- (name "patchmatrix")
- (version (git-version "0.12.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/OpenMusicKontrollers/patchmatrix.git")
- (commit commit)))
- (file-name (string-append "patchmatrix-" version "-checkout"))
- (sha256
- (base32
- "0pph4ra7aci3rbpqvvr564pi16vxrk448bmvp8985cd9lbjlrp3m"))))
- (build-system meson-build-system)
- (arguments
- '(#:tests? #f ; no test target
- #:phases
- (modify-phases %standard-phases
- (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
- (lambda* (#:key outputs #:allow-other-keys)
- (map make-file-writable
- (find-files (assoc-ref outputs "out") ".*\\.gz$"))
- #t)))))
- (inputs
- `(("jack" ,jack-1)
- ("lv2" ,lv2)
- ("mesa" ,mesa)))
- (native-inputs
- `(("pkg-config" ,pkg-config)))
- (home-page "https://github.com/OpenMusicKontrollers/patchmatrix")
- (synopsis "Simple JACK patch bay")
- (description "PatchMatrix is a patch bay for the JACK audio connection
+ (package
+ (name "patchmatrix")
+ (version "0.16.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OpenMusicKontrollers/patchmatrix.git")
+ (commit version)))
+ (file-name (git-file-name "patchmatrix" version))
+ (sha256
+ (base32
+ "020vp7zzxxzzjfic57vkpg68dm8hi98ilr1bj88xjsv6i47xmjbn"))))
+ (build-system meson-build-system)
+ (arguments '(#:tests? #f)) ; no test target
+ (inputs
+ `(("jack" ,jack-1)
+ ("lv2" ,lv2)
+ ("mesa" ,mesa)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/OpenMusicKontrollers/patchmatrix")
+ (synopsis "Simple JACK patch bay")
+ (description "PatchMatrix is a patch bay for the JACK audio connection
kit. It provides a patch bay in flow matrix style for audio, MIDI, CV, and
OSC connections.")
- (license license:artistic2.0))))
+ (license license:artistic2.0)))
(define-public sorcer
(package
controller.")
(home-page "https://github.com/charlesfleche/lpd8editor")
(license license:expat)))
+
+(define-public fmit
+ (package
+ (name "fmit")
+ (version "1.2.13")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/gillesdegottex/fmit/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qyskam053pvlap1av80rgp12pzhr92rs88vqs6s0ia3ypnixcc6"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'qmake
+ (lambda _
+ (let ((out (assoc-ref %outputs "out")))
+ (invoke "qmake"
+ "fmit.pro"
+ (string-append "PREFIX=" out)
+ (string-append "PREFIXSHORTCUT=" out)
+ "CONFIG+=acs_qt acs_alsa acs_jack acs_portaudio"))))
+ (add-after 'install 'wrap-executable
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/fmit")
+ `("QT_PLUGIN_PATH" ":" prefix
+ ,(map (lambda (label)
+ (string-append (assoc-ref inputs label)
+ "/lib/qt5/plugins"))
+ '("qtbase" "qtmultimedia" "qtsvg")))
+ `("QML2_IMPORT_PATH" ":" prefix
+ ,(map (lambda (label)
+ (string-append (assoc-ref inputs label)
+ "/lib/qt5/qml"))
+ '("qtmultimedia"))))
+ #t))))))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("fftw" ,fftw)
+ ("jack" ,jack-1)
+ ("portaudio" ,portaudio)
+ ("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtsvg" ,qtsvg)))
+ (native-inputs
+ `(("gettext" ,gnu-gettext)
+ ("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("itstool" ,itstool)
+ ("qttools" ,qttools)))
+ (synopsis "Musical instrument tuner")
+ (description "FMIT is a graphical utility for tuning musical instruments,
+with error and volume history, and advanced features.")
+ (home-page "https://gillesdegottex.github.io/fmit/")
+ ;; Most of the code is under GPL2+, but some abstract or helper classes
+ ;; are under LGPL2.1.
+ (license (list license:gpl2+ license:lgpl2.1))))
+
+(define-public mloop
+ (let ((commit "adebff98b0b4dc5872a03acb82e89c77cb29c127")
+ (revision "0"))
+ (package
+ (name "mloop")
+ (version (git-version "0.0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://git.fuzzle.org/mloop")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "175gxvg5slq0bllcx1c381rjlq3xpxww8c3kpiw5i2kfr4m52myz"))))
+ (build-system waf-build-system)
+ (arguments
+ `(#:python ,python-2
+ #:tests? #f)) ; no "check" target
+ (inputs
+ `(("jack" ,jack-1)
+ ("ncurses" ,ncurses)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://fuzzle.org/~petern/mloop.html")
+ (synopsis "Live MIDI looper")
+ (description "mloop is a live MIDI looping system, using jack-midi.
+Loops are recorded, optionally with beat quantization, and can then be played
+back, either once or looping. A 'note cache' system is implemented to
+remember which notes are pressed and their velocities. This allows for a loop
+to start off with the currently pressed notes, making seamless loops much
+easier to perform. Features include:
+
+@itemize
+@item Quantisation; end a loop on a beat exactly.
+@item Delayed recording; wait for a MIDI event before starting a loop record.
+@item Adjust tempo; Playback speed of loops can be adjusted on the fly.
+@end itemize\n")
+ (license license:gpl2))))
+
+(define-public pragha
+ (package
+ (name "pragha")
+ (version "1.3.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/pragha-music-player/pragha/"
+ "releases/download/v" version "/pragha-" version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "19kbhq99bkimx3aqrdzln0vlr4slkpx6kq66j731jvqyq76nlkp5"))))
+ (build-system glib-or-gtk-build-system)
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("grilo" ,grilo)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-good" ,gst-plugins-good)
+ ("gtk+" ,gtk+)
+ ("libcddb" ,libcddb)
+ ("libcdio" ,libcdio)
+ ("libcdio-paranoia" ,libcdio-paranoia)
+ ("libgudev" ,libgudev)
+ ("libnotify" ,libnotify)
+ ("libpeas" ,libpeas)
+ ("libsoup" ,libsoup)
+ ("sqlite" ,sqlite)
+ ("taglib" ,taglib)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
+ (wrap-program (string-append out "/bin/pragha")
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
+ #t))))))
+ (home-page "https://pragha-music-player.github.io")
+ (synopsis "Music player")
+ (description "Pragha is a lightweight music player based on Gtk and
+sqlite. It is constructed to be fast, light, and simultaneously tries to be
+complete without obstructing your daily work.")
+ (license license:gpl3+)))
+
+(define-public playerctl
+ (package
+ (name "playerctl")
+ (version "2.0.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/altdesktop/playerctl.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1f3njnpd52djx3dmhh9a8p5a67f0jmr1gbk98icflr2q91149gjz"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags '("-Dintrospection=false" "-Dgtk-doc=false")))
+ (inputs `(("python-pygobject" ,python-pygobject)))
+ (native-inputs
+ `(("glib:bin" ,glib "bin")
+ ("pkg-config" ,pkg-config)))
+ (synopsis "Control MPRIS-supporting media player applications")
+ (description
+ "Playerctl is a command-line utility and library for controlling media
+players that implement the MPRIS D-Bus Interface Specification. Playerctl
+makes it easy to bind player actions, such as play and pause, to media keys.
+You can also get metadata about the playing track such as the artist and title
+for integration into status line generators or other command-line tools.")
+ (home-page "https://github.com/altdesktop/playerctl")
+ (license license:lgpl3+)))