aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/music.scm58
1 files changed, 58 insertions, 0 deletions
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 67a29dc1cf..14590f4e22 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -67,6 +67,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages rdf)
+ #:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
@@ -905,3 +906,60 @@ instrument or MIDI file player.")
three synthesizer engines, multitimbral and polyphonic synths, microtonal
capabilities, custom envelopes, effects, etc.")
(license license:gpl2)))
+
+(define-public yoshimi
+ (package
+ (name "yoshimi")
+ (version "1.3.7.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/yoshimi/"
+ (version-major+minor version)
+ "/yoshimi-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "13xc1x8jrr2rn26jx4dini692ww3771d5j5xf7f56ixqr7mmdhvz"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; there are no tests
+ #:configure-flags
+ (list (string-append "-DCMAKE_INSTALL_DATAROOTDIR="
+ (assoc-ref %outputs "out") "/share"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'enter-dir
+ (lambda _ (chdir "src") #t))
+ ;; Move SSE compiler optimization flags from generic target to
+ ;; athlon64 and core2 targets, because otherwise the build would fail
+ ;; on non-Intel machines.
+ (add-after 'unpack 'remove-sse-flags-from-generic-target
+ (lambda _
+ (substitute* "src/CMakeLists.txt"
+ (("-msse -msse2 -mfpmath=sse") "")
+ (("-march=(athlon64|core2)" flag)
+ (string-append flag " -msse -msse2 -mfpmath=sse")))
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("fftwf" ,fftwf)
+ ("alsa-lib" ,alsa-lib)
+ ("jack" ,jack-1)
+ ("fontconfig" ,fontconfig)
+ ("minixml" ,minixml)
+ ("mesa" ,mesa)
+ ("fltk" ,fltk)
+ ("lv2" ,lv2)
+ ("readline" ,readline)
+ ("ncurses" ,ncurses)
+ ("cairo" ,cairo)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://yoshimi.sourceforge.net/")
+ (synopsis "Multi-paradigm software synthesizer")
+ (description
+ "Yoshimi is a fork of ZynAddSubFX, a feature heavy realtime software
+synthesizer. It offers three synthesizer engines, multitimbral and polyphonic
+synths, microtonal capabilities, custom envelopes, effects, etc. Yoshimi
+improves on support for JACK features, such as JACK MIDI.")
+ (license license:gpl2)))