Message ID | 16c9b7c18396f37fd15cc570edb808f08dc8849f.camel@zrythm.org |
---|---|
State | New |
Headers | show |
Series | [bug#42283] gnu: Add adlplug. | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | fail | View Laminar job |
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?
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
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