X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/58ea4d407c2e4adbe51b2d7b71dc8bef095677c7..d1e4ad1b02b2ea888557d3272c50b676faf18ca4:/gnu/packages/music.scm diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b8b97eb141..c434aa5eb2 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3,11 +3,13 @@ ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2016 Al McElrath -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2016 Leo Famulari -;;; Copyright © 2016 Kei Kebreau +;;; Copyright © 2016, 2017 Kei Kebreau ;;; Copyright © 2016 John J. Foerch ;;; Copyright © 2016 Alex Griffin +;;; Copyright © 2017 ng0 +;;; Copyright © 2017 Rodger Fox ;;; ;;; This file is part of GNU Guix. ;;; @@ -107,14 +109,14 @@ (define-public aria-maestosa (package (name "aria-maestosa") - (version "1.4.11") + (version "1.4.13") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/ariamaestosa/ariamaestosa/" version "/AriaSrc-" version ".tar.bz2")) (sha256 (base32 - "0gf9z96z83jiabxhpl856j15vl9flfgs6x1r0r6hc7g2xvwag0vy")))) + "1cs3z6frx2ch7rm5ammx9p0rxcjrbj1vq14hvcbimpaw39rdsn3d")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;no tests @@ -234,14 +236,14 @@ many input formats and provides a customisable Vi-style user interface.") (define-public denemo (package (name "denemo") - (version "2.0.14") + (version "2.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/denemo/denemo-" version ".tar.gz")) (sha256 (base32 - "1a7g38695g7jjypx25qp0dx0asrh72xwdj0mdhmb9pfyzlppq0wh")))) + "0hggf8c4xcrjcxd5m00r788r7jg7g8ff54w2idfaqpj5j2ix3299")))) (build-system gnu-build-system) (arguments `(#:phases @@ -477,7 +479,7 @@ enable professional yet simple and intuitive pattern-based drum programming.") ("emacs" ,emacs-no-x))) ;; Extempore refuses to build on architectures other than x86_64 (supported-systems '("x86_64-linux")) - (home-page "http://benswift.me/extempore-docs/index.html") + (home-page "http://digego.github.io/extempore/") (synopsis "Programming environment for live coding of multimedia") (description "Extempore is a programming language and runtime environment designed @@ -583,7 +585,7 @@ interface. It is implemented as a frontend to @code{klick}.") (define-public lilypond (package (name "lilypond") - (version "2.19.51") + (version "2.19.58") (source (origin (method url-fetch) (uri (string-append @@ -592,7 +594,7 @@ interface. It is implemented as a frontend to @code{klick}.") name "-" version ".tar.gz")) (sha256 (base32 - "1b4jvc0fixbnp8x457fzk5wgb4zd03npwwivp60kc27fmv63w5l1")))) + "0wjapb3if6qqdmr57z20hidx7czhl023cjimr01i8yf7k41fakh7")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; out-test/collated-files.html fails @@ -668,8 +670,8 @@ Guile.") (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 "a22f33f486a5c6f75b60e36f66504c036c0f6f8c") - (revision "2")) + (let ((commit "10c31e57291b6e42be53371567a722b62b32d220") + (revision "3")) (package (name "non-sequencer") (version (string-append "1.9.5-" revision "." (string-take commit 7))) @@ -680,7 +682,7 @@ Guile.") (commit commit))) (sha256 (base32 - "09q5x8i4f8mqnl8w6xnsq5zriy4bzdl4x2vq9n34a433rfrk84bg")) + "080rha4ffp7qycyg1mqcf4vj0s7z8qfvz6bxm0w29xgg2kkmb3fx")) (file-name (string-append name "-" version "-checkout")))) (build-system waf-build-system) (arguments @@ -904,6 +906,7 @@ add_library( rapidjson INTERFACE IMPORTED )")) (lambda* (#:key inputs #:allow-other-keys) ;; Link with required static libraries, because we're not ;; using the bundled version of withershins. + ;; Also add pthread for fixing a linker error. (substitute* "source/build/CMakeLists.txt" (("withershins" line) (string-append line "\n" @@ -912,6 +915,7 @@ add_library( rapidjson INTERFACE IMPORTED )")) (assoc-ref inputs "libiberty") "/lib/libiberty.a\n" "dl\n" + "pthread\n" "z\n"))) #t))))) (inputs @@ -979,7 +983,7 @@ users to select LV2 plugins and run them with jalv.") (define-public synthv1 (package (name "synthv1") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri @@ -987,7 +991,7 @@ users to select LV2 plugins and run them with jalv.") "/synthv1-" version ".tar.gz")) (sha256 (base32 - "155pfyhr6d35ciw95pbxlqy7751cmij8j5d849rvblqbjzyzb5qx")))) + "0rzkr8mgy28j5kg56qqrdm05ml2wlm651yk27c2mn5ql7v92gdx3")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -1010,7 +1014,7 @@ oscillators and stereo effects.") (define-public drumkv1 (package (name "drumkv1") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri @@ -1018,7 +1022,7 @@ oscillators and stereo effects.") "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "1n2kd468kn71yp2asmamprvblmdlvh0zd8lsh3598dwi4b7aa3ga")))) + "0l6kjb1q9vslwy56836a0c65mf8z8ycam5vzz3k4qvd8g74bs1zq")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -1044,7 +1048,7 @@ effects.") (define-public samplv1 (package (name "samplv1") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri @@ -1052,7 +1056,7 @@ effects.") "/samplv1-" version ".tar.gz")) (sha256 (base32 - "0j3hkmd9q0bw9b7nk9cssqywlrishkd1n790a9vq6gh3pdc5sf3r")))) + "15rp9d1jbb56idyrnn9cqi1i7a70z1a1qdyz7ryn0bla0ghjnich")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests. @@ -1078,7 +1082,7 @@ effects.") (define-public amsynth (package (name "amsynth") - (version "1.6.4") + (version "1.7.1") (source (origin (method url-fetch) @@ -1087,7 +1091,7 @@ effects.") "/amsynth-" version ".tar.bz2")) (sha256 (base32 - "07dp9dl38g9krjqxxh89l2z42z08yzrl57cx95b1l67xnxwjp5k3")))) + "1882pfcmf3rqg3vd4qflzkppcv158d748i603spqjbxqi8z7x7w0")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1101,11 +1105,13 @@ effects.") `(("alsa-lib" ,alsa-lib) ("jack" ,jack-1) ("lv2" ,lv2) + ("lash" ,lash) ("libsndfile" ,libsndfile) ("gtk+" ,gtk+-2) ("gtkmm" ,gtkmm-2))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) (home-page "http://amsynth.github.io") (synopsis "Analog modeling synthesizer") (description @@ -1121,7 +1127,7 @@ reverb effects.") (define-public setbfree (package (name "setbfree") - (version "0.8.1") + (version "0.8.4") (source (origin (method url-fetch) (uri @@ -1130,7 +1136,7 @@ reverb effects.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0hj0rqk5yd4fzs7bwy6a6nhqgrmcggkjcr4il76rxy92r7nwabf3")))) + "1g4s1920kb2q5gpp82l2vxia29qa8g8zvdjgrca8ypynvxpzn65f")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target @@ -1235,6 +1241,13 @@ mixing, FFT scopes, MIDI automation and full scriptability in Scheme.") (substitute* "bristol/Makefile.in" (("-msse -mfpmath=sse") ""))) #t)) + ;; alsa-lib 1.1.x no longer provides iatomic.h. That's okay because + ;; bristol actually doesn't use it. + (add-after 'unpack 'do-not-use-alsa-iatomic + (lambda _ + (substitute* "libbristolaudio/audioEngineJack.c" + (("#include ") "")) + #t)) ;; We know that Bristol has been linked with JACK and we don't have ;; ldd, so we can just skip this check. (add-after 'unpack 'do-not-grep-for-jack @@ -1264,7 +1277,7 @@ is subjective.") (define-public tuxguitar (package (name "tuxguitar") - (version "1.3.2") + (version "1.4") (source (origin (method url-fetch) (uri (string-append @@ -1272,11 +1285,14 @@ is subjective.") version "/tuxguitar-" version "-src.tar.gz")) (sha256 (base32 - "0ldml31zvywid1w28mfd65ramyiics55fdl0ch846vm7j7nwv58j")) + "041275vwfr82kass7wiq9g2y82w9qrbzfinzcvfij2f2q45njwmc")) (modules '((guix build utils))) (snippet - ;; Delete pre-built classes - '(delete-file-recursively "TuxGuitar-android/bin")))) + '(begin + ;; Delete pre-built classes + (delete-file-recursively "TuxGuitar-android-gdrive/bin") + (delete-file-recursively "TuxGuitar-android-gdrive-gdaa/bin") + #t)))) (build-system ant-build-system) (arguments `(#:build-target "build" @@ -1285,23 +1301,31 @@ is subjective.") (modify-phases %standard-phases (add-after 'unpack 'enter-dir (lambda _ (chdir "TuxGuitar-lib") #t)) - (add-after 'build 'build-editor-utils + (add-after 'build 'build-libraries (lambda* (#:key inputs outputs #:allow-other-keys) - (chdir "..") - (let ((cwd (getcwd))) - (setenv "CLASSPATH" - (string-append - cwd "/TuxGuitar-lib/tuxguitar-lib.jar" ":" - cwd "/TuxGuitar-editor-utils/build/jar/tuxguitar-editor-utils.jar" ":" - (getenv "CLASSPATH")))) - (chdir "TuxGuitar-editor-utils") - ;; Generate default build.xml - ((@@ (guix build ant-build-system) default-build.xml) - "tuxguitar-editor-utils.jar" - (string-append (assoc-ref outputs "out") - "/share/java")) - ((assoc-ref %standard-phases 'build)))) - (add-after 'build-editor-utils 'build-application + (let* ((initial-classpath (getenv "CLASSPATH")) + (build-dir (lambda (dir) + (chdir "..") + (setenv "CLASSPATH" + (string-join (cons initial-classpath + (find-files (getcwd) "\\.jar$")) + ":")) + (chdir dir) + (if (file-exists? "build.xml") + ((assoc-ref %standard-phases 'build) + #:build-target "build") + (begin + ;; Generate default build.xml + ((@@ (guix build ant-build-system) default-build.xml) + (string-append (string-downcase dir) ".jar") + (string-append (assoc-ref outputs "out") + "/share/java")) + ((assoc-ref %standard-phases 'build))))))) + (map build-dir '("TuxGuitar-editor-utils" + "TuxGuitar-ui-toolkit" + "TuxGuitar-ui-toolkit-swt" + "TuxGuitar-awt-graphics"))))) + (add-after 'build-libraries 'build-application (lambda _ (chdir "../TuxGuitar") ((assoc-ref %standard-phases 'build) @@ -1318,10 +1342,10 @@ is subjective.") (for-each (lambda (file) (install-file file lib)) (find-files ".." "\\.jar$")) + ;; install all resources - (for-each (lambda (file) - (install-file file share)) - (find-files "share" ".*")) + (copy-recursively "share" share) + ;; create wrapper (call-with-output-file (string-append bin "/tuxguitar") (lambda (port) @@ -1342,7 +1366,7 @@ is subjective.") #t)))))) (inputs `(("java-swt" ,java-swt))) - (home-page "http://tuxguitar.com.ar") + (home-page "http://tuxguitar.pw") (synopsis "Multitrack tablature editor and player") (description "TuxGuitar is a guitar tablature editor with player support through midi. @@ -1356,33 +1380,29 @@ export.") (define-public pd (package (name "pd") - (version "0.45.4") + (version "0.47-1") (source (origin (method url-fetch) (uri - (string-append "mirror://sourceforge/pure-data/pure-data/" - version "/pd-" (version-major+minor version) - "-" (last (string-split version #\.)) - ".src.tar.gz")) + (string-append "http://msp.ucsd.edu/Software/pd-" + version ".src.tar.gz")) (sha256 (base32 - "1ls2ap5yi2zxvmr247621g4jx0hhfds4j5704a050bn2n3l0va2p")))) + "0k5s949kqd7yw97h3m8z81bjz32bis9m4ih8df1z0ymipnafca67")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target #:phases (modify-phases %standard-phases - (add-before - 'configure 'fix-wish-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* "autoreconf" "-vfi"))))))) + (add-before 'configure 'fix-wish-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"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -1493,7 +1513,7 @@ using a system-independent interface.") (define-public frescobaldi (package (name "frescobaldi") - (version "2.19.0") + (version "3.0.0") (source (origin (method url-fetch) (uri (string-append @@ -1501,17 +1521,17 @@ using a system-independent interface.") version "/frescobaldi-" version ".tar.gz")) (sha256 (base32 - "1rnk8i8dlshzx16n2qxcsqcs7kywgyazzyzw2vy4vp2gsm9vs9ml")))) + "15cqhbjbjikr7ljgiq56bz2gxrr38j8p0f78p2vhyzydaviy9a2z")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; no tests included (inputs `(("lilypond" ,lilypond) ("portmidi" ,portmidi) - ("python-pyqt-4" ,python-pyqt-4) + ("python-pyqt" ,python-pyqt) ("python-ly" ,python-ly) ("python-pyportmidi" ,python-pyportmidi) ("poppler" ,poppler) - ("python-poppler-qt4" ,python-poppler-qt4) + ("python-poppler-qt5" ,python-poppler-qt5) ("python-sip" ,python-sip))) (home-page "http://www.frescobaldi.org/") (synopsis "LilyPond sheet music text editor") @@ -1619,7 +1639,7 @@ capabilities, custom envelopes, effects, etc.") (define-public yoshimi (package (name "yoshimi") - (version "1.5.0") + (version "1.5.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/yoshimi/" @@ -1627,7 +1647,7 @@ capabilities, custom envelopes, effects, etc.") "/yoshimi-" version ".tar.bz2")) (sha256 (base32 - "10s1i18xlmvqfrnr0zn2mj2b28i7p62dlqzzzkmpaapqj1gsgpz5")))) + "1gjanmbn08x11iz4bjlkx3m66x0yk401ddkz8fqkj7y3p5ih1kna")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; there are no tests @@ -1755,7 +1775,7 @@ allows you to send JACK MIDI events (i.e. play) using your PC keyboard.") ;; prevents us from using pulseaudio (inputs `(("ncurses" ,ncurses) ("alsa" ,alsa-lib))) - (home-page "http://www.gnu.org/software/cursynth") + (home-page "https://www.gnu.org/software/cursynth/") (synopsis "Polyphonic and MIDI subtractive music synthesizer using curses") (description "GNU cursynth is a polyphonic synthesizer that runs graphically in the terminal. It is built on a full-featured subtractive @@ -1766,14 +1786,14 @@ computer's keyboard.") (define-public qtractor (package (name "qtractor") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (string-append "http://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "17v563liyqcvil204ry1qfp09d91944nqz2ig33f5c3pyg4z2427")))) + "1pvs9r5ykfaci900p0kz2xc5xsrswnwwbcl2chsvd98f1ns4vwds")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no "check" target (inputs @@ -1793,7 +1813,7 @@ computer's keyboard.") ("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://qtractor.sourceforge.net/") + (home-page "http://qtractor.org/") (synopsis "Audio/MIDI multi-track sequencer") (description "Qtractor is an Audio/MIDI multi-track sequencer application. It uses @@ -1804,7 +1824,7 @@ follows a traditional multi-track tape recorder control paradigm.") (define-public ams-lv2 (package (name "ams-lv2") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) @@ -1813,7 +1833,7 @@ follows a traditional multi-track tape recorder control paradigm.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1392spswkhfd38fggf584wb3m8aqpg7csfrs9zxnzyvhgmp0fgqk")))) + "1xacxyzqcj83g9c1gwfn36gg1c6yi15v7km4vidfidrjzb4x27fq")))) (build-system waf-build-system) (arguments `(#:phases @@ -1882,8 +1902,8 @@ analogue-like user interface.") (define-public mod-host ;; The last release was in 2014 but since then more than 140 commits have ;; been made. - (let ((commit "72aca771e3a4e3889641b9bab84985586c9bb926") - (revision "1")) + (let ((commit "299a3977476e8eb0285837fbd7522cec506a11de") + (revision "2")) (package (name "mod-host") (version (string-append "0.10.6-" revision "." (string-take commit 9))) @@ -1894,7 +1914,7 @@ analogue-like user interface.") (commit commit))) (sha256 (base32 - "19szi8cy65jlchbrmbjbma03g6gxj9zyyp4dgw1k06r0cxbx82gq")) + "128q7p5mph086v954rqnafalfbkyvhgwclaq6ks6swrhj45wnag6")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -1931,7 +1951,7 @@ socket or command line.") (define-public pianobar (package (name "pianobar") - (version "2015.11.22") + (version "2016.06.02") (source (origin (method url-fetch) (uri (string-append "https://github.com/PromyLOPh/" @@ -1939,7 +1959,7 @@ socket or command line.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "022df19bhxqvkhy0qy21xahba5s1fm17b13y0p9p9dnf2yl44wfv")))) + "1hi5rr6jcr0kwf4xfz007ndwkjkp287lhwlsgfz6iryqa5n6jzcp")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests @@ -2060,6 +2080,8 @@ detailed track info including timbre, pitch, rhythm and loudness information. (base32 "0bml11gfkxqd3i2jxkn5k2xllc4rvxjcyhs8an05gcyy1zp2bwvb")))) (build-system python-build-system) + (arguments + '(#:tests? #f)) ; FIXME: Requires unpackaged python-flaky. (native-inputs `(("python-coverage" ,python-coverage) ("python-mock" ,python-mock) @@ -2110,7 +2132,6 @@ websites such as Libre.fm.") ;; TODO: Install optional plugins and dependencies. (inputs `(("python-discogs-client" ,python-discogs-client) - ("python-enum34" ,python-enum34) ("python-jellyfish" ,python-jellyfish) ("python-munkres" ,python-munkres) ("python-musicbrainzngs" ,python-musicbrainzngs) @@ -2128,21 +2149,29 @@ of tools for manipulating and accessing your music.") (define-public milkytracker (package (name "milkytracker") - (version "0.90.86") + (version "1.0.0") (source (origin (method url-fetch) - (uri (string-append "http://milkytracker.titandemo.org/files/" - name "-" version ".tar.bz2")) + (uri (string-append "https://github.com/milkytracker/" + "MilkyTracker/archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1v9vp8vi24lkagfpr92c128whvakwgrm9pq2zf6ijpl5sh7014zb")))) - (build-system gnu-build-system) + "1p1jd4h274jvcvl05l01v9bj19zhq4sjag92v1zawyi93ib85abz")) + (modules '((guix build utils))) + ;; Remove non-FSDG compliant sample songs. + (snippet + '(begin + (delete-file-recursively "resources/music") + (substitute* "CMakeLists.txt" + (("add_subdirectory\\(resources/music\\)") "")))))) + (build-system cmake-build-system) (arguments - `(#:make-flags '("CXXFLAGS=-lasound"))) + '(#:tests? #f)) ; no check target (inputs `(("alsa-lib" ,alsa-lib) ("jack" ,jack-1) - ("sdl" ,sdl) + ("sdl" ,sdl2) ("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -2158,7 +2187,7 @@ for improved Amiga ProTracker 2/3 compatibility.") (define-public schismtracker (package (name "schismtracker") - (version "20160521") + (version "20160913") (source (origin (method url-fetch) (uri (string-append @@ -2167,12 +2196,12 @@ for improved Amiga ProTracker 2/3 compatibility.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0c6r24wm3rldm4j8cskl9xnixj3rwi3lnrhckw5gv43wpy6h4jcz")) + "1sc813qi4gl6mf7xp8rrarvyigzhxv3qdrryqsy42yxsb2jcwbrw")) (modules '((guix build utils))) (snippet ;; Remove use of __DATE__ and __TIME__ for reproducibility. `(substitute* "schism/version.c" - (("Schism Tracker build %s %s.*$") + (("Schism Tracker built %s %s.*$") (string-append "Schism Tracker version " ,version "\");")))))) (build-system gnu-build-system) (arguments @@ -2232,6 +2261,8 @@ with a number of bugfixes and changes to improve IT playback.") ("libmodplug" ,libmodplug) ("libmpcdec" ,libmpcdec) ("libmad" ,libmad) + ("libogg" ,libogg) + ("libvorbis" ,libvorbis) ("ncurses" ,ncurses) ("openssl" ,openssl) ("sasl" ,cyrus-sasl) @@ -2276,44 +2307,39 @@ standard MIDI file with the csvmidi program.") (license license:public-domain))) (define-public gx-guvnor-lv2 - (let ((commit "9f528a7623a201383e119bb6a2df32b18396a9d5") - (revision "1")) - (package - (name "gx-guvnor-lv2") - (version (string-append "0-" revision "." (string-take commit 9))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/brummer10/GxGuvnor.lv2") - (commit commit))) - (sha256 - (base32 - "10zx84p2vd7i1yqc5ma9p17927265j4g0zfwv9rxladw0nm8y45k")) - (file-name (string-append name "-" version "-checkout")))) - (build-system gnu-build-system) - (arguments - `(;; The check target is used only to output a warning. - #:tests? #f - #:make-flags - (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ - (substitute* "Makefile" - (("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n") - ;; Avoid rebuilding everything - (("install : all") "install:")) - #t))))) - (inputs - `(("lv2" ,lv2))) - (home-page "https://github.com/brummer10/GxGuvnor.lv2") - (synopsis "Overdrive/distortion pedal simulation") - (description "This package provides the LV2 plugin \"GxGuvnor\", a + (package + (name "gx-guvnor-lv2") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/brummer10/GxGuvnor.lv2/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rnfvrvs8qmmldyfmx4llyly33zp68448gx40ywdwj42x0mam92p")))) + (build-system gnu-build-system) + (arguments + `(;; The check target is used only to output a warning. + #:tests? #f + #:make-flags + (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (substitute* "Makefile" + (("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n")) + #t))))) + (inputs + `(("lv2" ,lv2))) + (home-page "https://github.com/brummer10/GxGuvnor.lv2") + (synopsis "Overdrive/distortion pedal simulation") + (description "This package provides the LV2 plugin \"GxGuvnor\", a simulation of an overdrive or distortion pedal for guitars.") - ;; The LICENSE file says GPLv3 but the license headers in the files say - ;; GPLv2 or later. - (license license:gpl2+)))) + ;; The LICENSE file says GPLv3 but the license headers in the files say + ;; GPLv2 or later. + (license license:gpl2+))) (define-public gx-vbass-preamp-lv2 (let ((commit "0e599abab10c7669dd444e5d06f671c2fc1b9c6c") @@ -2330,6 +2356,16 @@ simulation of an overdrive or distortion pedal for guitars.") (base32 "1dzksdfrva666gpi62fd2ni9rhf18sl917f1894qr0b17pbdh9k1")) (file-name (string-append name "-" version "-checkout")))) + (arguments + (substitute-keyword-arguments (package-arguments gx-guvnor-lv2) + ((#:phases phases) + `(modify-phases ,phases + (replace 'configure + (lambda _ + (substitute* "Makefile" + (("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n") + (("install : all") "install :")) + #t)))))) (home-page "https://github.com/brummer10/GxVBassPreAmp.lv2") (synopsis "Simulation of the Vox Venue Bass 100 Pre Amp Section") (description "This package provides the LV2 plugin \"GxVBassPreAmp\", a @@ -2339,7 +2375,7 @@ Section.")))) (define-public gx-overdriver-lv2 (let ((commit "ed71801987449414bf3adaa0dbfac68e8775f1ce") (revision "1")) - (package (inherit gx-guvnor-lv2) + (package (inherit gx-vbass-preamp-lv2) (name "gx-overdriver-lv2") (version (string-append "0-" revision "." (string-take commit 9))) (source (origin @@ -2359,7 +2395,7 @@ overdrive effect.")))) (define-public gx-tone-mender-lv2 (let ((commit "b6780b4a3e4782b3ed0e5882d6788f178aed138f") (revision "1")) - (package (inherit gx-guvnor-lv2) + (package (inherit gx-vbass-preamp-lv2) (name "gx-tone-mender-lv2") (version (string-append "0-" revision "." (string-take commit 9))) (source (origin @@ -2379,7 +2415,7 @@ clean boost effect with a 3-knob tonestack.")))) (define-public gx-push-pull-lv2 (let ((commit "7f76ae2068498643ac8671ee0930b13ee3fd8eb5") (revision "1")) - (package (inherit gx-guvnor-lv2) + (package (inherit gx-vbass-preamp-lv2) (name "gx-push-pull-lv2") (version (string-append "0-" revision "." (string-take commit 9))) (source (origin @@ -2397,30 +2433,28 @@ clean boost effect with a 3-knob tonestack.")))) simulation of a push pull transistor fuzz effect with added high octave.")))) (define-public gx-suppa-tone-bender-lv2 - (let ((commit "4e6dc713ec24e7fcf5ea23b7e685af627c01b9c9") - (revision "1")) - (package (inherit gx-guvnor-lv2) - (name "gx-suppa-tone-bender-lv2") - (version (string-append "0-" revision "." (string-take commit 9))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/brummer10/GxSuppaToneBender.lv2") - (commit commit))) - (sha256 - (base32 - "1i22xr252nkbazkwidll2zb3i96610gx65qn5djdkijlz7j77138")) - (file-name (string-append name "-" version "-checkout")))) - (home-page "https://github.com/brummer10/GxSuppaToneBender.lv2") - (synopsis "Simulation of the Vox Suppa Tone Bender pedal") - (description "This package provides the LV2 plugin + (package (inherit gx-guvnor-lv2) + (name "gx-suppa-tone-bender-lv2") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/brummer10/" + "GxSuppaToneBender.lv2/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "1j90fns87035sfr6bxs4cvqxbyy3pqjhihx1nis8xajn202nl1hx")) + (file-name (string-append name "-" version ".tar.gz")))) + (home-page "https://github.com/brummer10/GxSuppaToneBender.lv2") + (synopsis "Simulation of the Vox Suppa Tone Bender pedal") + (description "This package provides the LV2 plugin \"GxSuppaToneBender\", a simulation modelled after the Vox Suppa Tone Bender -pedal.")))) +pedal."))) (define-public gx-saturator-lv2 (let ((commit "0b581ac85c515325b9f16e51937cae6e1bf81a0a") (revision "2")) - (package (inherit gx-guvnor-lv2) + (package (inherit gx-vbass-preamp-lv2) (name "gx-saturator-lv2") (version (string-append "0-" revision "." (string-take commit 9))) (source (origin @@ -2438,93 +2472,85 @@ pedal.")))) saturation effect.")))) (define-public gx-hyperion-lv2 - (let ((commit "6a096a664e553e551e179e85cf390bd1683410fb") - (revision "2")) - (package (inherit gx-guvnor-lv2) - (name "gx-hyperion-lv2") - (version (string-append "0-" revision "." (string-take commit 9))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/brummer10/GxHyperion.lv2") - (commit commit))) - (sha256 - (base32 - "1ksv3wmylhwbf6kjl2lnhr14h9rfl291cfm21471gnb1r68yqfxh")) - (file-name (string-append name "-" version "-checkout")))) - (home-page "https://github.com/brummer10/GxHyperion.lv2") - (synopsis "Simulation of the Hyperion Fuzz pedal") - (description "This package provides the LV2 plugin \"GxHyperion\", a -simulation of the Hyperion Fuzz pedal.")))) + (package (inherit gx-guvnor-lv2) + (name "gx-hyperion-lv2") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/brummer10/" + "GxHyperion.lv2/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "1pd7l33a14kq73wavgqq7csw4n3mwjz9d5rxaj0jgsyxd3llp3wh")) + (file-name (string-append name "-" version ".tar.gz")))) + (home-page "https://github.com/brummer10/GxHyperion.lv2") + (synopsis "Simulation of the Hyperion Fuzz pedal") + (description "This package provides the LV2 plugin \"GxHyperion\", a +simulation of the Hyperion Fuzz pedal."))) (define-public gx-voodoo-fuzz-lv2 - (let ((commit "aec7889b489385e8add06126e7a36ae2e26254b1") - (revision "2")) - (package (inherit gx-guvnor-lv2) - (name "gx-voodoo-fuzz-lv2") - (version (string-append "0-" revision "." (string-take commit 9))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/brummer10/GxVoodoFuzz.lv2") - (commit commit))) - (sha256 - (base32 - "0mc41ldlv89069iaysnfiqxy5h5sr8mdi5cxm3ij5q5v4jv3viwx")) - (file-name (string-append name "-" version "-checkout")))) - (home-page "https://github.com/brummer10/GxVoodoFuzz.lv2") - (synopsis "Fuzz effect modelled after the Voodoo Lab SuperFuzz") - (description "This package provides the LV2 plugin \"GxVoodooFuzz\", a + (package (inherit gx-guvnor-lv2) + (name "gx-voodoo-fuzz-lv2") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/brummer10/" + "GxVoodoFuzz.lv2/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "0cc8sg7q493bs6pcq4ipqp6czpxv04nh9yvn8kq2x65ni2208n2f")) + (file-name (string-append name "-" version ".tar.gz")))) + (home-page "https://github.com/brummer10/GxVoodoFuzz.lv2") + (synopsis "Fuzz effect modelled after the Voodoo Lab SuperFuzz") + (description "This package provides the LV2 plugin \"GxVoodooFuzz\", a simulation modelled after the Voodoo Lab SuperFuzz pedal. It's basically a Bosstone circuit, followed by the tone control of the FoxToneMachine in -parallel with a DarkBooster, followed by a volume control.")))) +parallel with a DarkBooster, followed by a volume control."))) (define-public gx-super-fuzz-lv2 - (let ((commit "f40389575812c909007d140d327ce579930b71f7") - (revision "2")) - (package (inherit gx-guvnor-lv2) - (name "gx-super-fuzz-lv2") - (version (string-append "0-" revision "." (string-take commit 9))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/brummer10/GxSuperFuzz.lv2") - (commit commit))) - (sha256 - (base32 - "174bibj8qzm8zr6f5h8bcj94iry17zravk8flpdy84n6yg7cixji")) - (file-name (string-append name "-" version "-checkout")))) - (home-page "https://github.com/brummer10/GxSuperFuzz.lv2") - (synopsis "Fuzz effect modelled after the UniVox SuperFuzz") - (description "This package provides the LV2 plugin \"GxVoodooFuzz\", an + (package (inherit gx-guvnor-lv2) + (name "gx-super-fuzz-lv2") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/brummer10/" + "GxSuperFuzz.lv2/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "0pnivq05f1kji8c5jxsqdzhdfk3xn422v2d1x20x3jfsxnaf115x")) + (file-name (string-append name "-" version ".tar.gz")))) + (home-page "https://github.com/brummer10/GxSuperFuzz.lv2") + (synopsis "Fuzz effect modelled after the UniVox SuperFuzz") + (description "This package provides the LV2 plugin \"GxSuperFuzz\", an analog simulation of the UniVox SuperFuzz pedal. In this simulation the trim -pot, which is usualy in the housing, is exposed as a control parameter. It -adjusts the amount of harmonics.")))) +pot, which is usually in the housing, is exposed as a control parameter. It +adjusts the amount of harmonics."))) (define-public gx-vintage-fuzz-master-lv2 - (let ((commit "0fec0bc1e8a8ba909a68e916e036138a3425d7db") - (revision "2")) - (package (inherit gx-guvnor-lv2) - (name "gx-vintage-fuzz-master-lv2") - (version (string-append "0-" revision "." (string-take commit 9))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/brummer10/GxVintageFuzzMaster.lv2") - (commit commit))) - (sha256 - (base32 - "06szi6d2iwkygbw5azhwzhcl2as4lmk2gs9hanngsf46a1zbdcp7")) - (file-name (string-append name "-" version "-checkout")))) - (home-page "https://github.com/brummer10/GxVintageFuzzMaster.lv2") - (synopsis "Fuzz effect simulation of the vintage Fuzz Master") - (description "This package provides the LV2 plugin -\"GxVintageFuzzMaster\", a simulation of the vintage Fuzz Master pedal.")))) + (package (inherit gx-guvnor-lv2) + (name "gx-vintage-fuzz-master-lv2") + (version "0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/brummer10/" + "GxVintageFuzzMaster.lv2/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "0bdkfj6xi2g4izfw3pmr4i0nqzg8jnkdwc23x9ifxwc6p1kbayzk")) + (file-name (string-append name "-" version ".tar.gz")))) + (home-page "https://github.com/brummer10/GxVintageFuzzMaster.lv2") + (synopsis "Fuzz effect simulation of the vintage Fuzz Master") + (description "This package provides the LV2 plugin +\"GxVintageFuzzMaster\", a simulation of the vintage Fuzz Master pedal."))) (define-public gx-slow-gear-lv2 (let ((commit "cb852e0426f4e6fe077e7f1ede73a4da335cfc5e") (revision "2")) - (package (inherit gx-guvnor-lv2) + (package (inherit gx-vbass-preamp-lv2) (name "gx-slow-gear-lv2") (version (string-append "0-" revision "." (string-take commit 9))) (source (origin @@ -2544,7 +2570,7 @@ slow gear audio effect to produce volume swells.")))) (define-public gx-switchless-wah-lv2 (let ((commit "7b08691203314612999f0ce2328cdc1161cd6665") (revision "2")) - (package (inherit gx-guvnor-lv2) + (package (inherit gx-vbass-preamp-lv2) (name "gx-switchless-wah-lv2") (version (string-append "0-" revision "." (string-take commit 9))) (source (origin @@ -2769,3 +2795,103 @@ collections and wantlists, inventory, and orders.") (define-public python2-discogs-client (package-with-python2 python-discogs-client)) + +(define-public libsmf + (package + (name "libsmf") + (version "1.3") + (source + (origin + (method url-fetch) + ;; SF download page says development moved, but the link it points to + ;; is gone (https://github.com/nilsgey/libsmf). Someone else adopted + ;; it but made no release so far (https://github.com/stump/libsmf). + (uri (string-append "mirror://sourceforge/libsmf/libsmf/" + version "/libsmf-" version ".tar.gz")) + (sha256 + (base32 + "16c0n40h0r56gzbh5ypxa4dwp296dan3jminml2qkb4lvqarym6k")))) + (build-system gnu-build-system) + (outputs '("out" + "static")) ; 88KiB of .a files + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'move-static-libraries + (lambda* (#:key outputs #:allow-other-keys) + ;; Move static libraries to the "static" output. + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (static (assoc-ref outputs "static")) + (slib (string-append static "/lib"))) + (mkdir-p slib) + (for-each (lambda (file) + (install-file file slib) + (delete-file file)) + (find-files lib "\\.a$")) + #t)))))) + (inputs + `(("readline" ,readline) + ("glib" ,glib))) + (native-inputs + `(("doxygen" ,doxygen) + ("pkg-config" ,pkg-config))) + (home-page "http://libsmf.sourceforge.net/") + (synopsis "Standard MIDI File format library") + (description + "LibSMF is a C library for handling SMF (\"*.mid\") files. It transparently handles +conversions between time and pulses, tempo map handling and more. The only dependencies +are a C compiler and glib. Full API documentation and examples are included.") + (license license:bsd-2))) + +(define-public lmms + (package + (name "lmms") + (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")) + (sha256 + (base32 + "1g76z7ha3hd53vbqaq9n1qg6s3lw8zzaw51iny6y2bz0j1xqwcsr")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (add-before + 'configure 'set-ldflags + (lambda* (#:key outputs #:allow-other-keys) + (setenv "LDFLAGS" + (string-append + "-Wl,-rpath=\"" + (assoc-ref outputs "out") "/lib/lmms" + ":" + (assoc-ref outputs "out") "/lib/lmms/ladspa" + "\""))))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("sdl" ,sdl) + ("qt" ,qt-4) + ("fltk" ,fltk) + ("libogg" ,libogg) + ("libsamplerate" ,libsamplerate) + ("fluidsynth" ,fluidsynth) + ("libvorbis" ,libvorbis) + ("alsa-lib" ,alsa-lib) + ("portaudio" ,portaudio) + ("ladspa" ,ladspa) + ("libsndfile1" ,libsndfile) + ("libxft" ,libxft) + ("freetype2" ,freetype) + ("fftw3f" ,fftwf))) + (home-page "https://lmms.io/") + (synopsis "Music composition tool") + (description "LMMS is a digital audio workstation. It includes tools for sequencing +melodies and beats and for mixing and arranging songs. LMMS includes instruments based on +audio samples and various soft sythesizers. It can receive input from a MIDI keyboard.") + (license license:gpl2+)))