;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017, 2018 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>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system gnu)
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system meson)
+ #:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system waf)
+ #:use-module (guix build-system trivial)
+ #:use-module (guix build-system go)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages apr)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages perl-web)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio) ;libsndfile
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xiph)
+ #:use-module (gnu packages golang)
+ #:use-module (gnu packages lua)
#:use-module ((srfi srfi-1) #:select (last)))
(define-public aria-maestosa
"tinysvcmdns"))
#t))
(patches (search-patches "clementine-use-openssl.patch"
- "clementine-remove-crypto++-dependency.patch"))))
+ "clementine-remove-crypto++-dependency.patch"
+ "clementine-fix-sqlite.patch"))))
(build-system cmake-build-system)
(arguments
'(#:test-target "clementine_test"
("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.
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
("qtx11extras" ,qtx11extras)
- ("qtwebkit" ,qtwebkit)
- ("sqlite" ,sqlite-with-fts3)
+ ("sqlite" ,sqlite-with-column-metadata)
("sparsehash" ,sparsehash)
("taglib" ,taglib)))
(home-page "http://clementine-player.org")
(name "cmus")
(version "2.7.1")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/" name "/" name "/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cmus/cmus.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0raixgjavkm7hxppzsc5zqbfbh2bhjcmbiplhnsxsmyj8flafyc1"))))
+ "0xd96py21bl869qlv1353zw7xsgq6v5s8szr0ldr63zj5fgc2ps5"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; cmus does not include tests
#:phases
(modify-phases %standard-phases
- (replace
- 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
-
- ;; It's an idiosyncratic configure script that doesn't
- ;; understand --prefix=..; it wants prefix=.. instead.
- (zero?
- (system* "./configure"
- (string-append "prefix=" out)))))))))
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; It's an idiosyncratic configure script that doesn't
+ ;; understand --prefix=..; it wants prefix=.. instead.
+ (invoke "./configure"
+ (string-append "prefix=" out))
+ #t))))))
;; TODO: cmus optionally supports the following formats, which haven't yet
;; been added to Guix:
;;
;; Denemo's documentation says to use this command to run its
;; testsuite.
(lambda _
- (zero? (system* "make" "-C" "tests" "check"))))
+ (invoke "make" "-C" "tests" "check")))
(add-before 'build 'set-lilypond
;; This phase sets the default path for lilypond to its current
;; location in the store.
"Clarinet in Bb.denemo"))
#t)))))
(native-inputs
- `(("glib:bin" ,glib "bin") ; for gtester
+ `(("glib:bin" ,glib "bin") ; for gtester
("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
(name "extempore")
(version "0.7.0")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/digego/extempore/archive/"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/digego/extempore.git")
+ (commit version)))
(sha256
(base32
- "1wap1mvsicrhlazikf7l8zxg37fir8bmnh9rin28m1rix730vcch"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ "12fsp7zkfxb9kykwq46l88kcbbici9arczrrsl4qn87m6vm5349l"))
+ (file-name (string-append name "-" version "-checkout"))))
(build-system cmake-build-system)
(arguments
`(;; The default target also includes ahead-of-time compilation of the
(build-system scons-build-system)
(arguments
`(#:scons-flags (list (string-append "PREFIX=" %output))
+ #:scons ,scons-python2
#:tests? #f)) ;no "check" target
(inputs
`(("boost" ,boost)
(define-public libgme
(package
(name "libgme")
- (version "0.6.1")
+ (version "0.6.2")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/mpyne/game-music-emu/"
"downloads/game-music-emu-" version
- ".tar.bz2"))
+ ".tar.xz"))
(sha256
(base32
- "08fk7zddpn7v93d0fa7fcypx7hvgwx9b5psj9l6m8b87k2hbw4fw"))))
+ "0hkkmxbaas2sirlb5i4r10mgbbiaapjx8pazifabwba23m3wnijh"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no check target
+ (native-inputs
+ `(;; Use gcc-4.9 to work around an internal compiler error that happens
+ ;; when using gcc-5.5.0. FIXME: Try removing this when the default
+ ;; compiler is no longer gcc-5.5.0.
+ ("gcc" ,gcc-4.9)))
(home-page "https://bitbucket.org/mpyne/game-music-emu")
(synopsis "Video game music file playback library")
(description
#t))
(add-after 'install 'install-info
(lambda _
- (zero? (system* "make"
- "-j" (number->string (parallel-job-count))
- "conf=www" "install-info")))))))
+ (invoke "make"
+ "-j" (number->string (parallel-job-count))
+ "conf=www" "install-info")
+ #t)))))
(inputs
`(("guile" ,guile-1.8)
("font-dejavu" ,font-dejavu)
(define-public non-sequencer
;; The latest tagged release is three years old and uses a custom build
;; system, so we take the last commit.
- (let ((commit "10c31e57291b6e42be53371567a722b62b32d220")
- (revision "3"))
+ (let ((commit "5ae43bb27c42387052a73e5ffc5d33efb9d946a9")
+ (revision "4"))
(package
(name "non-sequencer")
(version (string-append "1.9.5-" revision "." (string-take commit 7)))
(commit commit)))
(sha256
(base32
- "080rha4ffp7qycyg1mqcf4vj0s7z8qfvz6bxm0w29xgg2kkmb3fx"))
+ "1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx"))
(file-name (string-append name "-" version "-checkout"))))
(build-system waf-build-system)
(arguments
(name "powertabeditor")
(version "2.0.0-alpha10")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/powertab/powertabeditor/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/powertab/powertabeditor.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1fr14ql0yhlqvh6y08yaanszm2nvca5i50rqym396kfvga3ky18x"))
+ "1z4fhdp71ck9synr12rg1p6365xnypd8ih40c5icj4si36khvksk"))
(modules '((guix build utils)))
(snippet
'(begin
(modify-phases %standard-phases
(replace 'check
(lambda _
- (zero? (system* "bin/pte_tests"
- ;; FIXME: these tests fail
- "exclude:Actions/EditStaff"
- "exclude:Formats/PowerTabOldImport/MergeMultiBarRests"
- "exclude:Score/ViewFilter/FilterRule"
- "exclude:Score/ViewFilter/ViewFilter"
- "exclude:Formats/PowerTabOldImport/Directions"
- ))))
+ (invoke "bin/pte_tests"
+ ;; FIXME: these tests fail
+ "exclude:Actions/EditStaff"
+ "exclude:Formats/PowerTabOldImport/MergeMultiBarRests"
+ "exclude:Score/ViewFilter/FilterRule"
+ "exclude:Score/ViewFilter/ViewFilter"
+ "exclude:Formats/PowerTabOldImport/Directions")
+ #t))
;; FIXME: This bug has been fixed upstream, but no release has been
;; made yet. See https://github.com/powertab/powertabeditor/issues/257
(add-after 'unpack 'fix-boost-bug
(name "jalv-select")
(version "0.8")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/brummer10/jalv_select/"
- "archive/V" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/brummer10/jalv_select.git")
+ (commit (string-append "V" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0zraagwr681b5s3qifxf399c7q93jz23c8sr42gmff9zqnvxc75q"))))
+ "0gqh768sbvn9ffyx1vqg9i57py9x9v4l65bk6wjsvgga4d7m83k1"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(string-append "ls -1 " (assoc-ref inputs "jalv") "/bin")))
(substitute* "jalv.select.h"
(("gtkmm.h") "gtkmm-2.4/gtkmm.h"))
+ #t))
+ (add-before 'reset-gzip-timestamps 'make-manpages-writable
+ (lambda* (#:key outputs #:allow-other-keys)
+ (for-each make-file-writable
+ (find-files (string-append (assoc-ref outputs "out")
+ "/share/man")
+ ".*\\.gz$"))
#t)))))
(inputs
`(("lilv" ,lilv)
(define-public synthv1
(package
(name "synthv1")
- (version "0.9.0")
+ (version "0.9.2")
(source (origin
(method url-fetch)
(uri
"/synthv1-" version ".tar.gz"))
(sha256
(base32
- "1skynjg6ip0qfbqqkybfjh6xcwxagq89ghl08f7sp7j0sz5qdcwp"))))
+ "1r60l286n8y4a4rrlnbc3h7xk4s2pvqykvskls89prxg0lkpz7kl"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; There are no tests.
+ `(#:tests? #f ; there are no tests
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
(inputs
("qttools" ,qttools)))
(native-inputs
`(("pkg-config" ,pkg-config)))
- (home-page "http://synthv1.sourceforge.net")
+ (home-page "https://synthv1.sourceforge.io")
(synopsis "Polyphonic subtractive synthesizer")
(description
"Synthv1 is an old-school subtractive polyphonic synthesizer with four
(define-public drumkv1
(package
(name "drumkv1")
- (version "0.9.0")
+ (version "0.9.2")
(source (origin
(method url-fetch)
(uri
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
- "1vm8lrk3lykdic6fyfpl12jx1xg6rcaid242s8sij30p1ix4zdab"))))
+ "1z9l43z91d01b9rzam2cj9qmmg6s5y65fjvb83ms4iaa1p0mnwrn"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; There are no tests.
+ `(#:tests? #f ; there are no tests
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
(inputs
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
- (home-page "http://drumkv1.sourceforge.net")
+ (home-page "https://drumkv1.sourceforge.io")
(synopsis "Drum-kit sampler synthesizer with stereo effects")
(description
"Drumkv1 is an old-school drum-kit sampler synthesizer with stereo
(define-public samplv1
(package
(name "samplv1")
- (version "0.9.0")
+ (version "0.9.2")
(source (origin
(method url-fetch)
(uri
"/samplv1-" version ".tar.gz"))
(sha256
(base32
- "0g67vm9ilmq5nlvk0f3abia9pbinr4ck5v4mll6igni1rxz2n7wk"))))
+ "0rfcp4v971qfhw1hb43hw12wlxmg2q13l0m1h93pyfi5l4mfjkds"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; There are no tests.
+ `(#:tests? #f ; there are no tests
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
(inputs
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
- (home-page "http://samplv1.sourceforge.net")
+ (home-page "https://samplv1.sourceforge.io")
(synopsis "Polyphonic sampler synthesizer with stereo effects")
(description
"Samplv1 is an old-school polyphonic sampler synthesizer with stereo
(define-public padthv1
(package
(name "padthv1")
- (version "0.9.0")
+ (version "0.9.2")
(source (origin
(method url-fetch)
(uri
"/padthv1-" version ".tar.gz"))
(sha256
(base32
- "0c519qk2g0dk8gqf9ywqfp7dnr4b25lsnxxbf2l1spnnvf8nysvh"))))
+ "1alfl0l5qdll0w5lwhrwzj5dina1big1zmjg5imi9h06dzhz51xl"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; There are no tests.
+ `(#:tests? #f ; there are no tests
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
(inputs
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
- (home-page "http://padthv1.sourceforge.net")
+ (home-page "https://padthv1.sourceforge.io")
(synopsis "Polyphonic additive synthesizer")
(description
"Padthv1 is an old-school polyphonic additive synthesizer with stereo
(define-public setbfree
(package
(name "setbfree")
- (version "0.8.5")
+ (version "0.8.7")
(source (origin
- (method url-fetch)
- (uri
- (string-append "https://github.com/pantherb/setBfree/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pantherb/setBfree")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0qfccny0hh9lq54272mzmxvfz2jmzcgigjkjwn6v9h6n00gi5bw4"))))
+ "0r2i8cp0gfzqp6scrxwwf7pn7lk2j9kmf8cx7bqjvgfyn251dw3j"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
(define-public tuxguitar
(package
(name "tuxguitar")
- (version "1.5")
+ (version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append
version "/tuxguitar-" version "-src.tar.gz"))
(sha256
(base32
- "1yd5wv17sh6i8pkndxayfd6r2k1ccgnc4w3nda3lpniv8cpjzz3k"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Delete pre-built classes
- (delete-file-recursively "TuxGuitar-android-gdrive/bin")
- (delete-file-recursively "TuxGuitar-android-gdrive-gdaa/bin")
- #t))))
+ "10arfpgm2pw7mn922klklzn05lw5ifqx070shdrar81afmkfbbd9"))))
(build-system ant-build-system)
(arguments
`(#:build-target "build"
#:jdk ,icedtea-8
- #:tests? #f ; no tests
+ #:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-dir
((assoc-ref %standard-phases 'build)
#:build-target "build")
(begin
- ;; Generate default build.xml
+ ;; Generate default build.xml.
((@@ (guix build ant-build-system) default-build.xml)
(string-append (string-downcase dir) ".jar")
(string-append (assoc-ref outputs "out")
(lib (string-append share "/java"))
(swt (assoc-ref inputs "java-swt")))
(mkdir-p bin)
- ;; install all jars
+ ;; Install all jars.
(for-each (lambda (file)
(install-file file lib))
(find-files ".." "\\.jar$"))
- ;; install all resources
+ ;; Install all resources.
(copy-recursively "share" share)
- ;; create wrapper
+ ;; Create wrapper.
(call-with-output-file (string-append bin "/tuxguitar")
(lambda (port)
(let ((classpath (string-join (append (find-files lib "\\.jar$")
(define-public pd
(package
(name "pd")
- (version "0.47-1")
+ (version "0.49-0")
(source (origin
(method url-fetch)
(uri
version ".src.tar.gz"))
(sha256
(base32
- "0k5s949kqd7yw97h3m8z81bjz32bis9m4ih8df1z0ymipnafca67"))))
+ "18rzqbpgnnvyslap7k0ly87aw1bbxkb0rk5agpr423ibs9slxq6j"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
+ #:configure-flags
+ (list
+ "--enable-jack"
+ (string-append "--with-wish=" (string-append
+ (assoc-ref %build-inputs "tk")
+ "/bin/wish8.6")))
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'fix-wish-path
+ (add-before 'configure 'fix-with-path
(lambda _
- (substitute* "src/s_inter.c"
- ((" wish ") (string-append " " (which "wish8.6") " ")))
(substitute* "tcl/pd-gui.tcl"
(("exec wish ") (string-append "exec " (which "wish8.6") " ")))
- #t))
- (add-after 'unpack 'autoconf
- (lambda _ (zero? (system* "bash" "./autogen.sh")))))))
+ #t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
projects.")
(license license:bsd-3)))
+(define-public libpd
+ (package
+ (name "libpd")
+ (version "0.11.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/libpd/libpd.git")
+ (commit version)
+ (recursive? #t))) ; for the 'pure-data' submodule
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1bcg1d9iyf9n37hwwphmih0c8rd1xcqykil5z1cax6xfs76552nk"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; no tests
+ #:make-flags '("CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (invoke "make" "install"
+ (string-append "prefix=" out)
+ ;; XXX: Fix the last 2 lines of 'install' target.
+ "LIBPD_IMPLIB=NO"
+ "LIBPD_DEF=NO")))))))
+ (home-page "http://libpd.cc/")
+ (synopsis "Pure Data as an embeddable audio synthesis library")
+ (description
+ "Libpd provides Pure Data as an embeddable audio synthesis library. Its
+main purpose is to liberate raw audio rendering from audio and MIDI drivers.")
+ (license license:bsd-3)))
+
(define-public portmidi
(package
(name "portmidi")
(name "portmidi-for-extempore")
(version "217")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/extemporelang/portmidi/"
- "archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/extemporelang/portmidi.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0gjikwciyr8kk4y3qiv1pcq58xpgw38ql1m2gs6g0qc1s8sx4235"))))
+ "1inriyrjf7xx2b7r54x0vmf9ngyqgr7g5060c22bwkbsgg53apzv"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests
(native-inputs '())
(define-public yoshimi
(package
(name "yoshimi")
- (version "1.5.8")
+ (version "1.5.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
- "0gwsr5srzy28hwqhfzrc8pswysmyra8kbww3bxfx8bq4mdjifdj6"))))
+ "1nqwxwq6814m860zrh33r85vdyi2bgkvjg5372h3ngcdmxnb7wr0"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
(define-public libgig
(package
(name "libgig")
- (version "4.0.0")
+ (version "4.1.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.linuxsampler.org/packages/"
"libgig-" version ".tar.bz2"))
(sha256
(base32
- "1wr8mwjmqpnyz6bx9757lspiii1zzn8zfbqsvn2ipzpgqkxv6kaz"))))
+ "02xx6bqxzgkvrawwnzrnxx1ypk244q4kpwfd58266f9ji8kq18h6"))))
(build-system gnu-build-system)
(inputs
`(("libuuid" ,util-linux)
(define-public qtractor
(package
(name "qtractor")
- (version "0.9.1")
+ (version "0.9.2")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
- "07csbqr7q4m1j0pqg89kn7jdw0snd5lwna5rha0986s4plq4z1qb"))))
+ "1j3rpvdkw9rw48j4zyfn6rprp01csy4rl6zckcjyx0vh7vaycchr"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no "check" target
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-build-with-qt-5.11
- (lambda _
- (substitute* "src/qtractorMeter.h"
- (("#include <QFrame>" m)
- (string-append "#include <QAction>\n" m)))
- (substitute* "src/qtractorTrackButton.h"
- (("#include <QPushButton>" m)
- (string-append "#include <QAction>\n" m)))
- #t)))))
+ `(#:tests? #f)) ; no "check" target
(inputs
`(("qt" ,qtbase)
("qtx11extras" ,qtx11extras)
(version "1.2.1")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/blablack/ams-lv2/"
- "archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/blablack/ams-lv2.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1xacxyzqcj83g9c1gwfn36gg1c6yi15v7km4vidfidrjzb4x27fq"))))
+ "1n1dnqnj24xhiy9323lj52nswr5120cj56fpckg802miss05sr6x"))))
(build-system waf-build-system)
(arguments
`(#:phases
(name "gxtuner")
(version "2.4")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/brummer10/gxtuner/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/brummer10/gxtuner.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1hn5qjac7qd00v0sp7ijhhc3sb26ks9bni06nngivva21h61xrjr"))))
+ "1fxd2akan2njlr7fpkh84830783qhh1gg7yakswqk5dd466dcn96"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(name "pianobar")
(version "2016.06.02")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/PromyLOPh/"
- name "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/PromyLOPh/pianobar.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1hi5rr6jcr0kwf4xfz007ndwkjkp287lhwlsgfz6iryqa5n6jzcp"))))
+ "058fbdxp7n35hxwy3b8slfy4pb4n63cb173vfmywqa06wh1dv6f6"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
event-based scripts for scrobbling, notifications, etc.")
(license license:expat)))
+(define-public picard
+ (package
+ (name "picard")
+ (version "2.0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://musicbrainz.osuosl.org/pub/musicbrainz/"
+ "picard/picard-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ds3ylpqn717fnzcjrfn05v5xram01bj6n3hwn9igmkd1jgf8vhc"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "picard/const/__init__.py"
+ (("pyfpcalc")
+ (string-append
+ "pyfpcalc', '"
+ (assoc-ref inputs "chromaprint") "/bin/fpcalc")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "python" "setup.py" "install"
+ (string-append "--prefix=" (assoc-ref outputs "out"))
+ "--root=/"))))))
+ (native-inputs
+ `(("gettext" ,gettext-minimal)))
+ (inputs
+ `(("chromaprint" ,chromaprint)
+ ("python-pyqt" ,python-pyqt)
+ ("python-mutagen" ,python-mutagen)))
+ (home-page "https://picard.musicbrainz.org/")
+ (synopsis "Graphical music tagging application")
+ (description
+ "MusicBrainz Picard is a music tagging application, supporting multiple
+formats, looking up tracks through metadata and audio fingerprints.")
+ (license license:gpl2+)))
+
(define-public python-mutagen
(package
(name "python-mutagen")
(name "milkytracker")
(version "1.02.00")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/milkytracker/"
- "MilkyTracker/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/milkytracker/MilkyTracker.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "08v0l4ipvvwkwv4ywkc6c8a6xnpkyb02anj36w8q6gikxrs6xjvb"))
+ "05a6d7l98k9i82dwrgi855dnccm3f2lkb144gi244vhk1156n0ca"))
(modules '((guix build utils)))
;; Remove non-FSDG compliant sample songs.
(snippet
(define-public schismtracker
(package
(name "schismtracker")
- (version "20170910")
+ (version "20180513")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/" name "/" name "/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/schismtracker/schismtracker.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "01gfcjngbpv87y9w5jln8k313hycpkb1d617hdy2cdw2hxqzlclz"))
+ "0fayix1zbl96zhkfszgj71qr25dnddgy9hr6149nslww4gl7jk36"))
(modules '((guix build utils)))
(snippet
;; Remove use of __DATE__ and __TIME__ for reproducibility.
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'autoconf
- (lambda _ (zero? (system* "autoreconf" "-vfi"))))
(add-before 'configure 'link-libm
(lambda _ (setenv "LIBS" "-lm") #t)))))
(native-inputs
(origin
(method git-fetch)
(uri (git-reference
- (url "http://git.drobilla.net/ingen.git")
+ (url "https://git.drobilla.net/ingen.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(native-inputs
`(("pkg-config" ,pkg-config)
("python-pygments" ,python-pygments)))
- (home-page "http://drobilla.net/software/ingen")
+ (home-page "https://drobilla.net/software/ingen")
(synopsis "Modular audio processing system")
(description "Ingen is a modular audio processing system for JACK and
LV2 based systems. Ingen is built around LV2 technology and a strict
(version "1.1.3")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/LMMS/lmms/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/LMMS/lmms.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1g76z7ha3hd53vbqaq9n1qg6s3lw8zzaw51iny6y2bz0j1xqwcsr"))))
+ "03hhymc6d73fa3wbcqb7rm1l03zkw605k5i9kvkvjmv488bqh3pd"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests
("fltk" ,fltk)
("libogg" ,libogg)
("libsamplerate" ,libsamplerate)
- ("fluidsynth" ,fluidsynth)
+ ("fluidsynth" ,fluidsynth-1) ;XXX: try using 2.x when updating
("libvorbis" ,libvorbis)
("alsa-lib" ,alsa-lib)
("portaudio" ,portaudio)
(define-public musescore
(package
(name "musescore")
- (version "2.2.1")
+ (version "2.3.2")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/musescore/MuseScore/archive/"
- "v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/musescore/MuseScore.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1ml99ayzpdyd18cypcp0lbsbasfg3abw57i5fl7ph5739vikj6i6"))
+ "0ncv0xfmq87plqa43cm0fpidlwzz1nq5s7h7139llrbc36yp3pr1"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
`(#:make-flags
`(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
"USE_SYSTEM_FREETYPE=ON"
- "DOWNLOAD_SOUNDFONT=OFF")
+ "DOWNLOAD_SOUNDFONT=OFF"
+ ;; The following is not supported since Qt 5.11. May be removed in
+ ;; a future release.
+ "BUILD_WEBKIT=OFF")
;; There are tests, but no simple target to run. The command
;; used to run them is:
;;
("qtdeclarative" ,qtdeclarative)
("qtscript" ,qtscript)
("qtsvg" ,qtsvg)
- ("qtwebkit" ,qtwebkit)
("qtxmlpatterns" ,qtxmlpatterns)))
(native-inputs
`(("cmake" ,cmake)
(define-public rosegarden
(package
(name "rosegarden")
- (version "17.04")
+ (version "18.06")
(source (origin
(method url-fetch)
(uri (string-append
version "/rosegarden-" version ".tar.bz2"))
(sha256
(base32
- "1khfcj22asdhjh0jvhkqsz200wgmigkhsrcz09ffia5hqm0n32lq"))))
+ "04qc80sqb2ji42pq3mayhvqqn39hlxzymsywpbpzfpchr19chxx7"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DUSE_QT5=1") ; "-DCMAKE_BUILD_TYPE=Release"
;; Tests create files in $HOME/.local/share/rosegarden .
(mkdir-p "/tmp/foo")
(setenv "HOME" "/tmp/foo")
+ (setenv "XDG_RUNTIME_DIR" "/tmp/foo")
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
(description "Rosegarden is a music composition and editing environment
based around a MIDI sequencer that features a rich understanding of music
notation and includes basic support for digital audio.")
- (home-page "http://www.rosegardenmusic.com/")
+ (home-page "https://www.rosegardenmusic.com/")
(license license:gpl2)))
(define-public patchmatrix
- (package
- (name "patchmatrix")
- (version "0.12.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/OpenMusicKontrollers/patchmatrix.git")
- (commit version)))
- (file-name (string-append "patchmatrix-" version "-checkout"))
- (sha256
- (base32
- "19ivp7h5vq6r1qhmycjxzvrgg7fc4a3v5vb3n4c7afs4z3pj53zi"))))
- (build-system cmake-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
+ ;; 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
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
(base32
"0ikb9igyyk28jm34raxfzkw2qyn4nzzwsymdyprp7cmvi6g2ajb7"))))
(build-system cmake-build-system)
- (arguments `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (and
- ;; requires network connections
- ;; (zero? (system* "tests/mbtest"))
- (zero? (system* "tests/ctest"))))))))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ ;; requires network connections
+ ;; (invoke "tests/mbtest")
+ (invoke "tests/ctest")
+ #t)))))
(inputs `(("neon" ,neon)
("libxml2" ,libxml2)))
(native-inputs `(("pkg-config" ,pkg-config)))
mb_client, is a development library geared towards developers who wish to add
MusicBrainz lookup capabilities to their applications.")
(license license:lgpl2.1+)))
+
+(define-public perl-musicbrainz-discid
+ (package
+ (name "perl-musicbrainz-discid")
+ (version "0.04")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1i4qk1qfcmxdibqkyfjrrjdq2zk42vjcz590qgiyc47fi9p6xx1j"))))
+ (build-system perl-build-system)
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("which" ,which)))
+ (inputs `(("libdiscid" ,libdiscid)))
+ (home-page "https://metacpan.org/release/MusicBrainz-DiscID")
+ (synopsis "Perl interface to the MusicBrainz libdiscid library")
+ (description
+ "The @code{MusicBrainz::DiscID} module is a Perl interface to the
+MusicBrainz libdiscid library, allowing you to manipulate digital audio
+compact disc (CDDA) identifiers.")
+ (license license:gpl2)))
+
+(define-public perl-webservice-musicbrainz
+ (package
+ (name "perl-webservice-musicbrainz")
+ (version "1.0.4")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://cpan/authors/id/B/BF/BFAIST/WebService-MusicBrainz-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "182z3xjajk6s7k5xm3kssjy3hqx2qbnq4f8864hma098ryy2ph3a"))))
+ (build-system perl-build-system)
+ (arguments
+ ;; Tests try to connect to http://musicbrainz.org.
+ '(#:tests? #f))
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)))
+ (propagated-inputs
+ `(("perl-mojolicious" ,perl-mojolicious)))
+ (home-page "https://metacpan.org/release/WebService-MusicBrainz")
+ (synopsis "Web service API to the MusicBrainz database")
+ (description
+ "This module searches the MusicBrainz database through their web service
+at @code{musicbrainz.org}.")
+ (license license:perl-license)))
+
+(define-public clyrics
+ (package
+ (name "clyrics")
+ (version "0.10")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/trizen/clyrics.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qvj4dyipkkdccx5hci4z0q23i54ldk6hh7x5m35a7f70rrj6fbk"))))
+ (build-system trivial-build-system)
+ (inputs
+ `(("bash" ,bash) ;for the wrapped program
+ ("perl" ,perl)
+ ("perl-www-mechanize" ,perl-www-mechanize)
+ ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
+ ;; Required or else LWP will fail with "GET https://www.google.com/ ==>
+ ;; 500 Can't verify SSL peers without knowing which Certificate
+ ;; Authorities to trust".
+ ("perl-mozilla-ca" ,perl-mozilla-ca)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils)
+ (ice-9 match)
+ (srfi srfi-26))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (output (assoc-ref %outputs "out")))
+ (setenv "PATH"
+ (string-append
+ (assoc-ref %build-inputs "bash") "/bin" ":"
+ (assoc-ref %build-inputs "perl") "/bin" ":"))
+ (copy-recursively source (getcwd))
+ (patch-shebang "clyrics")
+ (substitute* "clyrics"
+ (("/usr/share") output))
+ (install-file "clyrics" (string-append output "/bin"))
+ (wrap-program (string-append output "/bin/clyrics")
+ `("PERL5LIB" ":" =
+ ,(delete
+ ""
+ (map (match-lambda
+ (((? (cut string-prefix? "perl-" <>) name) . dir)
+ (string-append dir "/lib/perl5/site_perl"))
+ (_ ""))
+ %build-inputs))))
+ (copy-recursively "plugins" (string-append output "/clyrics"))
+ #t))))
+ (home-page "https://github.com/trizen/clyrics")
+ (synopsis "Extensible lyrics fetcher")
+ (description
+ "Clyrics is an extensible command-line tool to fetch the lyrics of songs.
+It can be used in daemon mode along with the Music-on-Console (MOC) and cmus
+console music players.")
+ (license license:gpl3+)))
+
+(define-public demlo
+ (let ((commit "fe9ec4c8ac2fa995ec18e6ac86d50d46df06ec01")
+ (revision "0"))
+ (package
+ (name "demlo")
+ (version (git-version "3.8" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://gitlab.com/ambrevar/demlo")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1afkbqhzn6da7zaf5ab7dvyqj1izqhzprwfb4hw448fllda9bdvk"))))
+ (build-system go-build-system)
+ (native-inputs
+ `(("lua" ,lua)
+ ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
+ ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable)
+ ("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua)
+ ("go-gitlab-com-ambrevar-damerau" ,go-gitlab-com-ambrevar-damerau)
+ ("go-gitlab-com-ambrevar-golua-unicode" ,go-gitlab-com-ambrevar-golua-unicode)
+ ("go-github-com-mgutz-ansi" ,go-github-com-mgutz-ansi)
+ ("go-github-com-michiwend-gomusicbrainz" ,go-github-com-michiwend-gomusicbrainz)
+ ("go-github-com-stevedonovan-luar" ,go-github-com-stevedonovan-luar)
+ ("go-github-com-wtolson-go-taglib" ,go-github-com-wtolson-go-taglib)
+ ("go-github-com-yookoala-realpath" ,go-github-com-yookoala-realpath)))
+ (inputs
+ `(("chromaprint" ,chromaprint)
+ ("ffmpeg" ,ffmpeg)))
+ (arguments
+ `(#:import-path "gitlab.com/ambrevar/demlo"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (ffmpeg (assoc-ref inputs "ffmpeg"))
+ (chromaprint (assoc-ref inputs "chromaprint")))
+ (wrap-program (string-append out "/bin/demlo")
+ `("XDG_DATA_DIRS" ":" prefix (,out))
+ `("PATH" ":" prefix
+ ,(map (lambda (dir)
+ (string-append dir "/bin:"
+ dir "/sbin"))
+ (list ffmpeg chromaprint))))
+ #t)))
+ (add-after 'install-source 'install-scripts
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (root (string-append out "/src/gitlab.com/ambrevar/demlo"))
+ (xdg-data-dirs (string-append out "/demlo")))
+ (copy-recursively (string-append root "/actions")
+ (string-append xdg-data-dirs "/actions"))
+ (copy-recursively (string-append root "/scripts")
+ (string-append xdg-data-dirs "/scripts"))
+ (install-file (string-append root "/config.lua") xdg-data-dirs)
+ ;; TODO: Test fish completion.
+ (install-file (string-append root "/completion/demlo.fish")
+ (string-append out "/share/fish/vendor_completions.d"))
+ #t))))))
+ (home-page "https://gitlab.com/ambrevar/demlo")
+ (synopsis "Dynamic and extensible music library organizer")
+ (description "Demlo is a music library organizer. It can encode, fix
+case, change folder hierarchy according to tags or file properties, tag from
+an online database, copy covers while ignoring duplicates or those below a
+quality threshold, and much more. It makes it possible to manage your
+libraries uniformly and dynamically. You can write your own rules to fit your
+needs best.
+
+Demlo can address any of these recurring music library issues (and much more):
+
+@itemize
+@item Fix the lack of folder structure.
+@item Normalize tags, fix their case, chose which tags to keep and which to
+discard.
+@item Handle lossy and lossless audio differently.
+@item Handle mp3 id3tags hell...
+@item Handle multiple covers, whether embedded and/or external, resize covers,
+discard bad quality ones.
+@end itemize\n")
+ (license license:expat))))
+
+(define-public lpd8editor
+ (package
+ (name "lpd8editor")
+ (version "0.0.12")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/charlesfleche/lpd8editor.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1v3fz8h1zs7kkl80faah79pp6yqwz0j7bkv3dbmh2hp42zbfiz1q"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'setenv
+ (lambda _
+ (setenv "INSTALL_PREFIX"
+ (assoc-ref %outputs "out"))))
+ (delete 'configure) ; no configure script
+ (add-before 'build 'qmake
+ (lambda _ (invoke "qmake"))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("alsa" ,alsa-lib)
+ ("qtbase" ,qtbase)
+ ("qtsvg" ,qtsvg)))
+ (synopsis "Graphical editor for the Akai LPD8 MIDI controller")
+ (description "lpd8editor is a graphical patch editor for the Akai LPD8 MIDI
+controller.")
+ (home-page "https://github.com/charlesfleche/lpd8editor")
+ (license license:expat)))