On Tue, Feb 25, 2020 at 03:06:38PM +0000, Alexandros Theodotou wrote: > Hi, > > This is a new LV2 plugin. It uses Ztoolkit for its UI so I packaged > that separately. Hi, could you send your patches inline, instead of as an attachment? It makes reviews easier. The workflow on your side is easier too, since you only need to `git send-email` (available as git:send-email in guix). It's fine if you prefer not to do this, though. > * gnu/packages/audio.scm (ztoolkit): New variable. > --- > gnu/packages/audio.scm | 43 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 43 insertions(+) I'm not sure if audio.scm is the best place for a GUI toolkit. It might be fine since audio plugins are the primary usecase, but I'm not sure. > +(define-public ztoolkit > + (package > + (name "ztoolkit") > + (version "0.1.1") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://git.zrythm.org/git/ztoolkit") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "07xl3cmdaf7k9mm58m93cn8i1jvgimmiifdw1w7v2jl88nx60pm1")))) Please run etc/indent-code.el on your packages. > + (build-system meson-build-system) > + (propagated-inputs > + `(("cairo" ,cairo) > + ("libx11" ,libx11))) Why are these propagated-inputs? I would've thought that these dependencies get linked into the binary, so they don't need to propagate to the user's profile. > + (native-inputs > + `(("pkg-config" ,pkg-config) > + ("git" ,git))) Why the dependency on git? The package seems to build fine without it. > + (synopsis "GUI toolkit for LV2 plugins") > + (description "ZToolkit (Ztk) is a cross-platform GUI toolkit heavily > +inspired by GTK. It handles events and low level drawing on behalf of > +the user and provides a high-level API for managing the UI and custom > +widgets. ZToolkit is written in C and was created to be used for building > +audio plugin UIs, where the dependencies often need to be kept to a > +minimum.") > + (home-page "https://git.zrythm.org/cgit/ztoolkit/") > + (license license:agpl3+))) > +(define-public zlfo > + (package > + (name "zlfo") > + (version "0.1.3") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://git.zrythm.org/git/ZLFO") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "0bm466ci5xyvxvq7l9p6xyh789lvk6i31b4zja1igqh13akbjnjz")))) > + (build-system meson-build-system) > + (inputs > + `(("ztoolkit-rsvg" ,ztoolkit-rsvg))) > + (native-inputs > + `(("git" ,git) Same question as above. > + ("lv2" ,lv2) > + ("pkg-config" ,pkg-config))) > + (synopsis "LFO plugin") That's quite blunt, and impenetrable for non-domain-experts. Is there really nothing more you could say about the package? Perhaps expand the acronym? > + (description "ZLFO is a fully featured LFO for CV-based automation > +that comes as a cross-platform LV2 plugin bundle with a custom UI.") Consider using Texinfo's @acronym. > + (home-page "https://git.zrythm.org/cgit/ZLFO/") > + (license license:agpl3+)))