unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#42283] [PATCH] gnu: Add adlplug.
@ 2020-07-08 21:47 Alexandros Theodotou
  2020-07-20 22:55 ` Marius Bakke
  0 siblings, 1 reply; 3+ messages in thread
From: Alexandros Theodotou @ 2020-07-08 21:47 UTC (permalink / raw)
  To: 42283


[-- Attachment #1.1: Type: text/plain, Size: 65 bytes --]

Hi,

This patch adds the ADLPlug LV2 plugin.

Thanks,
Alex

[-- Attachment #1.2: 0001-gnu-Add-adlplug.patch --]
[-- Type: text/x-patch, Size: 2232 bytes --]

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(+)

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


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#42283] [PATCH] gnu: Add adlplug.
  2020-07-08 21:47 [bug#42283] [PATCH] gnu: Add adlplug Alexandros Theodotou
@ 2020-07-20 22:55 ` Marius Bakke
  2020-07-20 23:18   ` Alexandros Theodotou
  0 siblings, 1 reply; 3+ messages in thread
From: Marius Bakke @ 2020-07-20 22:55 UTC (permalink / raw)
  To: Alexandros Theodotou, 42283

[-- Attachment #1: Type: text/plain, Size: 1487 bytes --]

Alexandros Theodotou <alex@zrythm.org> writes:

> Hi,
>
> This patch adds the ADLPlug LV2 plugin.

[...]

> * gnu/packages/music.scm (adlplug): New variable.

[...]
  
> +(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:

  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 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?

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [bug#42283] [PATCH] gnu: Add adlplug.
  2020-07-20 22:55 ` Marius Bakke
@ 2020-07-20 23:18   ` Alexandros Theodotou
  0 siblings, 0 replies; 3+ messages in thread
From: Alexandros Theodotou @ 2020-07-20 23:18 UTC (permalink / raw)
  To: Marius Bakke, 42283

[-- Attachment #1: Type: text/plain, Size: 2441 bytes --]

Hi,

Thanks for the review.

On Tue, 2020-07-21 at 00:55 +0200, Marius Bakke wrote:
> > +        (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
there. fun thread: https://github.com/juce-framework/JUCE/issues/123 )
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+

> 
> 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.

> 
> (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

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-07-20 23:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-08 21:47 [bug#42283] [PATCH] gnu: Add adlplug Alexandros Theodotou
2020-07-20 22:55 ` Marius Bakke
2020-07-20 23:18   ` Alexandros Theodotou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).