[PATCH] gnu: Add adlplug.

  • Open
  • quality assurance status badge
Details
2 participants
  • Alexandros Theodotou
  • Marius Bakke
Owner
unassigned
Submitted by
Alexandros Theodotou
Severity
normal
A
A
Alexandros Theodotou wrote on 8 Jul 2020 23:47
(name . Guix patches)(address . guix-patches@gnu.org)
16c9b7c18396f37fd15cc570edb808f08dc8849f.camel@zrythm.org
Hi,

This patch adds the ADLPlug LV2 plugin.

Thanks,
Alex
From 9fb65e86d7d175b7680777fb74082491642bfe1c Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Wed, 8 Jul 2020 22:46:38 +0100
Subject: [PATCH] gnu: Add adlplug.

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

Toggle diff (55 lines)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 0b8b8df226..11cd0dc246 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1422,6 +1422,48 @@ sessions. Solfege is also designed to be extensible so you can easily write
your own lessons.")
(license license:gpl3+)))
+(define-public adlplug
+ (package
+ (name "adlplug")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jpcima/ADLplug.git")
+ (commit (string-append "v" version))
+ (recursive? #t))) ; uses 3rd party submodules
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0n9srdlgl1j528ap5xmllrqs1w6ibc5yf9sphvl1q9kjnizxrs2c"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:configure-flags `("-DADLplug_VST2=OFF"
+ "-DADLplug_VST3=OFF"
+ "-DADLplug_LV2=ON"
+ "-DADLplug_Standalone=ON"
+ "-DADLplug_Jack=ON"
+ "-DADLplug_CHIP=OPL3")))
+ (inputs
+ `(("alsa-lib" ,alsa-lib)
+ ("freetype" ,freetype)
+ ("jack" ,jack-1)
+ ("libx11" ,libx11)
+ ("libxcursor" ,libxcursor)
+ ("libxinerama" ,libxinerama)
+ ("libxrandr" ,libxrandr)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (synopsis "FM chip synthesizer plugin")
+ (description
+ "This package provides FM synthesizer plugins, based on
+OPL3 and OPN2 sound chip emulations. The emulations and the drivers are
+provided by libADLMIDI and libOPNMIDI.")
+ (home-page "https://github.com/jpcima/ADLplug")
+ (license license:boost1.0)))
+
(define-public powertabeditor
(package
(name "powertabeditor")
--
2.27.0
-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEESBMjhK0999huJUuDAi6uQjE9cPMFAl8GPv4ACgkQAi6uQjE9
cPNqvAf7BnvQEivuIFsKZAQtC/hbtuIcAetAWJ4iNeaIRkQCTrVPnveKzYRvN+95
eXVlj07+32Npt4dlEKE+9Sd1iNxYVoq+RbEMxEhE04ahevbgT9gNap2+pjUktUg1
WH+fd1P/O+wm8eiF/KOWuXsxWS0qj5tuJjsqPVq33qN4UKsxGouYoZ2mKPOMSgkw
kbxa70+b47WDAa6dwPNYKWl1xWUVeW+Udghxjc4GGigqWKyVQBcWgvLiAtkSWWkK
DbAcRtD0FVY4JcceB/ZKwYK0iZR3uzwDJpaWq0w2oOT9q4+CoxOkozIRt83k2JE9
LSkMnB+H2zPZj3IFMyhN4knosmU1eg==
=VW3/
-----END PGP SIGNATURE-----


M
M
Marius Bakke wrote on 21 Jul 2020 00:55
87365lhk49.fsf@gnu.org
Alexandros Theodotou <alex@zrythm.org> writes:

Toggle quote (4 lines)
> Hi,
>
> This patch adds the ADLPlug LV2 plugin.

[...]

Toggle quote (2 lines)
> * gnu/packages/music.scm (adlplug): New variable.

[...]
Toggle quote (12 lines)
> +(define-public adlplug
> + (package
> + (name "adlplug")
> + (version "1.0.1")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/jpcima/ADLplug.git")
> + (commit (string-append "v" version))
> + (recursive? #t))) ; uses 3rd party submodules

Is it possible to package these modules separately?

One of the submodules, uses a seemingly non-free license:


Interestingly, it becomes a free license (GPL3) once you exceed a
certain revenue!?

IANAL and only had a cursory look, but am not comfortable adding this
without a larger discussion. A good first step would be to package JUCE
separately and take it from there.

The other bundled packages seem fine, but it would be comforting to have
them in Guix even if this package needs the bundled versions. I also
think we should mention their licenses -- especially since vst3sdk is
available as either a proprietary license or GPL3, and taking the latter
implies that this package _also_ becomes GPL3.

(btw, the bundled fmt library is already available)

So, this will be a tricky one. Do you think you can look into packaging
the bundled components separately?
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl8WIOcACgkQoqBt8qM6
VPrahgf/QYXThvOKFx3O6Qk4uwX4A0yIGWo1nDK1CbHmBeN1PvkVilT8FoPv+5fZ
f77OOaTDH5ICZza457HrHjPz7oKJEgYN0VbCp5pNvRGurGsiyb8V7/uL3kNB5FBD
ZE5bi9YDeupLqcTpPIDf+YBWNykqaStwfM/zA0eGzOpl00Jz3VS1cXyoYAdY7Sdg
7wxnqHIOnM0KKOKxKgY7ovbRnAj6aD8HBcxvAmb8F/mU9+8a9fnjBEPt/WgXgwtm
yG6qXa3vre68omz4QS/N7sHMmz9uOBljJfAlAqta+Zf+9pz0SWR1R/7lqlmR4CK4
aLwA/UICyfZiT8xAWmH53nM5sYQ3kA==
=6Zxn
-----END PGP SIGNATURE-----

A
A
Alexandros Theodotou wrote on 21 Jul 2020 01:18
5153a083968f85ddc3efd61d912733e32ee4a329.camel@zrythm.org
Hi,

Thanks for the review.

On Tue, 2020-07-21 at 00:55 +0200, Marius Bakke wrote:
Toggle quote (18 lines)
> > + (uri (git-reference
> > + (url "https://github.com/jpcima/ADLplug.git")
> > + (commit (string-append "v" version))
> > + (recursive? #t))) ; uses 3rd party submodules
>
> Is it possible to package these modules separately?
>
> One of the submodules, uses a seemingly non-free license:
>
> https://juce.com/juce-5-license
>
> Interestingly, it becomes a free license (GPL3) once you exceed a
> certain revenue!?
>
> IANAL and only had a cursory look, but am not comfortable adding this
> without a larger discussion. A good first step would be to package
> JUCE
> separately and take it from there.
The thing is that this is a fork of JUCE with some extra commits. The
original JUCE doesn't include an LV2 exporter for example (after
ignoring requests and patches to add it for years, it's still not
so I think this fork adds the LV2 exporter among other things (I also
see various other commits that are not in other JUCE forks I know of).

Re the license: JUCE is dual-licened under a proprietary license and
GPL3+, and some modules are under the ISC license. adlplug has its
source code licensed under boost, but since it includes JUCE it's
essentially covered by the GPL3+

Toggle quote (8 lines)
>
> The other bundled packages seem fine, but it would be comforting to
> have
> them in Guix even if this package needs the bundled versions. I also
> think we should mention their licenses -- especially since vst3sdk is
> available as either a proprietary license or GPL3, and taking the
> latter
> implies that this package _also_ becomes GPL3.
Yes same as JUCE. I'll send an updated patch that mentions all the
licenses. It would be nice to have the libraries in Guix anyway but I
don't have much time/interest in them at the moment to do that.

Toggle quote (6 lines)
>
> (btw, the bundled fmt library is already available)
>
> So, this will be a tricky one. Do you think you can look into
> packaging
> the bundled components separately?
I checked them, and they seem to be fixed to specific commits and not
releases. I am not sure if there's something specific in those commits
that's not included in the releases that the plugin needs. I'd play it
safe and use the submodules here.

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

iQEzBAABCAAdFiEESBMjhK0999huJUuDAi6uQjE9cPMFAl8WJjEACgkQAi6uQjE9
cPOsYAf/YLfbWT8o0vibOZBMp7pnNj7eDV6OZ1UXQDz6by/6fWJs98Txpdn+9Xyy
PqcM7qKVqGx4BWpYqkBdR9vT5b91MfoDAn8vYly/S9f2aAWjdqTRLku26UcVRbXQ
a2EXwgIH816Og7x6BewjQkkS3cM2yhv9Zw+pifjrnOuYCeePi+6ii5Lne6vUWHxs
T5TLf0vIRU/39wYIH5WdsjyF6IXrqPE9B+j7joQ9qOpN84Z2P+erEJeI7dlzzXT8
ia4W1Yp2EhERYej6vIq67rfIHlPcvXWh404XHHeG83sPZ96EmoMS20pUwdErys6q
XO7hUJApFcpGt2io49vJL06X7bj+bw==
=MqoS
-----END PGP SIGNATURE-----


?