Subject: Re: bug#64113: [PATCH] gnu: Add missing native search paths to audio plugins.

From: Maxim Cournoyer <[email-masked]>
Date: Sat, 02 Sep 2023 14:37:49 -0400

Hello,

Sughosha <[email-masked]> writes:

> * gnu/packages/audio.scm: Add native-search-paths to autotalent,
> caps-plugins-lv2, infamous-plugins, swh-plugins, swh-plugins-lv2, amb-plugins,
> mcp-plugins, rev-plugins, fil-plugins, ste-plugins, vco-plugins, wah-plugins,
> g2reverb, ladspa-bs2b, noise-repellent and lv2-speech-denoiser.
> * gnu/packages/music.scm: Do the same to fluida-lv2, surge-synth, ninjas2,
> bsequencer, bchoppr, bshapr, bjumblr, bschaffi, synthv1, drumkv1, samplv1,
> padthv1, amsynth, paulxstretch, yoshimi, ams-lv2, synthpod, gx-guvnor-lv2,
> gx-vbass-preamp-lv2, rkrlv2, mod-utilities, qmidiarp, liquidsfz, sfizz, fabla,
> sorcer, artyfx, lsp-plugins, sherlock-lv2, foo-yc20, spectacle-analyzer,
> x42-plugins, zam-plugins, geonkick, avldrums-lv2, helm, dragonfly-reverb,
> zplugins, remid-lv2, vl1-emulator, regrader, fogpad, tap-lv2, wolf-shaper,
> wolf-spectrum and shiru-lv2.

It's best to keep changes self-contained *per package*, i.e. one commit
per package changed.

>  gnu/packages/audio.scm |  64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  gnu/packages/music.scm | 220 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 284 insertions(+)
>
> diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
> index 58a981b..564f6bf 100644
> --- a/gnu/packages/audio.scm
> +++ b/gnu/packages/audio.scm
> @@ -1182,6 +1182,10 @@ (define-public autotalent
>               #t)))))
>      (inputs
>       (list ladspa))
> +    (native-search-paths
> +     (list (search-path-specification
> +            (variable "LADSPA_PATH")
> +            (files '("lib/ladspa")))))

I think since these search paths appear to be reused often, they should
be defined in the (guix search-paths) modules for easy reuse.

>      (home-page "https://github.com/moddevices/caps-lv2")
>      (synopsis "LV2 port of the CAPS audio plugin collection")
>      (description
> @@ -1388,6 +1396,10 @@ (define-public infamous-plugins
>       (list cairo fftwf lv2 ntk zita-resampler))
>      (native-inputs
>       (list pkg-config))
> +    (native-search-paths
> +     (list (search-path-specification
> +            (variable "LV2_PATH")
> +            (files '("lib/lv2")))))
>      (home-page "https://ssj71.github.io/infamousPlugins")
>      (synopsis "LV2 plugins for live use")
>      (description
> @@ -1453,6 +1465,10 @@ (define-public swh-plugins
>             which))
>      (inputs
>       (list fftwf perl-xml-parser))
> +    (native-search-paths
> +     (list (search-path-specification
> +            (variable "LADSPA_PATH")
> +            (files '("lib/ladspa")))))
>      (build-system gnu-build-system)
>      (home-page "http://plugin.org.uk")
>      (synopsis "The SWH Plugins package for the LADSPA plugin system")
> @@ -1493,6 +1509,10 @@ (define-public swh-plugins-lv2
>       (list lv2 fftwf))
>      (native-inputs
>       (list libxslt pkg-config))
> +    (native-search-paths
> +     (list (search-path-specification
> +            (variable "LV2_PATH")
> +            (files '("lib/lv2")))))

You seem to be adding these search paths to *plugins*, which is
unexpected from my understanding: a plugins by itself does nothing; the
search paths should rather be defined on the consumer of the plugins
(e.g. Ardour), no?

-- 
Thanks,
Maxim