Subject: [bug#38118] [PATCH] gnu: Add avldrums-lv2.

From: Alexandros Theodotou <[email-masked]>
Date: Mon, 11 Nov 2019 04:07:45 +0000

Hi Marius,

> > +    (source
> > +      (origin
> > +        (method git-fetch)
> > +        (uri
> > +          (git-reference
> > +            (url "https://github.com/x42/avldrums.lv2.git")
> > +            (commit (string-append "v" version))
> > +            (recursive? #t)))   ; for the 'robtk' submodule
> 
> Can we package robtk separately?

The author expects it to be included in the plugin's sources, much like
DPF (DISTRHO plugin framework) based plugins. I don't know if it is
possible to package it, or at least if any of the plugins using it can
build with a packaged version without modifications. The Redkite
toolkit is a bit better because it outputs a .a library that you can
statically link with instead of having to include its sources, so that
was easy to package.

By the way, Arch does the same thing for this package. I believe Debian
too, but not 100% sure about Debian.

> Make sure to run 'guix lint' before resending these patches, to catch
> infraction issues :-)
Done, thank you!
From e6d30dd87ae46bfba50de7a0e549a13a0368dfcc Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <[email-masked]>
Date: Fri, 8 Nov 2019 09:35:38 +0000
Subject: [PATCH] gnu: Add avldrums-lv2.

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

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 2f023685df..9d858ec6ff 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4737,3 +4737,48 @@ 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 avldrums-lv2
+  (package
+    (name "avldrums-lv2")
+    (version "0.4.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri
+          (git-reference
+            (url "https://github.com/x42/avldrums.lv2.git")
+            (commit (string-append "v" version))
+            ;; This plugin expects the robtk submodule's source files to be
+            ;; there in order to build
+            (recursive? #t)))
+        (file-name (string-append name "-v" version))
+        (sha256
+          (base32
+            "1z70rcq6z3gkb4fm8dm9hs31bslwr97zdh2n012fzki9b9rdj5qv"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f  ; no "check" target
+       #:make-flags
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'set-CC-variable
+           (lambda _
+             (setenv "CC" "gcc") #t))
+         (delete 'configure))))
+    (inputs
+     `(("cairo" ,cairo)
+       ("dssi" ,dssi)
+       ("glu" ,glu)
+       ("mesa" ,mesa)
+       ("pango" ,pango)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("lv2" ,lv2)))
+    (home-page "https://x42-plugins.com/x42/x42-avldrums")
+    (synopsis "Drum sample player LV2 plugin dedicated to the AVLinux Drumkits")
+    (description "AVLdrums is a drum sample player LV2 plugin dedicated to Glen
+MacArthur's AVLdrums. This plugin provides a convenient way to sequence and mix
+MIDI drums and comes as two separate drumkits: Black Pearl and Red Zeppelin.")
+    (license license:gpl2+)))
-- 
2.24.0