diff mbox series

[bug#42279] gnu: Add distrho-ports.

Message ID ccaac6730e03d4c7719c480c6d6711d6bc9e14f8.camel@zrythm.org
State New
Headers show
Series [bug#42279] gnu: Add distrho-ports. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Alexandros Theodotou July 8, 2020, 9:27 p.m. UTC
Hi,

This patch adds distrho-ports, a collection of LV2 plugins ported from
other platforms/frameworks. 

The meson build system was recently added and not released yet (it used
an old version of premake before and failed to build on guix).

Thanks,
Alex

Comments

Marius Bakke July 20, 2020, 10:07 p.m. UTC | #1
Alexandros Theodotou <alex@zrythm.org> writes:

> Hi,
>
> This patch adds distrho-ports, a collection of LV2 plugins ported from
> other platforms/frameworks. 
>
> The meson build system was recently added and not released yet (it used
> an old version of premake before and failed to build on guix).

[...]

> * gnu/packages/music.scm (distrho-ports): New variable.

[...]
  
> +(define-public distrho-ports
> +  ;; the previous release required a version of premake not present
> +  ;; in guix. it has now been ported to meson but not released yet

Please use capitalizations like in normal sentences, and for names such
as Guix and Meson.

Actually it seems to be released now:

https://github.com/DISTRHO/DISTRHO-Ports/releases/tag/2020-07-14

> +      (synopsis "Collection of audio plugins and LV2 ports")
> +      (description
> +       "DISTRHO is a project with the goal of making cross-platform audio
> +  plugins and GNU/Linux ports.
> +  This package includes HiReSam, LUFSMeter-Multi, LUFSMeter, Arctican Function,
> +  Arctican Pilgrim, Dexed, dRowAudio Distortion, dRowAudio Distortion Shaper,
> +  dRowAudio Flanger, dRowAudioReverb, dRowAudio Tremolo, DrumSynth, easySSP,
> +  EQuinox, JUCE Demo Plugin, JUCE OPL, Klangfalter, Luftikus, Obxd, Pitched
> +  Delay, Refine, Stereo Source Separation, TAL Dub 3, TAL Noise Maker, TAL
> +  Reverb 2, TAL Reverb 3, TAL Reverb, TAL Vocoder 2, Temper, Vex and
> +  Wolpertinger.")
> +      (home-page "http://distrho.sourceforge.net/ports")
> +      (license (list license:gpl2      ; found in doc directory
> +                     license:lgpl3+    ; found in doc directory
> +                     license:gpl3)))))  ; mentioned in meson file

This is a problem: GPL3 is famously incompatible with GPL2.  If these
plugins are licensed separately it would be good to list the license for
each and take it from there.

Even better (I think?) is to package each plugin separately.  Then users
can choose whether to combine these incompatibly-licensed plugins, but
we as a distribution can not (and probably not DISTRHO either).

Not sure what to do about it.  Ideas?
Alexandros Theodotou July 20, 2020, 10:24 p.m. UTC | #2
Hi,

Thanks for the review.

On Tue, 2020-07-21 at 00:07 +0200, Marius Bakke wrote:
> > +  Wolpertinger.")
> > +      (home-page "http://distrho.sourceforge.net/ports")
> > +      (license (list license:gpl2      ; found in doc directory
> > +                     license:lgpl3+    ; found in doc directory
> > +                     license:gpl3)))))  ; mentioned in meson file
> 
> This is a problem: GPL3 is famously incompatible with GPL2.  If these
> plugins are licensed separately it would be good to list the license
> for
> each and take it from there.
> 
> Even better (I think?) is to package each plugin separately.  Then
> users
> can choose whether to combine these incompatibly-licensed plugins,
> but
> we as a distribution can not (and probably not DISTRHO either).
> 
> Not sure what to do about it.  Ideas?

Why is it a problem? It's only a problem if you link them together
afaik. The plugins that this project produces are all separate
binaries, each under its own license.

I think we should just list the license for each included plugin. I'm a
bit against making separate packages - it would be a pain to maintain
and the plugins don't take up much disk space.

Thanks,
Alex
Marius Bakke July 20, 2020, 10:59 p.m. UTC | #3
Alexandros Theodotou <alex@zrythm.org> writes:

> Hi,
>
> Thanks for the review.
>
> On Tue, 2020-07-21 at 00:07 +0200, Marius Bakke wrote:
>> > +  Wolpertinger.")
>> > +      (home-page "http://distrho.sourceforge.net/ports")
>> > +      (license (list license:gpl2      ; found in doc directory
>> > +                     license:lgpl3+    ; found in doc directory
>> > +                     license:gpl3)))))  ; mentioned in meson file
>> 
>> This is a problem: GPL3 is famously incompatible with GPL2.  If these
>> plugins are licensed separately it would be good to list the license
>> for
>> each and take it from there.
>> 
>> Even better (I think?) is to package each plugin separately.  Then
>> users
>> can choose whether to combine these incompatibly-licensed plugins,
>> but
>> we as a distribution can not (and probably not DISTRHO either).
>> 
>> Not sure what to do about it.  Ideas?
>
> Why is it a problem? It's only a problem if you link them together
> afaik. The plugins that this project produces are all separate
> binaries, each under its own license.

Right.  If they don't share code it's probably okay.

> I think we should just list the license for each included plugin. I'm a
> bit against making separate packages - it would be a pain to maintain
> and the plugins don't take up much disk space.

Listing the license of each plugin sounds good to me.
Alexandros Theodotou Jan. 4, 2021, 11:30 a.m. UTC | #4
Hi,

I'm trying to build the latest version but I'm running into issues with
fonts not showing (same issues as before, I just didn't bother until
now). Attaching the current package definition.

After building, I am running the plugins like:
`LV2_PATH=/gnu/store/z2xjjfpaybyv1byal7nxrvqxd7b1hjqh-distrho-ports-
2020-12-27/lib/lv2 jalv.gtk3 urn:juce:TalFilter2`
This requires JACK to be running and jalv to be installed. I'm not sure
if there's an easier way to test.

The problem I am having is described here, with a screenshot:
https://github.com/DISTRHO/DISTRHO-Ports/issues/63

Strace log is included in that issue.

How can I fix this?

Thanks,
Alex
diff mbox series

Patch

From 162c01597dac51a1a2152ea88abe7fa917039d67 Mon Sep 17 00:00:00 2001
From: Alexandros Theodotou <alex@zrythm.org>
Date: Wed, 8 Jul 2020 22:24:53 +0100
Subject: [PATCH] gnu: Add distrho-ports.

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

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 7f1f3f3e9a..490f010c4a 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1076,6 +1076,52 @@  Guile.")
     ;; more than an hour of silence, so double the max silent time.
     (properties `((max-silent-time . 7200)))))
 
+(define-public distrho-ports
+  ;; the previous release required a version of premake not present
+  ;; in guix. it has now been ported to meson but not released yet
+  (let ((commit "a953bed05844d4a0ba349f75c75b56a430c8b11a")
+        (revision "1"))
+    (package
+      (name "distrho-ports")
+      (version (git-version "2018-04-16" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/DISTRHO/DISTRHO-Ports.git")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "03ji41i6dpknws1vjwfxnl8c8bgisv2ng8xa4vqy2473k7wgdw4v"))))
+      (build-system meson-build-system)
+      (inputs
+       `(("alsa-lib" ,alsa-lib)
+         ("freetype" ,freetype)
+         ("mesa" ,mesa)
+         ("libxrender" ,libxrender)
+         ("libxcursor" ,libxcursor)
+         ("xorgproto" ,xorgproto)
+         ("libx11" ,libx11)))
+      (native-inputs
+       `(("lv2" ,lv2)
+         ("pkg-config" ,pkg-config)))
+      (synopsis "Collection of audio plugins and LV2 ports")
+      (description
+       "DISTRHO is a project with the goal of making cross-platform audio
+  plugins and GNU/Linux ports.
+  This package includes HiReSam, LUFSMeter-Multi, LUFSMeter, Arctican Function,
+  Arctican Pilgrim, Dexed, dRowAudio Distortion, dRowAudio Distortion Shaper,
+  dRowAudio Flanger, dRowAudioReverb, dRowAudio Tremolo, DrumSynth, easySSP,
+  EQuinox, JUCE Demo Plugin, JUCE OPL, Klangfalter, Luftikus, Obxd, Pitched
+  Delay, Refine, Stereo Source Separation, TAL Dub 3, TAL Noise Maker, TAL
+  Reverb 2, TAL Reverb 3, TAL Reverb, TAL Vocoder 2, Temper, Vex and
+  Wolpertinger.")
+      (home-page "http://distrho.sourceforge.net/ports")
+      (license (list license:gpl2      ; found in doc directory
+                     license:lgpl3+    ; found in doc directory
+                     license:gpl3)))))  ; mentioned in meson file
+
 (define-public non-sequencer
   ;; The latest tagged release is three years old and uses a custom build
   ;; system, so we take the last commit.
-- 
2.27.0