[PATCH 1/2] gnu: Add gx-plugins-lv2.

OpenSubmitted by Alexandros Theodotou.
Details
2 participants
  • Alexandros Theodotou
  • Ricardo Wurmus
Owner
unassigned
Severity
normal
A
A
Alexandros Theodotou wrote on 12 Dec 2019 02:14
(name . Guix patches)(address . guix-patches@gnu.org)
87405f5e561a3e4470703cbcc579f9b39c5d3a1e.camel@zrythm.org
Hi,

I deleted many gx-* packages since upstream provides a meta-repository
for them. FWIW Arch does the same:

Thanks,
Alex
From 510c60742c56018d6b3d66dca034f4962cc2357f Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Wed, 11 Dec 2019 23:52:00 +0000
Subject: [PATCH 1/2] gnu: Add gx-plugins-lv2.

* gnu/packages/music.scm (gx-plugins-lv2): New variable.
* gnu/packages/music.scm (gx-guvnor-lv2): Remove variable.
* gnu/packages/music.scm (gx-vbass-preamp-lv2): Remove variable.
* gnu/packages/music.scm (gx-suppa-tone-bender-lv2): Remove variable.
* gnu/packages/music.scm (gx-saturator-lv2): Remove variable.
* gnu/packages/music.scm (gx-hyperion-lv2): Remove variable.
* gnu/packages/music.scm (gx-voodoo-fuzz-lv2): Remove variable.
* gnu/packages/music.scm (gx-super-fuzz-lv2): Remove variable.
* gnu/packages/music.scm (gx-vintage-fuzz-master-lv2): Remove variable.
* gnu/packages/music.scm (gx-slow-gear-lv2): Remove variable.
---
gnu/packages/music.scm | 271 ++++++++++-------------------------------
1 file changed, 67 insertions(+), 204 deletions(-)

Toggle diff (325 lines)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 54f2638f57..ac32660454 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -3152,74 +3152,10 @@ standard MIDI file with the csvmidi program.")
     (home-page "http://www.fourmilab.ch/webtools/midicsv/")
     (license license:public-domain)))
 
-(define-public gx-guvnor-lv2
-  (package
-    (name "gx-guvnor-lv2")
-    (version "0.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/brummer10/GxGuvnor.lv2.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "1wa5070j40p7f0b3kr259pzm99xb6cf2badr2capayjvgayd6gnm"))))
-    (build-system gnu-build-system)
-    (arguments
-     `(;; The check target is used only to output a warning.
-       #:tests? #f
-       #:make-flags
-       (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           (lambda _
-             (substitute* "Makefile"
-               (("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n")
-               (("install : all") "install :"))
-             #t)))))
-    (inputs
-     `(("lv2" ,lv2)))
-    (home-page "https://github.com/brummer10/GxGuvnor.lv2")
-    (synopsis "Overdrive/distortion pedal simulation")
-    (description "This package provides the LV2 plugin \"GxGuvnor\", a
-simulation of an overdrive or distortion pedal for guitars.")
-    ;; The LICENSE file says GPLv3 but the license headers in the files say
-    ;; GPLv2 or later.  The whole project is released under GPLv3 or later
-    ;; according to https://github.com/brummer10/GxGuvnor.lv2/issues/1
-    (license license:gpl3+)))
-
-(define-public gx-vbass-preamp-lv2
-  (let ((commit "eb999b0ca0ef4da40a59e458a9ab6e7042b96c99")
-        (revision "2"))
-    (package (inherit gx-guvnor-lv2)
-      (name "gx-vbass-preamp-lv2")
-      (version (string-append "0-" revision "." (string-take commit 9)))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/brummer10/GxVBassPreAmp.lv2")
-                      (commit commit)))
-                (sha256
-                 (base32
-                  "0firap073ldw4nrykkd7jvyyj0jbl1nslxyzjj4kswazp99x7d9h"))
-                (file-name (string-append name "-" version "-checkout"))))
-      (inputs
-       `(("lv2" ,lv2)
-         ("gtk+" ,gtk+-2)))
-      (native-inputs
-       `(("pkg-config" ,pkg-config)))
-      (home-page "https://github.com/brummer10/GxVBassPreAmp.lv2")
-      (synopsis "Simulation of the Vox Venue Bass 100 Pre Amp Section")
-      (description "This package provides the LV2 plugin \"GxVBassPreAmp\", a
-pre-amplifier simulation modelled after the 1984 Vox Venue Bass 100 Pre Amp
-Section."))))
-
 (define-public gx-overdriver-lv2
   (let ((commit "ed71801987449414bf3adaa0dbfac68e8775f1ce")
         (revision "1"))
-    (package (inherit gx-guvnor-lv2)
+    (package
       (name "gx-overdriver-lv2")
       (version (string-append "0-" revision "." (string-take commit 9)))
       (source (origin
@@ -3231,15 +3167,34 @@ Section."))))
                  (base32
                   "13j614jh525fbkby79nnzwj0z1ac0c9wclyn5pfqvkmx6a7j24r8"))
                 (file-name (string-append name "-" version "-checkout"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(;; The check target is used only to output a warning.
+         #:tests? #f
+         #:make-flags
+         (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'configure
+             (lambda _
+               (substitute* "Makefile"
+                 (("INSTALL_DIR = .*") "INSTALL_DIR=/lib/lv2\n")
+                 (("install : all") "install :"))
+               #t)))))
+      (inputs
+       `(("lv2" ,lv2)))
       (home-page "https://github.com/brummer10/GxOverDriver.lv2")
       (synopsis "Overdrive effect with level and tone control")
       (description "This package provides the LV2 plugin \"GxOverDriver\", an
-overdrive effect."))))
+  overdrive effect.")
+      ;; The LICENSE file says GPLv3 but the license headers in the files say
+      ;; GPLv2 or later.  The whole project is released under GPLv3 or later
+      (license license:gpl3+))))
 
 (define-public gx-tone-mender-lv2
   (let ((commit "b6780b4a3e4782b3ed0e5882d6788f178aed138f")
         (revision "1"))
-    (package (inherit gx-guvnor-lv2)
+    (package (inherit gx-overdriver-lv2)
       (name "gx-tone-mender-lv2")
       (version (string-append "0-" revision "." (string-take commit 9)))
       (source (origin
@@ -3259,7 +3214,7 @@ clean boost effect with a 3-knob tonestack."))))
 (define-public gx-push-pull-lv2
   (let ((commit "7f76ae2068498643ac8671ee0930b13ee3fd8eb5")
         (revision "1"))
-    (package (inherit gx-guvnor-lv2)
+    (package (inherit gx-overdriver-lv2)
       (name "gx-push-pull-lv2")
       (version (string-append "0-" revision "." (string-take commit 9)))
       (source (origin
@@ -3276,145 +3231,10 @@ clean boost effect with a 3-knob tonestack."))))
       (description "This package provides the LV2 plugin \"GxPushPull\", a
 simulation of a push pull transistor fuzz effect with added high octave."))))
 
-(define-public gx-suppa-tone-bender-lv2
-  (package (inherit gx-guvnor-lv2)
-    (name "gx-suppa-tone-bender-lv2")
-    (version "0.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/brummer10/GxSuppaToneBender.lv2.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "01x6bjmllkmvxfzc5xwdix7w021j26js71awv728cxsmkxgqw0zy"))))
-    (home-page "https://github.com/brummer10/GxSuppaToneBender.lv2")
-    (synopsis "Simulation of the Vox Suppa Tone Bender pedal")
-    (description "This package provides the LV2 plugin
-\"GxSuppaToneBender\", a simulation modelled after the Vox Suppa Tone Bender
-pedal.")))
-
-(define-public gx-saturator-lv2
-  (let ((commit "605330f432c94b6eb3f8203cbe472befae959532")
-        (revision "3"))
-    (package (inherit gx-vbass-preamp-lv2)
-      (name "gx-saturator-lv2")
-      (version (string-append "0-" revision "." (string-take commit 9)))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/brummer10/GxSaturator.lv2")
-                      (commit commit)))
-                (sha256
-                 (base32
-                  "1w4nvh0rmxrv3s3hmh4fs74f3hc0jn31v00j769j7v68mqr7kawy"))
-                (file-name (string-append name "-" version "-checkout"))))
-      (home-page "https://github.com/brummer10/GxSaturator.lv2")
-      (synopsis "Saturation effect")
-      (description "This package provides the LV2 plugin \"GxSaturator\", a
-saturation effect."))))
-
-(define-public gx-hyperion-lv2
-  (package (inherit gx-guvnor-lv2)
-    (name "gx-hyperion-lv2")
-    (version "0.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/brummer10/GxHyperion.lv2.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "1vx79s6s9if117y2g0ppdja2sv2wcny6xcfl3j1z4cipahnildxf"))))
-    (home-page "https://github.com/brummer10/GxHyperion.lv2")
-    (synopsis "Simulation of the Hyperion Fuzz pedal")
-    (description "This package provides the LV2 plugin \"GxHyperion\", a
-simulation of the Hyperion Fuzz pedal.")))
-
-(define-public gx-voodoo-fuzz-lv2
-  (package (inherit gx-guvnor-lv2)
-    (name "gx-voodoo-fuzz-lv2")
-    (version "0.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/brummer10/GxVoodoFuzz.lv2.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "1v0scphivri1fk4hl20j13f92i48mnx1zsil4hgnadsmm4nsfw43"))))
-    (home-page "https://github.com/brummer10/GxVoodoFuzz.lv2")
-    (synopsis "Fuzz effect modelled after the Voodoo Lab SuperFuzz")
-    (description "This package provides the LV2 plugin \"GxVoodooFuzz\", a
-simulation modelled after the Voodoo Lab SuperFuzz pedal.  It's basically a
-Bosstone circuit, followed by the tone control of the FoxToneMachine in
-parallel with a DarkBooster, followed by a volume control.")))
-
-(define-public gx-super-fuzz-lv2
-  (package (inherit gx-guvnor-lv2)
-    (name "gx-super-fuzz-lv2")
-    (version "0.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/brummer10/GxSuperFuzz.lv2.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "1jlljd9hlgfflbiizq47lv1xbbgjyx3v835mf24zmh1q5zsw4np4"))))
-    (home-page "https://github.com/brummer10/GxSuperFuzz.lv2")
-    (synopsis "Fuzz effect modelled after the UniVox SuperFuzz")
-    (description "This package provides the LV2 plugin \"GxSuperFuzz\", an
-analog simulation of the UniVox SuperFuzz pedal.  In this simulation the trim
-pot, which is usually in the housing, is exposed as a control parameter.  It
-adjusts the amount of harmonics.")))
-
-(define-public gx-vintage-fuzz-master-lv2
-  (package (inherit gx-guvnor-lv2)
-    (name "gx-vintage-fuzz-master-lv2")
-    (version "0.1")
-    (source (origin
-              (method git-fetch)
-              (uri (git-reference
-                    (url "https://github.com/brummer10/GxVintageFuzzMaster.lv2.git")
-                    (commit (string-append "v" version))))
-              (file-name (string-append name "-" version "-checkout"))
-              (sha256
-               (base32
-                "02jb211z8rw2qr5r1z5mdxlqgiw6cbc319xpqplvn6k21c59mskv"))))
-    (home-page "https://github.com/brummer10/GxVintageFuzzMaster.lv2")
-    (synopsis "Fuzz effect simulation of the vintage Fuzz Master")
-    (description "This package provides the LV2 plugin
-\"GxVintageFuzzMaster\", a simulation of the vintage Fuzz Master pedal.")))
-
-(define-public gx-slow-gear-lv2
-  (let ((commit "5d37e775b0feef1d82feee94e2a7a2d7e57efe2d")
-        (revision "3"))
-    (package (inherit gx-vbass-preamp-lv2)
-      (name "gx-slow-gear-lv2")
-      (version (string-append "0-" revision "." (string-take commit 9)))
-      (source (origin
-                (method git-fetch)
-                (uri (git-reference
-                      (url "https://github.com/brummer10/GxSlowGear.lv2")
-                      (commit commit)))
-                (sha256
-                 (base32
-                  "141mz69zkhk3lm54bb6wgpnghb92zm1ig7fv07240cmhydqji1q1"))
-                (file-name (string-append name "-" version "-checkout"))))
-      (home-page "https://github.com/brummer10/GxSlowGear.lv2")
-      (synopsis "Slow gear audio effect")
-      (description "This package provides the LV2 plugin \"GxSlowGear\", a
-slow gear audio effect to produce volume swells."))))
-
 (define-public gx-switchless-wah-lv2
   (let ((commit "7b08691203314612999f0ce2328cdc1161cd6665")
         (revision "2"))
-    (package (inherit gx-guvnor-lv2)
+    (package (inherit gx-overdriver-lv2)
       (name "gx-switchless-wah-lv2")
       (version (string-append "0-" revision "." (string-take commit 9)))
       (source (origin
@@ -3431,6 +3251,49 @@ slow gear audio effect to produce volume swells."))))
       (description "This package provides the LV2 plugin \"GxSwitchlessWah\",
 a simulation of an analog Wah pedal with switchless activation."))))
 
+(define-public gx-plugins-lv2
+  (package
+    (name "gx-plugins-lv2")
+    (version "0.7")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/brummer10/gxplugins.lv2.git")
+               (commit (string-append "v" version))
+               (recursive? #t))) ; each plugin is a submodule
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "0jqdqnkg7pg9plcbxy49p7gcs1aj6h0xf7y9gndmjmkw5yjn2940"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no check target
+       #:make-flags
+       (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))
+             (string-append "INSTALL_DIR=/lib/lv2"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'set-CC-variable
+           (lambda _
+             (setenv "CC" "gcc") #t))
+         ;; no configure script
+         (delete 'configure))))
+    (inputs
+     `(("cairo" ,cairo)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("which" ,which)
+       ("lv2" ,lv2)))
+    (home-page "https://github.com/brummer10/gxplugins.lv2")
+    (synopsis "Set of extra LV2 plugins from the Guitarix project")
+    (description
+     "GxPlugins.lv2 is a set of extra standalone LV2 plugins designed to
+compliment the Guitarix project.")
+    ;; The meta repository is licensed under GPLv3+ but some plugins are
+    ;; under the GPLv2+
+    (license (list license:gpl2+ license:gpl3+))))
+
 (define-public rkrlv2
   ;; This commit corresponds to the beta_3 tag
   (let ((commit "7edcb4e29a358623bfd57fa2c27e5da60adfcec3")
-- 
2.24.0
-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEESBMjhK0999huJUuDAi6uQjE9cPMFAl3xlFsACgkQAi6uQjE9
cPPxUAf/c9kIo7PfGtTP0Y2XBi+M3TVWw7j6+OUbUEN3aFHuBz5wQQVlKV19gwBY
zair36LTAC9h2s+ALJyTU+wfAuL7s+hSHv/nRl7eMRUJmV6VV4mqHbB5wG8I8YIH
EnEeSU9v2AVb0vofpgBr1RZ6AIFqV54MgHsJAfScwD52brtSgzv5BUfZoVYVMw9t
XWkDAj/BZgmBX90LpxsSCwOgVfvN4ZcW32xGF2I4EH7mbY9B+o915A5dHGj/7wH5
kNC0yv8tR11T4NttG8r62gpcy4W7qDt7zjKDs8/YXnrszCt8fz93HxtG4j1WlobC
IEZY/b/NAWqAdCDWtVGTx5XCfyAcNQ==
=AOIS
-----END PGP SIGNATURE-----


R
R
Ricardo Wurmus wrote on 12 Dec 2019 10:11
(name . Alexandros Theodotou)(address . alex@zrythm.org)(address . 38570@debbugs.gnu.org)
87zhfx3o35.fsf@elephly.net
Hi Alexandros,

Toggle quote (4 lines)
> I deleted many gx-* packages since upstream provides a meta-repository
> for them. FWIW Arch does the same:
> https://www.archlinux.org/packages/community/x86_64/gxplugins.lv2/

I think it’s better to err on the side of granularity here and provide
the lv2 plugins as individual packages.

We could have a meta package that simply propagates all of the
individual packages.

--
Ricardo
A
A
Alexandros Theodotou wrote on 12 Dec 2019 11:13
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 38570@debbugs.gnu.org)
8fc2300eb10593b64c07975c10a553da9926ad88.camel@zrythm.org
Hi Ricardo,

Thanks for taking a look at this.

On Thu, 2019-12-12 at 10:11 +0100, Ricardo Wurmus wrote:
Toggle quote (8 lines)
>
> I think it’s better to err on the side of granularity here and
> provide
> the lv2 plugins as individual packages.
>
> We could have a meta package that simply propagates all of the
> individual packages.

I think this is a very bad idea in this case, considering:
a) No one will ever want to install specific gxplugins. Usually people
want to install the "gxplugin suite" - or even all available LV2
plugins
b) There are !!!!!!43!!!!!! plugins here. Do you realize how painful
and unnecessary it would be to add and maintain these packages?
Especially considering the following point
c) The total installed file size for all of these is only 7mb
d) These are all from the same person, who explicitly provides a meta-
repository for packagers so it makes sense to offer them in the same
package

If you insist though, I would likely just use my own channel for this
as I don't want to go through the trouble of adding 40 extra packages,
each only a few KB in size.

Thanks,
Alex
-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEESBMjhK0999huJUuDAi6uQjE9cPMFAl3yEuMACgkQAi6uQjE9
cPOFdwf/TbcbuQ7EgwSco4TVVGWmlhP+SUegJlRHfB0BzT05mPyJh+xYz+G0M1J7
hCjRhfSV/OY9JsbD9As4TCZERQVtTyvrsfKJTToPLoRA7wfwUIOR2m1ndQAZJ8si
ftqyVRVXj+S2k9x61FqpZ/QUSRBwDE0TjJPPOfu0WWgiPi9XY7rFsYv8F3gFXA5v
ggLP7rMivfSfUKEjb1fNW7Dr72S6AnbXjlAn8WzQDnAoJM6q2O25Yik0BuBO3N53
NTFz8v2SkjNHpn1ug4/3YZtN+50kgE+Ror2+uvi3mh/2jKvO1mkDMPBECx9XyrtU
csQEPHRQ7wsE8KC+DYjCLKSv+qvq6w==
=xg9u
-----END PGP SIGNATURE-----


A
A
Alexandros Theodotou wrote on 25 Feb 2020 16:35
(name . Ricardo Wurmus)(address . rekado@elephly.net)(address . 38570@debbugs.gnu.org)
fba1d20edcd072ec4e2060cf749dfc117acf069f.camel@zrythm.org
Hi Ricardo,

I apologize for my tone in the last message, it sounded like I was
yelling at you. Would you still prefer to package these separately? It
would need 43 new packages which isn't very efficient or worth the
effort in my opinion considering that they are mostly very
small/minimal plugins.

Also, it would be great if you could have a look at this meta-package
patch for installing all available lv2-plugins:

Thanks,
Alex

On Thu, 2019-12-12 at 10:13 +0000, Alexandros Theodotou wrote:
Toggle quote (33 lines)
> Hi Ricardo,
>
> Thanks for taking a look at this.
>
> On Thu, 2019-12-12 at 10:11 +0100, Ricardo Wurmus wrote:
> > I think it’s better to err on the side of granularity here and
> > provide
> > the lv2 plugins as individual packages.
> >
> > We could have a meta package that simply propagates all of the
> > individual packages.
>
> I think this is a very bad idea in this case, considering:
> a) No one will ever want to install specific gxplugins. Usually
> people
> want to install the "gxplugin suite" - or even all available LV2
> plugins
> b) There are !!!!!!43!!!!!! plugins here. Do you realize how painful
> and unnecessary it would be to add and maintain these packages?
> Especially considering the following point
> c) The total installed file size for all of these is only 7mb
> d) These are all from the same person, who explicitly provides a
> meta-
> repository for packagers so it makes sense to offer them in the same
> package
>
> If you insist though, I would likely just use my own channel for this
> as I don't want to go through the trouble of adding 40 extra
> packages,
> each only a few KB in size.
>
> Thanks,
> Alex
-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEESBMjhK0999huJUuDAi6uQjE9cPMFAl5VPskACgkQAi6uQjE9
cPNafQf/ceU69gGsrvD2+AMcc/XLmDN/P+crhDvTg+urBWC4FTElEMQijIrKJJKT
5QJjpiu7ROWuBWfAPzIdzdWhkOIKCWMy2N3asrw4EYzKzvfWjCheo/e29IpjEqLF
J6l9YncMxLJkXO1ML+8dZ6TYRcx+qIpb/axcg8eolAgf3aknmxNqJDRAsVzDvQJr
3IDIXP4iU6C83lkV0H4FymT0nWgTWkNJKGWgBs9WlylytESAPUCr7O3C5f5o0B1P
3Xwj+B2ArDKspuFvzkFOP9LxVqpqGHacgXzwYHL4qTVjowL4J5EwwlRtTzabORx+
cKXkLYDA4NPYp0zeZulYbC9Op99iOw==
=M5ny
-----END PGP SIGNATURE-----


?