Recursive dependency when selecting vapoursynth as an option in ffmpeg

Jan Beich jbeich at FreeBSD.org
Sun May 10 13:12:53 UTC 2020


Paul Webster <paul.g.webster at googlemail.com> writes:

> As the title says, if you enable:
>
>  
>
> [ ] VAPOURSYNTH       VapourSynth demuxer
>
>  
>
> Within ‘make config’ in ffmpeg, it will try to pull:
>
>  
>
> /usr/ports/multimedia/vapoursynth
>
>  
>
> Which has ffmpeg as both a B and R Dep

And? Are you proposing to remove ffmpeg option like r490300?
Another example is print/freetype2 which passes --without-harfbuzz.

If you build manually then recursive dependencies are not an issue e.g.,

  1. Build multimedia/ffmpeg with VAPOURSYNTH option disabled
  2. Build multimedia/vapoursynth with ASS option enabled
  3. Build multimedia/ffmpeg with VAPOURSYNTH option enabled

Recursive dependencies are a long-standing unsolved framework issue that
requires ports being able to specifiy options in dependencies e.g.,

Index: multimedia/vapoursynth/Makefile
===================================================================
--- multimedia/vapoursynth/Makefile	(revision 534294)
+++ multimedia/vapoursynth/Makefile	(working copy)
@@ -74,8 +74,9 @@ VSSCRIPT_CONFIGURE_ENABLE=	vsscript
 # PLUGINS group
 
 ASS_DESC=			Subtitles rendering via libass
-ASS_LIB_DEPENDS=		libavcodec.so:multimedia/ffmpeg \
-				libass.so:multimedia/libass
+ASS_BUILD_DEPENDS=		ffmpeg>0:multimedia/ffmpeg[VAPOURSYNTH=off]
+ASS_RUN_DEPENDS=		ffmpeg>0:multimedia/ffmpeg
+ASS_LIB_DEPENDS=		libass.so:multimedia/libass
 ASS_USES=			iconv
 ASS_CONFIGURE_ENABLE=		subtext
 
or

Index: multimedia/vapoursynth/Makefile
===================================================================
--- multimedia/vapoursynth/Makefile	(revision 534294)
+++ multimedia/vapoursynth/Makefile	(working copy)
@@ -74,7 +74,7 @@ VSSCRIPT_CONFIGURE_ENABLE=	vsscript
 # PLUGINS group
 
 ASS_DESC=			Subtitles rendering via libass
-ASS_LIB_DEPENDS=		libavcodec.so:multimedia/ffmpeg \
+ASS_LIB_DEPENDS=		libavcodec.so:multimedia/ffmpeg[!VAPOURSYNTH=build] \
 				libass.so:multimedia/libass
 ASS_USES=			iconv
 ASS_CONFIGURE_ENABLE=		subtext


More information about the freebsd-multimedia mailing list