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 >