Re: Installed audio/alsa-plugins and dependencies

From: John Marino (FreeBSD) <freebsd_at_marino.st>
Date: Tue, 20 Feb 2024 20:23:44 UTC
I get it now.

e.g LIB_DEPENDS.speex= ${LIB_DEPENDS} libspeexdsp.so:audio/speexdsp

This is saying the speex subpackage needs speexdsp.

Let me look at this more in depth.

On Tue, Feb 20, 2024 at 1:57 PM Jan Beich <jbeich@freebsd.org> wrote:
>
> jonc@chen.org.nz writes:
>
> >>> It appears to be missing the SUBPACKAGE dependencies. Is this
> >>> intentional, or a bug?
> >>
> >> Intentional. See pkg-message:
> >>
> >> Plugins with extra dependencies moved into subpackages:
> >> - alsa-plugins-ffmpeg
> >> - alsa-plugins-jack
> >> - alsa-plugins-pulseaudio
> >> - alsa-plugins-samplerate
> >> - alsa-plugins-speex
> >
> > In my opinion, that's _not_ correct. When we install any
> > non-SUBPACKAGE package, anything listed in LIB_DEPENDS or USES are
> > automatically listed as package dependencies. However, if I install
> > audio/alsa-plugins, the only way I know what dependencies are required
> > is to by consulting /usr/ports/audio/alsa-plugins/Makefile. And if
> > audio/alsa-plugins was to be compiled with non-standard OPTIONS, it's
> > impossible to tell what dependencies are _actually_ required.
>
> Port dependencies are not package dependencies. With subpackages a
> single port can build multiple packages. As such, runtime dependencies[1]
> and files are split between multiple packages. However, all build-only
> dependencies are shared and not recorded in binary packages. When you
> build from ports you build every subpackage[2], so you need to use
> options to limit dependencies.
>
> If you want to install only "alsa-plugins" (aka "main" subpackage)
> without extra plugins/dependencies just do it like before with all port
> options unset.
>
> [1] what "make run-depends-list" shows
> [2] until https://reviews.freebsd.org/D43789
>