;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2019 Eric Bavier <bavier@member.fsf.org>
-;;; 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 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
-;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 nikita <nikita@n0.is>
;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org>
-;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2017, 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017, 2018, 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 nee <nee.git@hidamari.blue>
-;;; Copyright © 2018 Stefan Reichör <stefan@xsteve.at>
+;;; Copyright © 2018, 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2019 raingloom <raingloom@protonmail.com>
;;; Copyright © 2019 David Wilson <david@daviwil.com>
-;;; Copyright © 2019, 2020 Alexandros Theodotou <alex@zrythm.org>
+;;; Copyright © 2019, 2020, 2021 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2019 Riku Viitanen <riku.viitanen0@gmail.com>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
+;;; Copyright © 2021 Leo Prikler <leo.prikler@student.tugraz.at>
+;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio) ;libsndfile
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
#:use-module (gnu packages sdl)
+ #:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages stb)
#:use-module (gnu packages tcl)
#:use-module (gnu packages video)
#:use-module (gnu packages vim) ;for 'xxd'
#:use-module (gnu packages web)
+ #:use-module (gnu packages webkit)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
score, keyboard, guitar, drum and controller views.")
(license license:gpl3+)))
-;; We don't use the latest release because it depends on Qt4. Instead we
-;; download the sources from the tip of the "qt5" branch.
(define-public clementine
- (let ((commit "4619a4c1ab3b17b13d4b2327ad477912917eaf36")
- (revision "2"))
- (package
- (name "clementine")
- (version (git-version "1.3.1" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/clementine-player/Clementine")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1hximk3q0p8nw8is5w7215xgkb7k4flnfyr0pdz9svfwvcm05w1i"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (for-each
- (lambda (dir)
- (delete-file-recursively
- (string-append "3rdparty/" dir)))
- (list
- ;; TODO: The following dependencies are still bundled:
- ;; - "qxt": Appears to be unmaintained upstream.
- ;; - "qsqlite"
- ;; - "qtsingleapplication"
- ;; - "qocoa"
- ;; - "qtiocompressor"
- ;; - "gmock": The tests crash when using our googletest
- ;; package instead of the bundled gmock.
- "SPMediaKeyTap"
- "fancytabwidget"
- "google-breakpad"
- "libmygpo-qt"
- "libmygpo-qt5"
- "libprojectm"
- "qtwin"
- "sha2" ;; Replaced by openssl.
- "taglib"
- "tinysvcmdns"))
- #t))
- (patches (search-patches "clementine-use-openssl.patch"
- "clementine-remove-crypto++-dependency.patch"
- "clementine-fix-sqlite.patch"))))
- (build-system cmake-build-system)
- (arguments
- '(#:test-target "clementine_test"
- #:configure-flags
- (list ;; Requires unpackaged "projectm"
- "-DENABLE_VISUALISATIONS=OFF"
- ;; Otherwise it may try to download a non-free library at run-time.
- ;; TODO In an origin snippet, remove the code that performs the
- ;; download.
- "-DHAVE_SPOTIFY_DOWNLOADER=FALSE"
- "-DUSE_SYSTEM_SHA2=TRUE")
- #: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/clementine")
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
- #t))))))
- (native-inputs
- `(("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)
- ("qtlinguist" ,qttools)))
- (inputs
- `(("boost" ,boost)
- ("chromaprint" ,chromaprint)
- ("fftw" ,fftw)
- ("glib" ,glib)
- ("glu" ,glu)
- ("gstreamer" ,gstreamer)
- ("gst-plugins-base" ,gst-plugins-base)
- ("gst-plugins-good" ,gst-plugins-good)
- ("gst-libav" ,gst-libav)
- ("libcdio" ,libcdio)
- ("libmygpo-qt" ,libmygpo-qt)
- ;; TODO: Package libgpod.
- ("libmtp" ,libmtp)
- ("libxml2" ,libxml2)
- ("openssl" ,openssl)
- ("protobuf" ,protobuf)
- ("pulseaudio" ,pulseaudio)
- ("qtbase" ,qtbase)
- ("qtx11extras" ,qtx11extras)
- ("sqlite" ,sqlite)
- ("sparsehash" ,sparsehash)
- ("taglib" ,taglib)))
- (home-page "https://clementine-player.org")
- (synopsis "Music player and library organizer")
- (description "Clementine is a multiplatform music player. It is inspired
+ (package
+ (name "clementine")
+ (version "1.4.0rc1-450-g2725ef99d")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/clementine-player/Clementine")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1pcwwi9b2qcfjn748577gqx6d1hgg7cisw2dn43npwafdvvkdb90"))
+ (modules '((guix build utils)
+ (ice-9 regex)))
+ (snippet
+ '(begin
+ (use-modules ((ice-9 regex)))
+ (for-each
+ (lambda (dir)
+ ;; TODO: The following dependencies are still bundled:
+ ;; - "qxt": Appears to be unmaintained upstream.
+ ;; - "qsqlite"
+ ;; - "qtsingleapplication"
+ ;; - "qocoa"
+ ;; - "qtiocompressor"
+ (let ((bundled '("qsqlite"
+ "qtsingleapplication"
+ "qxt"
+ "qocoa"
+ "qtiocompressor")))
+ (if (not
+ (string-match
+ (string-append ".?*(" (string-join bundled "|") ")")
+ dir))
+ (delete-file-recursively dir))))
+ (find-files "3rdparty"
+ (lambda (file stat)
+ (string-match "^3rdparty/[^/]*$" file))
+ #:directories? #t))
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:test-target "clementine_test"
+ #:configure-flags
+ (list ;; Requires unpackaged "projectm"
+ "-DENABLE_VISUALISATIONS=OFF"
+ ;; Otherwise it may try to download a non-free library at run-time.
+ ;; TODO In an origin snippet, remove the code that performs the
+ ;; download.
+ "-DHAVE_SPOTIFY_DOWNLOADER=FALSE"
+ ;; Clementine checks that the taglib version is higher than 1.11,
+ ;; because of https://github.com/taglib/taglib/issues/864. Remove
+ ;; this flag when 1.12 is released.
+ "-DUSE_SYSTEM_TAGLIB=TRUE")
+ #: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/clementine")
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
+ #t))))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)
+ ("qtlinguist" ,qttools)))
+ (inputs
+ `(("boost" ,boost)
+ ("chromaprint" ,chromaprint)
+ ("fftw" ,fftw)
+ ("glib" ,glib)
+ ("glu" ,glu)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-good" ,gst-plugins-good)
+ ("gst-libav" ,gst-libav)
+ ("libcdio" ,libcdio)
+ ("libmygpo-qt" ,libmygpo-qt)
+ ;; TODO: Package libgpod.
+ ("libmtp" ,libmtp)
+ ("libxml2" ,libxml2)
+ ("protobuf" ,protobuf)
+ ("pulseaudio" ,pulseaudio)
+ ("qtbase" ,qtbase)
+ ("qtx11extras" ,qtx11extras)
+ ("sqlite" ,sqlite)
+ ("sparsehash" ,sparsehash)
+ ("taglib" ,taglib)))
+ (home-page "https://clementine-player.org")
+ (synopsis "Music player and library organizer")
+ (description "Clementine is a multiplatform music player. It is inspired
by Amarok 1.4, focusing on a fast and easy-to-use interface for searching and
playing your music.")
- (license (list
- ;; clementine and qtiocompressor are under GPLv3.
- license:gpl3+
- ;; gmock is under BSD-3.
- license:bsd-3
- ;; qxt is under CPL1.0.
- license:cpl1.0
- ;; qsqlite and qtsingleapplication are under LGPL2.1+.
- license:lgpl2.1+
- ;; qocoa is under MIT and CC by-sa for the icons.
- license:cc-by-sa3.0)))))
+ (license (list
+ ;; clementine and qtiocompressor are under GPLv3.
+ license:gpl3+
+ ;; qxt is under CPL1.0.
+ license:cpl1.0
+ ;; qsqlite and qtsingleapplication are under LGPL2.1+.
+ license:lgpl2.1+
+ ;; qocoa is under MIT and CC by-sa for the icons.
+ license:cc-by-sa3.0))))
+
+(define-public strawberry
+ (package
+ (name "strawberry")
+ (version "0.9.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/strawberrymusicplayer/strawberry")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0d9asg21j9ai23sb35cimws8bd8fsnpha777rgscraa7i09q0rx2"))
+ (modules '((guix build utils)
+ (ice-9 regex)))
+ (snippet
+ '(begin
+ (use-modules ((ice-9 regex)))
+ (for-each
+ (lambda (dir)
+ ;; TODO: The following dependencies are still bundled:
+ ;; - "singleapplication"
+ (let ((bundled '("singleapplication")))
+ (if (not
+ (string-match
+ (string-append ".?*(" (string-join bundled "|") ")")
+ dir))
+ (delete-file-recursively dir))))
+ (find-files "3rdparty"
+ (lambda (file stat)
+ (string-match "^3rdparty/[^/]*$" file))
+ #:directories? #t))
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:test-target "run_strawberry_tests"
+ #: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/strawberry")
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
+ #t)))
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((xorg-server (assoc-ref inputs "xorg-server")))
+ (system (format #f "~a/bin/Xvfb :1 &" xorg-server))
+ (setenv "DISPLAY" ":1")
+ (setenv "HOME" (getcwd))
+ #t))))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("googletest" ,googletest)
+ ("pkg-config" ,pkg-config)
+ ("qtlinguist" ,qttools)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("boost" ,boost)
+ ("chromaprint" ,chromaprint)
+ ("dbus" ,dbus)
+ ("fftw" ,fftw)
+ ("glib" ,glib)
+ ("gnutls" ,gnutls)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-good" ,gst-plugins-good)
+ ("libcdio" ,libcdio)
+ ("libmtp" ,libmtp)
+ ("protobuf" ,protobuf)
+ ("pulseaudio" ,pulseaudio)
+ ("qtbase" ,qtbase)
+ ("qtx11extras" ,qtx11extras)
+ ("sqlite" ,sqlite)
+ ("taglib" ,taglib)))
+ (home-page "https://www.strawberrymusicplayer.org/")
+ (synopsis "Music player and library organizer")
+ (description "Strawberry is a music player and music collection organizer.
+It is a fork of Clementine aimed at music collectors and audiophiles.")
+ (license (list
+ ;; strawberry.
+ license:gpl3+
+ ;; singleapplication
+ license:expat
+ ;; icons.
+ license:cc-by-sa3.0))))
(define-public cmus
(package
(define-public denemo
(package
(name "denemo")
- (version "2.4.0")
+ (version "2.5.0")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://gnu/denemo/"
- "denemo-" version ".tar.gz"))
+ (uri (string-append "mirror://gnu/denemo/denemo-" version ".tar.gz"))
(sha256
- (base32 "145kq0zfgdadykl3i6na221i4s5wzdrcqq48amzyfarnrqk2rmpd"))))
+ (base32 "05kwy8894hsxr6123hc854j2qq2sxyjw721zk4g3vzz8pw29p887"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(define-public hydrogen
(package
(name "hydrogen")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0snljpvbcgikhz610c325dgvayi0k512p3bglck9vvi90wsqx7l1"))))
+ (base32 "0nhn2njs8yyxcijxv5zgymf3211y6anzm0v9kn4vnd8kai7zwxxp"))))
(build-system cmake-build-system)
(arguments
`(#:test-target "tests"
("emacs" ,emacs-no-x)))
;; Extempore refuses to build on architectures other than x86_64
(supported-systems '("x86_64-linux"))
- (home-page "https://digego.github.io/extempore/")
+ (home-page "https://github.com/digego/extempore")
(synopsis "Programming environment for live coding of multimedia")
(description
"Extempore is a programming language and runtime environment designed
audio and video).")
(license license:bsd-2)))
+(define-public fluida-lv2
+ (package
+ (name "fluida-lv2")
+ (version "0.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/brummer10/Fluida.lv2")
+ (commit (string-append "v" version))
+ (recursive? #t))) ; references specific commit of libxputty
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1v0bh4wcx79y832qigc3my8ixq0r4ica6z5fg2rg946pkh20x1a2"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:make-flags
+ (list (string-append "INSTALL_DIR="
+ (assoc-ref %outputs "out") "/lib/lv2")
+ "CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ `(("cairo" ,cairo)
+ ("libx11" ,libx11)
+ ("lv2" ,lv2)
+ ("fluidsynth" ,fluidsynth)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/brummer10/Fluida.lv2")
+ (synopsis "Fluidsynth as an LV2 audio plugin")
+ (description "Fluida is an audio plugin in the LV2 format that acts as
+a frontend for fluidsynth.")
+ (license license:gpl2+)))
+
(define-public surge-synth
(package
(name "surge-synth")
;; more than an hour of silence, so double the max silent time.
(properties `((max-silent-time . 7200)))))
+(define-public python-abjad
+ (package
+ (name "python-abjad")
+ (version "3.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Abjad/abjad")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dzf5v7pawbzkb4qxp4s5z4r3gibkk705pag83yvgzkx6fd6jf2g"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda _
+ (substitute* "setup.py"
+ (("uqbar>=0.5.1, <0.5.0") "uqbar>=0.5.0"))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; See: https://stackoverflow.com/a/34140498
+ (invoke "python" "-m" "pytest" "tests")
+ #t))))))
+ (native-inputs
+ `(("lilypond" ,lilypond)
+ ("python-black" ,python-black)
+ ("python-flake8" ,python-flake8)
+ ("python-iniconfig" ,python-iniconfig)
+ ("python-isort" ,python-isort)
+ ("python-mypy" ,python-mypy)
+ ("python-ply" ,python-ply)
+ ("python-pytest" ,python-pytest-6)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-sphinx-autodoc-typehints" ,python-sphinx-autodoc-typehints)))
+ (propagated-inputs
+ `(("python-quicktions" ,python-quicktions)
+ ("python-roman" ,python-roman)
+ ("python-six" ,python-six)
+ ("python-uqbar" ,python-uqbar)))
+ (home-page "https://abjad.github.io")
+ (synopsis "Python API for building LilyPond files")
+ (description
+ "This package provides a Python API for building LilyPond files.")
+ (license license:expat)))
+
(define-public non-sequencer
;; The latest tagged release is three years old and uses a custom build
;; system, so we take the last commit.
("txt2man" ,txt2man)
("libxml2" ,libxml2) ; for tests
("ghostscript" ,ghostscript)
- ("texinfo" ,texinfo)))
+ ("texinfo" ,texinfo-5)))
(home-page "https://www.gnu.org/software/solfege/")
(synopsis "Ear training")
(description
(define-public synthv1
(package
(name "synthv1")
- (version "0.9.18")
+ (version "0.9.21")
(source (origin
(method url-fetch)
(uri
"/synthv1-" version ".tar.gz"))
(sha256
(base32
- "1sggiaswcdpyxnnbg583ldg0m92fiys6nc5qdiqli7450w416a6c"))))
+ "0wg4ywkqf307vln0y923p083xacb5ahr2ghzvb9gmqyszd7k2v15"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
(define-public drumkv1
(package
(name "drumkv1")
- (version "0.9.18")
+ (version "0.9.21")
(source (origin
(method url-fetch)
(uri
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
- "1bzkaz7sqx1pvirja8zm7i2ckzl5ad6xspr4840389ik3l8qpnr5"))))
+ "1ym7kns7hfgxdwm2nzvpdm5vjxpkwb9dssjiic6rrpicv1p2v59m"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
(define-public samplv1
(package
(name "samplv1")
- (version "0.9.18")
+ (version "0.9.21")
(source (origin
(method url-fetch)
(uri
"/samplv1-" version ".tar.gz"))
(sha256
(base32
- "13p5aj1513fwhzi9s4i1a5dbvzmbx9867zb0ddb9s9nbwks4ry3q"))))
+ "1kz8hcpzhrkvxpah6irz5gbah4m7knjhi4rk5hs1kwiikn7p6vgk"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
(define-public padthv1
(package
(name "padthv1")
- (version "0.9.18")
+ (version "0.9.21")
(source (origin
(method url-fetch)
(uri
"/padthv1-" version ".tar.gz"))
(sha256
(base32
- "1karrprb3ijrbiwpr43rl3nxnzc33lnmwrd1832psgr3flnr9fp5"))))
+ "0s28l8vp9b85s4bdm18qm57dh8dx8rx7659r05p44828g4053ipl"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
(define-public pd
(package
(name "pd")
- (version "0.51-3")
+ (version "0.51-4")
(source (origin
(method url-fetch)
(uri
version ".src.tar.gz"))
(sha256
(base32
- "10cqg387xdpiirak5v9y1lpvcds9bpqz61znx6d1m1hb45n513aw"))))
+ "1hgw1ciwr59f4f9s0h7c2l36wcsn3jsddhr1r9qj97vf64c1ynaj"))))
(build-system gnu-build-system)
(arguments
(let ((wish (string-append "wish" (version-major+minor
(define-public drumstick
(package
(name "drumstick")
- (version "1.1.3")
+ (version "2.1.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/drumstick/"
version "/drumstick-" version ".tar.bz2"))
(sha256
(base32
- "1n9wvg79yvkygrkc8xd8pgrd3d7hqmr7gh24dccf0px23lla9b3m"))))
+ "06lz4kzpgg5lalcjb14pi35jxca5f4j6ckqf6mdxs1k42dfhjpjp"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no test target
- #:configure-flags '("-DLIB_SUFFIX=")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-docbook
(inputs
`(("qtbase" ,qtbase)
("qtsvg" ,qtsvg)
+ ("qttools" ,qttools)
("alsa-lib" ,alsa-lib)))
(native-inputs
`(("pkg-config" ,pkg-config)
("libxslt" ,libxslt) ; for xsltproc
("docbook-xsl" ,docbook-xsl)
- ("doxygen" ,doxygen)))
- (home-page "http://drumstick.sourceforge.net/")
+ ("doxygen" ,doxygen)
+ ("graphviz" ,graphviz))) ; for dot
+ (home-page "https://drumstick.sourceforge.io/")
(synopsis "C++ MIDI library")
(description
"Drumstick is a set of MIDI libraries using C++/Qt5 idioms and style. It
(define-public vmpk
(package
(name "vmpk")
- (version "0.7.2")
+ (version "0.8.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/vmpk/vmpk/"
version "/vmpk-" version ".tar.bz2"))
(sha256
(base32
- "1i3hnvdgz46n4k5v0q4jhgh7nkh0s390ix4nqr69z0q3026yp0p6"))))
+ "1kv256j13adk4ib7r464gsl4vjhih820bq37ddhqfyfd07wh53a2"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no test target
(define-public yoshimi
(package
(name "yoshimi")
- (version "1.7.3")
+ (version "1.7.4")
(source
(origin
(method url-fetch)
(version-major+minor version)
"/yoshimi-" version ".tar.bz2"))
(sha256
- (base32 "1ixb2kqmfgm2lfjaj6z3h03c840hcfmca4h6pjnc4aln2mzm7fcw"))))
+ (base32 "0lxfqj4p4njww3n0wa6yfj38zfls16y3wszd47gvc5asmqyg5vjd"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
(define-public qtractor
(package
(name "qtractor")
- (version "0.9.18")
+ (version "0.9.21")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
- "121vmygdzp37p6f93f8dbbg2m2r55j7amyiapzkqgypgn4vfdbwr"))))
+ "12hn17hqs3jndv6238wj8yhw07n99s0zachab4kfvhwa0qfflsbl"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; no "check" target
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
- (home-page "http://qtractor.org/")
+ (home-page "https://qtractor.org/")
(synopsis "Audio/MIDI multi-track sequencer")
(description
"Qtractor is an Audio/MIDI multi-track sequencer application. It uses
(define-public pianobar
(package
(name "pianobar")
- (version "2020.04.05")
+ (version "2020.11.28")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "1gq8kpks6nychqz4gf0rpy7mrhz5vjw48a60x56j6y9flmazmypw"))))
+ "13qx52a1yj2wghf7yd9jf4ar92scbc8zgqdq0kkqf4p9isf1phf3"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
streams on an individual packet/page level.")
(license license:gpl2))) ; "later version" never mentioned
-(define-public python2-mutagen
- (package-with-python2 python-mutagen))
+(define-public python-mediafile
+ (package
+ (name "python-mediafile")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "mediafile" version))
+ (patches (search-patches "python-mediafile-wavpack.patch"))
+ (sha256
+ (base32
+ "0jmsp3f57xj35ayp8b6didk85nxgl3viw34s5px3l5dwgc055yx3"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mutagen" ,python-mutagen)
+ ("python-six" ,python-six)
+ ("python-tox" ,python-tox)))
+ (home-page "https://github.com/beetbox/mediafile")
+ (synopsis "Read and write audio file tags")
+ (description
+ "MediaFile is a simple interface to the metadata tags for many audio file
+formats. It wraps Mutagen, a high-quality library for low-level tag
+manipulation, with a high-level, format-independent interface for a common set
+of tags.")
+ (license license:expat)))
(define-public python-musicbrainzngs
(package
of tools for manipulating and accessing your music.")
(license license:expat)))
+(define-public beets-next
+ (let ((commit "04ea754d00e2873ae9aa2d9e07c5cefd790eaee2")
+ (revision "1"))
+ (package
+ (inherit beets)
+ (name "beets-next")
+ (version (git-version (package-version beets) revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/beetbox/beets")
+ (commit commit)))
+ (file-name (git-file-name "beets" version))
+ (sha256
+ (base32
+ "092a9sss2shhcjmpgbwvscv8brpm5970i5hddkhi81xcff3bg1h4"))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; XXX: unclear why this fails
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (substitute* "test/test_zero.py"
+ (("def test_album_art") "def _test_album_art"))
+ #t))
+ (add-after 'unpack 'set-HOME
+ (lambda _
+ (setenv "HOME" (string-append (getcwd) "/tmp"))
+ #t))
+ (replace 'check
+ (lambda _
+ ;; Resources must be writable.
+ (for-each make-file-writable
+ (find-files "test/rsrc" "."))
+ (invoke "nosetests" "-v")))
+ ;; Wrap the executable, so it can find python-gi (aka pygobject) and
+ ;; gstreamer plugins.
+ (add-after 'wrap 'wrap-typelib
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((prog (string-append (assoc-ref outputs "out")
+ "/bin/beet"))
+ (plugins (getenv "GST_PLUGIN_SYSTEM_PATH"))
+ (types (getenv "GI_TYPELIB_PATH")))
+ (wrap-program prog
+ `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,plugins))
+ `("GI_TYPELIB_PATH" ":" prefix (,types)))
+ #t))))))
+ (inputs
+ `(("python-confuse" ,python-confuse)
+ ("python-mediafile" ,python-mediafile)
+ ("python-reflink" ,python-reflink)
+ ("python-requests-oauthlib" ,python-requests-oauthlib)
+ ("opusfile" ,opusfile)
+ ,@(package-inputs beets))))))
+
(define-public beets-bandcamp
(package
(name "beets-bandcamp")
(synopsis "Bandcamp plugin for beets")
(description
"This plugin for beets automatically obtains tag data from @uref{Bandcamp,
- https://bandcamp.com/}. It's also capable of getting song lyrics and album art
- using the beets FetchArt plugin.")
+https://bandcamp.com/}. It's also capable of getting song lyrics and album art
+using the beets FetchArt plugin.")
(license license:gpl2)))
(define-public milkytracker
(package
(name "milkytracker")
- (version "1.02.00")
+ (version "1.03.00")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "05a6d7l98k9i82dwrgi855dnccm3f2lkb144gi244vhk1156n0ca"))
+ "025fj34gq2kmkpwcswcyx7wdxb89vm944dh685zi4bxx0hz16vvk"))
(modules '((guix build utils)))
;; Remove non-FSDG compliant sample songs.
(snippet
(define-public sooperlooper
(package
(name "sooperlooper")
- (version "1.7.4")
+ (version "1.7.6")
(source
(origin
(method url-fetch)
(uri (string-append "http://essej.net/sooperlooper/sooperlooper-"
version ".tar.gz"))
(sha256
- (base32 "1jjvq4aflbyr3nr8b318k1vkad16xfa1jkqn9ckzw4419qc6c1k5"))))
+ (base32 "0kbb1pj62rl32c88j6p7dg823kvs0gb5s42qy3bl6yg0wn10dksj"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(define-public lmms
(package
(name "lmms")
- (version "1.2.1")
+ (version "1.2.2")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "1gx730z361xx30iqbsm99aam1k2c8yf561gcay6sryyjksb4w1wy"))))
+ "11xgf461cnmq0jkgdgx5bddi87ammpik4whg1m4fcvd3i0d5i601"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests
("libxft" ,libxft)
("freetype2" ,freetype)
("fftw3f" ,fftwf)
- ("jack" ,jack-1)))
+ ("jack" ,jack-1)
+ ("carla" ,carla)))
(home-page "https://lmms.io/")
(synopsis "Music composition tool")
(description "LMMS is a digital audio workstation. It includes tools for sequencing
audio samples and various soft sythesizers. It can receive input from a MIDI keyboard.")
(license license:gpl2+)))
+(define-public liquidsfz
+ (package
+ (name "liquidsfz")
+ (version "0.2.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://space.twc.de/~stefan/liquidsfz/"
+ "liquidsfz-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1hb4hc3gkvjfbx0ls6wxzavhv2hf9ix11cz8yvndyb6q9lwkimwl"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--enable-shared")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ;; Fails with default gcc (#include <filesystem> not found).
+ ("gcc" ,gcc-9)))
+ (inputs
+ `(("jack" ,jack-2)
+ ("lv2" ,lv2)
+ ("readline" ,readline)
+ ("libsndfile" ,libsndfile)))
+ (home-page "https://github.com/swesterfeld/liquidsfz")
+ (synopsis "Sampler library")
+ (description "The main goal of liquidsfz is to provide an SFZ sampler
+implementation library that is easy to integrate into other projects. A
+standalone JACK client and an LV2 plugin is also available.")
+ (license license:lgpl2.1+)))
+
(define-public musescore
(package
(name "musescore")
- (version "3.5.2")
+ (version "3.6.2")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0yzps5xxa50cr2i5iv2ycjdywd0mcrdd6hx93l4p8lfljag3w3al"))
+ (base32 "0szvb6mlzy9df9lrq546rrpixa480knzij1wgh6ilflxz87q048q"))
(modules '((guix build utils)))
(snippet
;; Remove unused libraries.
studio.")
(license license:gpl2+)))
+(define-public gsequencer
+ (package
+ (name "gsequencer")
+ (version "3.7.48")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.savannah.gnu.org/git/gsequencer.git/")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pqaj09x3lzcj0zbbkqpyaky9i1w462bhhvg1akh73nzwvyy46zd"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'prepare-x-for-test
+ (lambda _
+ (system "Xvfb &")
+ (setenv "DISPLAY" ":0")
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("cunit" ,cunit)
+ ("gettext" ,gettext-minimal)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
+ ("libtool" ,libtool)
+ ("libxslt" ,libxslt)
+ ("pkg-config" ,pkg-config)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("dssi" ,dssi)
+ ("fftw" ,fftw)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gstreamer" ,gstreamer)
+ ("gtk+" ,gtk+)
+ ("jack" ,jack-1)
+ ("ladspa" ,ladspa)
+ ("libinstpatch" ,libinstpatch)
+ ("libsamplerate" ,libsamplerate)
+ ("libsndfile" ,libsndfile)
+ ("libsoup" ,libsoup)
+ ("libuuid" ,util-linux "lib")
+ ("libxml2" ,libxml2)
+ ("lv2" ,lv2)
+ ("pulseaudio" ,pulseaudio)
+ ("webkitgtk" ,webkitgtk)))
+ (home-page "https://nongnu.org/gsequencer/")
+ (synopsis "Advanced Gtk+ Sequencer")
+ (description
+ "GSequencer allows you to play, capture and create music. There is a piano
+roll, automation and wave form editor. It has machines for playing drum samples,
+Soundfont2 sound containers and synthesizers. They usually can be connected to a
+MIDI input source (instrument). It has support for various audio backends like
+ALSA, Pulseaudio, JACK, OSSv4 and CoreAudio.")
+ (license license:gpl3+)))
+
(define-public dssi
(package
(name "dssi")
(define-public artyfx
(package
(name "artyfx")
- (version "1.3")
+ (version "1.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "012hcy1mxl7gs2lipfcqp5x0xv1azb9hjrwf0h59yyxnzx96h7c9"))))
+ "0cxikdnxgjk5gp6kmml4dx2jy2cy4x0c837h7bwraj2pfz0nfgqq"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests included
(define-public geonkick
(package
(name "geonkick")
- (version "2.3.8")
+ (version "2.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://gitlab.com/geontime/geonkick.git")
+ (url "https://gitlab.com/iurie-sw/geonkick")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "07809yy2q7dd6fcp0yndlg1vw2ca2zisnsplb3xrxvzdvrqlw910"))))
+ (base32 "0w1mvqm46qdwldcl81svaykwii4wvx7mcr57kwvnj0iv2qrc891i"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests included
(string-append "-DCMAKE_INSTALL_PREFIX="
(assoc-ref %outputs "out")))))
(inputs
- `(("cairo" ,cairo)
- ("hicolor-icon-theme" ,hicolor-icon-theme)
+ `(("hicolor-icon-theme" ,hicolor-icon-theme)
("jack" ,jack-1) ;for the standalone JACK application
("libsndfile" ,libsndfile)
("libx11" ,libx11)
(description "Geonkick is a synthesizer that can synthesize elements
of percussion such as kicks, snares, hit-hats, shakers, claps and sticks.
It can also play and mix samples.")
- (home-page "https://gitlab.com/geontime/geonkick")
+ (home-page "https://gitlab.com/iurie-sw/geonkick")
(license license:gpl3+)))
+(define-public mamba
+ (package
+ (name "mamba")
+ (version "2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/brummer10/Mamba")
+ (commit (string-append "v" version))
+ (recursive? #t))) ; references specific commit of libxputty
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bq6sqsij3cdwcsj3wpsnivi4c7jl4l5gwfywhqnib70v60smdja"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no "check" target
+ #:make-flags
+ (list (string-append "PREFIX="
+ (assoc-ref %outputs "out"))
+ (string-append "CC=" ,(cc-for-target)))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("cairo" ,cairo)
+ ("fluidsynth" ,fluidsynth)
+ ("jack" ,jack-1)
+ ("liblo" ,liblo)
+ ("libsigc++" ,libsigc++)
+ ("libsmf" ,libsmf)
+ ("libx11" ,libx11)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/brummer10/Mamba")
+ (synopsis "Virtual MIDI keyboard and MIDI file player/recorder for JACK")
+ (description "Mamba is a virtual MIDI keyboard and MIDI file
+player/recorder for the JACK Audio Connection Kit. It comes with predefined
+keymaps for QWERTZ, QWERTY and AZERTY keyboards and also allows custom
+ones.")
+ (license license:bsd-0)))
+
(define-public dpf-plugins
(package
(name "dpf-plugins")
;; distros to make necessary changes to integrate the software into the
;; distribution.
(name "zrythm")
- (version "1.0.0-alpha.3.0.1")
+ (version "1.0.0-alpha.12.0.1")
(source
(origin
(method url-fetch)
version ".tar.xz"))
(sha256
(base32
- "06025367x08y4g9grhcn35bk1dsrpgm04c8l8j50i3p49dl3s1n0"))))
+ "1si4n8rdg0a3frlbj6yqpyzr4f20v3cpl4m6kv0yf7r25psyl5pk"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
("libyaml" ,libyaml)
("lilv" ,lilv)
("lv2" ,lv2)
+ ("pulseaudio" ,pulseaudio)
("reproc" ,reproc)
("rubberband" ,rubberband)
("rtmidi" ,rtmidi)
as JACK standalone applications.")
(license license:gpl3+)))
-(define-public zlfo
+(define-public zplugins
(package
- (name "zlfo")
- (version "0.1.3")
+ (name "zplugins")
+ (version "0.1.7")
(source
(origin
(method git-fetch)
- (uri (git-reference
- (url "https://git.zrythm.org/git/ZLFO")
- (commit (string-append "v" version))))
+ (uri
+ (git-reference
+ (url "https://git.zrythm.org/git/zplugins")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0bm466ci5xyvxvq7l9p6xyh789lvk6i31b4zja1igqh13akbjnjz"))))
+ "1rkm2xajmyik6289b20rp5a5br9f3sh1xk8nb1bs6qpmcrfirgbs"))))
(build-system meson-build-system)
(inputs
- `(("librsvg" ,librsvg)
- ("lv2" ,lv2)
- ("ztoolkit-rsvg" ,ztoolkit-rsvg)))
+ `(("guile" ,guile-2.2)
+ ("libsndfile" ,libsndfile)
+ ("lv2" ,lv2)
+ ("ztoolkit-rsvg" ,ztoolkit-rsvg)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
- (synopsis "Low frequency oscillator plugin")
- (description "ZLFO is a fully featured
-@dfn{low frequency oscillator} (LFO) for @dfn{control voltage} (CV)-based
-automation that comes as an LV2 plugin bundle with a custom UI.")
- (home-page "https://git.zrythm.org/cgit/ZLFO/")
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "Audio plugin collection")
+ (description "ZPlugins is a collection of audio DSP plugins intended
+to be bundled with the Zrythm @dfn{digital audio workstation} (DAW).")
+ (home-page "https://www.zrythm.org/en/plugins.html")
(license license:agpl3+)))
+(define-public zlfo
+ ;; The "zlfo" package is now included in zplugins
+ (deprecated-package "zlfo" zplugins))
+
(define-public remid-lv2
(package
(name "remid-lv2")