Thursday, January 02, 2020

Re: UPDATE: graphviz-2.40.1

On 2020/01/01 18:22, Edd Barrett wrote:
> On Wed, Jan 01, 2020 at 05:33:43PM +0000, Stuart Henderson wrote:
> > While the Tcl .so modules in graphviz no longer record the dependency
> > against the Tcl libraries any more (not sure why this changed but I
> > don't really feel like digging into it and that's not so important :)
> > they are still built against the ABI in Tcl's headers so they will be
> > affected by ABI changes in Tcl. So I think it is more correct to list
> > the "extra" WANTLIB to ensure that updates are done when necessary.
> > Just something like this would do:
> >
> > # "extra" - Tcldot is built against Tcl headers
> > WANTLIB += ${MODTK_WANTLIB}
>
> Understood, but upon further investigation, it seems tk is not actually
> used at all.
>
> If we look at the commit I posted earlier in the thread, we can see the
> check for tk being removed entirely and the tk parts of the build being
> disabled.
>
> > remove tkspline,and all tk code - its not used for graphs, and maybe problematic on OSx
> > https://gitlab.com/graphviz/graphviz/commit/244270c75ff686ea256c7659ba29de822e8dae69
>
> So unless I'm mistaken, we can kill anything tk-related. We do still
> need tcl around at build time. Before it was pulled in by
> ${MODTK_LIB_DEPENDS} so we have to add an explicit ${BUILD_DEPEND}.
>
> After this, port-lib-depends-check is happy and one small change occurs
> to the PLIST:
> ```
> -lib/tcl${MODTK_VERSION}/
> -lib/tcl${MODTK_VERSION}/graphviz
> +lib/tcl${MODTCL_VERSION}/
> +lib/tcl${MODTCL_VERSION}/graphviz
> ```
>
> What do you think? If I'm wrong, we can go the "extra" route.

OK so in that case I think you can get rid of specifically-Tk-related things
(--with-wish, TKCONFIG=) and change the other from Tk to Tcl.

$ grep -R '#include.*<tcl'
tclpkg/tclpathplan/tclpathplan.c:#include <tcl.h>
tclpkg/tcldot/tcldot.h:#include <tcl.h>
tclpkg/gv/gv_tcl_init.c:#include <tcl.h>
tclpkg/gv/gv_tcl.cpp:#include <tcl.h>
tclpkg/gdtclft/gdtclft.c:#include <tcl.h>

-> so it's built against tcl abi and does still need the Extra WANTLIB.

No comments:

Post a Comment