Subject: bug#38129: closed (Re: [bug#38129] [PATCH] gnu: Add sherlock-lv2.)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 13 Nov 2019 22:24:03 +0000

Your bug report

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

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
38129: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38129
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#38129] [PATCH] gnu: Add sherlock-lv2.
From: Marius Bakke <[email-masked]>
To: Alexandros Theodotou <[email-masked]>, [email-masked]
Date: Wed, 13 Nov 2019 23:23:12 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Alexandros Theodotou <[email-masked]> 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 <[email-masked]>
> 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!

Subject: [PATCH] gnu: Add sherlock-lv2.
From: Alexandros Theodotou <[email-masked]>
To: Guix patches <[email-masked]>
Date: Fri, 08 Nov 2019 12:05:37 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

 From 5207795bcce201e019c33bb0274e06a460cf6c3f Mon Sep 17 00:00:00 2001
 From: Alexandros Theodotou <[email-masked]>
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 | 34 ++++++++++++++++++++++++++++++++++
  1 file changed, 34 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index a30765e87f..95cc0ff93c 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -24,6 +24,7 @@
  ;;; Copyright © 2019 Jakob L. Kreuze <[email-masked]>
  ;;; Copyright © 2019 raingloom <[email-masked]>
  ;;; Copyright © 2019 David Wilson <[email-masked]>
+;;; Copyright © 2019 Alexandros Theodotou <[email-masked]>
  ;;;
  ;;; This file is part of GNU Guix.
  ;;;
@@ -4699,3 +4700,36 @@ You can also get metadata about the playing track 
such as the artist and title
  for integration into status line generators or other command-line 
tools.")
      (home-page "https://github.com/altdesktop/playerctl")
      (license license:lgpl3+)))
+
+(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
+     `(("glibc" ,glibc)
+       ("libx11" ,libx11)
+       ("mesa" ,mesa)
+       ("serd" ,serd)
+       ("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