[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Add Yoshimi.
From: |
Leo Famulari |
Subject: |
Re: [PATCH] Add Yoshimi. |
Date: |
Wed, 23 Dec 2015 14:21:21 -0500 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Wed, Dec 23, 2015 at 08:49:15AM +0100, Ricardo Wurmus wrote:
> Hi Guix,
>
> Yoshimi is a fork of ZynAddSubFX, but I decided against letting
> “yoshimi” inherit from “zynaddsubfx” because not only the source,
> homepage, and description differ, but also the list of inputs and even
> the build phases. I expect the two programmes to diverge more in the
> future; using “(inherit "zynaddsubfx")” felt a bit pointless.
>
Cool :) I'm really glad that Guix has a champion for music software.
> + (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)))))
Thanks for figuring that out!
> + (inputs
> + `(("boost" ,boost)
> + ("fftwf" ,fftwf)
> + ("alsa-lib" ,alsa-lib)
> + ("jack" ,jack-1)
> + ("fontconfig" ,fontconfig)
> + ("minixml" ,minixml)
> + ("mesa" ,mesa)
> + ("fltk" ,fltk)
> + ("lv2" ,lv2)
> + ("readline" ,readline)
The readline module is not imported by music.scm on current master.
Maybe you have a WIP patch that imports it in your tree? Anyways, the
"readline" variable is currently unbound.
It builds fine for me otherwise.
> + ("ncurses" ,ncurses)
> + ("cairo" ,cairo)
> + ("zlib" ,zlib)))
> + (native-inputs
> + `(("pkg-config" ,pkg-config)))
> + (home-page "http://yoshimi.sourceforge.net/")
> + (synopsis "Software synthesizer")
Have you considered describing the "type" of synthesis here in the
synopsis? For example, it could be additive, subtractive, frequency
modulating, etc. Each synthesizer variable could have a synopsis like
"Additive software synthesizer", etc. That would be a nice affordance
for synth geeks :)
In this case, it looks like the synthesis type is "multi-paradigm".
> + (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)))
> --
> 2.5.0
>