Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 May 2020 15:12:50 +0200
From:      Jan Beich <jbeich@FreeBSD.org>
To:        Paul Webster <paul.g.webster@googlemail.com>
Cc:        "multimedia@FreeBSD.org" <multimedia@FreeBSD.org>
Subject:   Re: Recursive dependency when selecting vapoursynth as an option in ffmpeg
Message-ID:  <a72g-djcd-wny@FreeBSD.org>
In-Reply-To: <5eb7f4df.1c69fb81.b1c79.0073@mx.google.com> (Paul Webster's message of "Sun, 10 May 2020 13:34:37 %2B0100")
References:  <5eb7f4df.1c69fb81.b1c79.0073@mx.google.com>

index | next in thread | previous in thread | raw e-mail

Paul Webster <paul.g.webster@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


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a72g-djcd-wny>