diff mbox series

[bug#38129] gnu: Add sherlock-lv2.

Message ID ebbd766ae66b16b1ff0a7132e94b7297b4296400.camel@zrythm.org
State Accepted
Headers show
Series [bug#38129] gnu: Add sherlock-lv2. | expand

Commit Message

Alexandros Theodotou Nov. 11, 2019, 1:35 a.m. UTC
Hi Marius,

> I think your MUA might have mangled these
> patches somehow, as many of them are "corrupt" according to git.  Can
> you try to resend these?  I'll comment on the patches individually
> meanwhile.
Sorry about that. I got Gnome evolution sorted out now so hopefully
it's better. send-mail doesn't work for me at the moment so I'll add
the patches as attachments.

> > +     `(("glibc" ,glibc)
> 
> I don't think this is needed?
I guess it's not, I removed it.

> > +       ("libx11" ,libx11)
> > +       ("mesa" ,mesa)
> > +       ("serd" ,serd)
> > +       ("sratom" ,sratom)))
> > +    (native-inputs
> > +     `(("flex" ,flex)
> > +       ("lv2" ,lv2)
> > +       ("sord" ,sord)
> 
> I don't know anything about LV2 and sord, are these inputs really
> only
> used for the build process itself?  :-)
Sord is an input for sratom (which is in the inputs above), but the
build fails if I remove this from the native-inputs.

For LV2, technically, it's only needed in the build process since it's
just a header file with specifications. Since this is an LV2 plugin, a
host that will be loading it will include LV2 itself and will have it
as an input, so the plugin doesn't really need it. It doesn't hurt to
add it as an input either, but I think having it as a build input is
more "correct". By the way, the Arch packagers do the same for most LV2
plugins.

> > +       ("pkg-config" ,pkg-config)))
> > +    (synopsis "Investigative LV2 plugin bundle")
> > +    (description "The Sherlock plugin bundle contains LV2 plugins
> > for
> > +visualizing LV2 atom, MIDI and OSC events. They can be used for 
> > monitoring and
> > +debugging of event signal flows inside plugin graphs.")
> 
> Two spaces after periods, as per 'guix lint'.
Fixed, thank you!

Comments

Marius Bakke Nov. 13, 2019, 10:23 p.m. UTC | #1
Alexandros Theodotou <alex@zrythm.org> writes:

> Hi Marius,
>
>> I think your MUA might have mangled these
>> patches somehow, as many of them are "corrupt" according to git.  Can
>> you try to resend these?  I'll comment on the patches individually
>> meanwhile.
> Sorry about that. I got Gnome evolution sorted out now so hopefully
> it's better. send-mail doesn't work for me at the moment so I'll add
> the patches as attachments.

Thanks!

>> > +       ("libx11" ,libx11)
>> > +       ("mesa" ,mesa)
>> > +       ("serd" ,serd)
>> > +       ("sratom" ,sratom)))
>> > +    (native-inputs
>> > +     `(("flex" ,flex)
>> > +       ("lv2" ,lv2)
>> > +       ("sord" ,sord)
>> 
>> I don't know anything about LV2 and sord, are these inputs really
>> only
>> used for the build process itself?  :-)
> Sord is an input for sratom (which is in the inputs above), but the
> build fails if I remove this from the native-inputs.

Right, I think I see the problem.  sratom's pkg-config file has this
line:

  Requires: lv2 serd-0 sord-0

Which means that these need to be available when build systems run
e.g. 'pkg-config --cflags sratom-0'.  This is the most common use of
propagated-inputs in Guix.

I went ahead and propagated these from 'sratom', and removed the 'lv2'
and 'sord' inputs.  Let me know if you think something is off!

> For LV2, technically, it's only needed in the build process since it's
> just a header file with specifications. Since this is an LV2 plugin, a
> host that will be loading it will include LV2 itself and will have it
> as an input, so the plugin doesn't really need it. It doesn't hurt to
> add it as an input either, but I think having it as a build input is
> more "correct". By the way, the Arch packagers do the same for most LV2
> plugins.

Right.  Header files are usually architecture-independent, so having
them as native-inputs should be safe.

> From 8bda974a93874bcf366ba78bdf3329f73245e90f Mon Sep 17 00:00:00 2001
> From: Alexandros Theodotou <alex@zrythm.org>
> Date: Fri, 8 Nov 2019 10:59:52 +0000
> Subject: [PATCH] gnu: Add sherlock-lv2.
>
> * gnu/packages/music.scm: (sherlock-lv2): New variable.

Applied (with the dropped inputs), thanks!
diff mbox series

Patch

From 8bda974a93874bcf366ba78bdf3329f73245e90f Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Fri, 8 Nov 2019 10:59:52 +0000
Subject: [PATCH] gnu: Add sherlock-lv2.

* gnu/packages/music.scm: (sherlock-lv2): New variable.
---
 gnu/packages/music.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 2f023685df..690434202e 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4737,3 +4737,34 @@  for integration into status line generators or other command-line tools.")
 effects.  It contains a bitcrusher, delay, distortion, equalizer, compressor,
 and reverb.")
     (license license:gpl2+)))
+
+(define-public sherlock-lv2
+  (package
+    (name "sherlock-lv2")
+    (version "0.20.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "https://git.open-music-kontrollers.ch/lv2/"
+               "sherlock.lv2/snapshot/sherlock.lv2-"
+               version ".tar.xz"))
+        (sha256
+          (base32
+            "1c5xajpss9h8lbyx160bbzg8va50n2d74qwnxig9sf468rzmha1y"))))
+    (build-system meson-build-system)
+    (inputs
+     `(("libx11" ,libx11)
+       ("mesa" ,mesa)
+       ("sratom" ,sratom)))
+    (native-inputs
+     `(("flex" ,flex)
+       ("lv2" ,lv2)
+       ("sord" ,sord)
+       ("pkg-config" ,pkg-config)))
+    (synopsis "Investigative LV2 plugin bundle")
+    (description "The Sherlock plugin bundle contains LV2 plugins for
+visualizing LV2 atom, MIDI and OSC events.  They can be used for monitoring
+and debugging of event signal flows inside plugin graphs.")
+    (home-page "https://open-music-kontrollers.ch/lv2/sherlock/")
+    (license license:artistic2.0)))
-- 
2.24.0