guix-devel
[Top][All Lists]
Advanced

[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
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]