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