aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/music.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/music.scm')
-rw-r--r--gnu/packages/music.scm120
1 files changed, 109 insertions, 11 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 56e6d26493..c01bbc6e71 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -5,7 +5,7 @@
;;; 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, 2017 Kei Kebreau <kei@openmailbox.org>
+;;; 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 ng0 <contact.ng0@cryptolab.net>
@@ -45,6 +45,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base) ;libbdf
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages cdrom)
@@ -76,8 +77,9 @@
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages java)
- #:use-module (gnu packages linux) ; for alsa-utils
#:use-module (gnu packages libffi)
+ #:use-module (gnu packages linux) ; for alsa-utils
+ #:use-module (gnu packages lirc)
#:use-module (gnu packages llvm)
#:use-module (gnu packages man)
#:use-module (gnu packages mp3)
@@ -675,7 +677,9 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro
(("SHELL=/bin/sh") "SHELL=sh")
;; When checking the fontforge version do not consider the
;; version string that's part of the directory.
- (("head -n") "tail -n"))
+ (("head -n") "tail -n")
+ ;; Also allow for SOURCE_DATE_EPOCH = 0 in fontforge.
+ (("20110222") "19700101"))
(setenv "out" "www")
(setenv "conf" "www")
#t))
@@ -1084,7 +1088,7 @@ users to select LV2 plugins and run them with jalv.")
(define-public synthv1
(package
(name "synthv1")
- (version "0.8.3")
+ (version "0.8.4")
(source (origin
(method url-fetch)
(uri
@@ -1092,7 +1096,7 @@ users to select LV2 plugins and run them with jalv.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
- "1yqh7jx431q01f15b3h4dh038yvmc4jcsr3vn2175kqgwfj9jqcg"))))
+ "0awk2zx0xa6vl6ah24zz0k2mwsx50hh5g1rh32mp790fp4x7l5s8"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -1118,7 +1122,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
- (version "0.8.3")
+ (version "0.8.4")
(source (origin
(method url-fetch)
(uri
@@ -1126,7 +1130,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
- "0rvdvc81j4b4n64i7jmk58khry28al8p73g71srdv1kw7j65f2zv"))))
+ "0qqpklzy4wgw9jy0v2810j06712q90bwc69fp7da82536ba058a9"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -1153,7 +1157,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
- (version "0.8.3")
+ (version "0.8.4")
(source (origin
(method url-fetch)
(uri
@@ -1161,7 +1165,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
- "1lbxrn24fg1z659zbaakzq6z8gbax6z16di9v9bhhslk8w2mndik"))))
+ "107p2xsj066q2bil0xcgqrrn7lawp02wzf7qmlajcbnd79jhsi6i"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@@ -1892,14 +1896,14 @@ computer's keyboard.")
(define-public qtractor
(package
(name "qtractor")
- (version "0.8.3")
+ (version "0.8.4")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
- "0ggqp2pz6r0pvapbbil51fh5185rn0i9kgzm9ff8r8y1135zllk8"))))
+ "17bbjfn94843g5q1h7xh23fwyazpfgg4fw6drrn5wgk2vx7qpkis"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; no "check" target
(inputs
@@ -3198,3 +3202,97 @@ specification and header.")
;; The DSSI interface is LGPL2.1+, some tests and examples are GPL2+.
;; The vast majority of examples are in the public domain.
(license (list license:lgpl2.1+ license:gpl2+))))
+
+(define-public rosegarden
+ (package
+ (name "rosegarden")
+ (version "17.04")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/rosegarden/rosegarden/"
+ version "/rosegarden-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1khfcj22asdhjh0jvhkqsz200wgmigkhsrcz09ffia5hqm0n32lq"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags '("-DUSE_QT5=1") ; "-DCMAKE_BUILD_TYPE=Release"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-tests
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("BUILD_TESTING OFF") "BUILD_TESTING ON")
+ ;; Make tests work.
+ ((" -fvisibility=hidden") ""))
+ #t))
+ (add-after 'unpack 'fix-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/gui/general/ProjectPackager.cpp"
+ (("\"flac\\>")
+ (string-append "\"" (assoc-ref inputs "flac") "/bin/flac"))
+ (("\"wavpack\\>")
+ (string-append "\"" (assoc-ref inputs "wavpack") "/bin/wavpack"))
+ (("\"wvunpack\\>")
+ (string-append "\"" (assoc-ref inputs "wavpack") "/bin/wvunpack"))
+ (("\"bash\\>")
+ (string-append "\"" (assoc-ref inputs "bash") "/bin/bash"))
+ (("\"tar\\>")
+ (string-append "\"" (assoc-ref inputs "tar") "/bin/tar")))
+ (substitute* "src/gui/general/LilyPondProcessor.cpp"
+ (("\"convert-ly\\>")
+ (string-append "\"" (assoc-ref inputs "lilypond") "/bin/convert-ly"))
+ (("\"lilypond\\>")
+ (string-append "\"" (assoc-ref inputs "lilypond") "/bin/lilypond")))
+ #t))
+ (add-after 'unpack 'make-reproducible
+ (lambda _
+ ;; Prevent Last-Modified from being written.
+ ;; The "*.qm" files that are used in locale.qrc would have a new
+ ;; mtime otherwise that is written into qrc_locale.cpp in the
+ ;; end - except when we disable it.
+ (substitute* "src/CMakeLists.txt"
+ (("COMMAND [$][{]QT_RCC_EXECUTABLE[}]")
+ "COMMAND ${QT_RCC_EXECUTABLE} --format-version 1")
+ ;; Extraneous.
+ ;(("qt5_add_resources[(]rg_SOURCES ../data/data.qrc[)]")
+ ; "qt5_add_resources(rg_SOURCES ../data/data.qrc OPTIONS --format-version 1)")
+ )
+ ;; Make hashtable traversal order predicable.
+ (setenv "QT_RCC_TEST" "1") ; important
+ #t))
+ (add-before 'check 'prepare-check
+ (lambda _
+ (setenv "QT_QPA_PLATFORM" "offscreen")
+ ;; Tests create files in $HOME/.local/share/rosegarden .
+ (mkdir-p "/tmp/foo")
+ (setenv "HOME" "/tmp/foo")
+ #t)))))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("bash" ,bash)
+ ("dssi" ,dssi)
+ ("flac" ,flac)
+ ("fftwf" ,fftwf)
+ ("jack-2" ,jack-2)
+ ("ladspa" ,ladspa)
+ ("liblo" ,liblo)
+ ("libsamplerate" ,libsamplerate)
+ ("lilypond" ,lilypond)
+ ("lrdf" ,lrdf)
+ ("qtbase" ,qtbase)
+ ("tar" ,tar)
+ ("lirc" ,lirc)
+ ("wavpack" ,wavpack)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("qtlinguist" ,qttools)))
+ (synopsis "Music composition and editing environment based around a MIDI
+sequencer")
+ (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/")
+ (license license:gpl2)))