ports/118094: [PATCH]graphics/graphviz: misc. problems

bf bf2006a at yahoo.com
Sat Nov 17 01:40:01 UTC 2007


>Number:         118094
>Category:       ports
>Synopsis:       [PATCH]graphics/graphviz: misc. problems
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 17 01:40:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     bf
>Release:        6.2-Stable i386
>Organization:
>Environment:
>Description:
Several minor problems exist with current port:

1) WITH_TCL doesn't build WITHOUT_TK on my system, and the extra pkg-plist files for the two options are conflated. Also, it seems that WITH_TK should set USE_TK instead of USE_TK_BUILD.  As a crude fix, combine the two options.

2) The port's configure script picks up hidden dependencies on ming and libgnomeui if these are installed within the search path, and installs extra files not in the pkg-plist if ming is present.  Make these dependencies explicit with options. Xpm is also autoconfigured: recognize this.

3) Pangocairo support shouldn't require the gtk plugin.  Separate the two.

4) Enable some lneato options (*COLA options).

2.16.x is out, but I thought it best to submit these proposed changes now because of the freeze.  The resulting patch is a bit larger than the actual changes require, because I sorted the original options for my own convenience.  Sorry about the mess:

diff -ruN graphviz.orig/Makefile graphviz/Makefile
--- graphviz.orig/Makefile	Thu Nov 15 18:55:33 2007
+++ graphviz/Makefile	Thu Nov 15 22:32:38 2007
@@ -7,7 +7,7 @@
 
 PORTNAME=	graphviz
 PORTVERSION=	2.14.1
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	graphics tk84
 MASTER_SITES=	http://www.graphviz.org/pub/graphviz/ARCHIVE/ \
 		http://mirror.inerd.com/FreeBSD/distfiles/${PORTNAME}/
@@ -67,82 +67,135 @@
 
 USE_LDCONFIG=	${PREFIX}/lib/${PORTNAME}
 
-OPTIONS=	TK "Build with TK support" on \
-		XPM "Build with XPM support" on \
+OPTIONS=	DIGCOLA "DIGCOLA features in neato layout engine" off \
+		GNOMEUI  "build with libgnomeui support" off \
+		GTK "build with gtk plugin" off \
+		GUILE "Guile bindings (swig)" off \
 		ICONV "Build with ICONV support" on \
-		NLS "Build with gettext support" on \
-		PANGOCAIRO "build with pangocairo support (gtk)" off \
+		IPSEPCOLA "IPSEPCOLA features in neato layout engine" off \
+		LUA "Lua bindings (swig)" off \
+		MING "Build with ming plugin" off \
+		NLS "Build with gettext support" off \
+		PANGOCAIRO "build with pangocairo support" off \
 		PERL "Perl bindings (swig)" off \
 		PHP "PHP bindings (swig)" off \
 		PYTHON "Python bindings (swig)" off \
 		RUBY "Ruby bindings (swig)" off \
-		LUA "Lua bindings (swig)" off \
-		TCL "TCL bindings (swig)" off \
-		GUILE "Guile bindings (swig)" off
+		TK "Build with TK support (swig)" off \
+		XPM "Build with XPM support" off
 
 .include <bsd.port.pre.mk>
 
 CONFIGURE_ARGS+=	--program-transform-name="s/x/x/" \
-		--enable-dependency-tracking \
-		--with-libgd \
-		--with-fontconfigincludedir=${X11BASE}/include \
-		--with-fontconfiglibdir=${X11BASE}/lib \
-		--disable-io --disable-ocaml --disable-java \
-		--disable-sharp
+			--enable-dependency-tracking \
+			--with-libgd \
+			--with-fontconfigincludedir=${X11BASE}/include \
+			--with-fontconfiglibdir=${X11BASE}/lib \
+			--disable-io --disable-ocaml --disable-java \
+			--disable-sharp
 
 CONFIGURE_ENV+=	CFLAGS="${CFLAGS}" \
 		CPPFLAGS="${CPPFLAGS}" \
 		LDFLAGS="${LDFLAGS}" \
 		MISSING=${TRUE}
 
-.if !defined(WITHOUT_TK)
-USE_TK_BUILD=	84
-.include "${PORTSDIR}/Mk/bsd.tcl.mk"
-CONFIGURE_ARGS+=	--with-tclsh=${TCLSH} \
-		--with-wish=${WISH}
-CONFIGURE_ENV+=	TCLCONFIG="${TCL_LIBDIR}/tclConfig.sh" \
-		TKCONFIG="${TK_LIBDIR}/tkConfig.sh"
-MANN=		gdtclft.n tcldot.n tkspline.n
+.if defined(WITH_DIGCOLA)
+CONFIGURE_ARGS+=	--with-digcola
 .else
-.if defined(WITH_TCL)
-USE_TCL_BUILD=	84
-.include "${PORTSDIR}/Mk/bsd.tcl.mk"
-CONFIGURE_ARGS+=	--with-tclsh=${TCLSH}
-CONFIGURE_ENV+=	TCLCONFIG="${TCL_LIBDIR}/tclConfig.sh"
+CONFIGURE_ARGS+=	--without-digcola
+.if defined(WITH_IPSEPCOLA)
+IGNORE= 		option WITH_DIGCOLA is required for option WITH_IPSEPCOLA
 .endif
 .endif
 
-.if !defined(WITHOUT_ICONV)
+.if defined(WITH_IPSEPCOLA)
+CONFIGURE_ARGS+=	--with-ipsepcola
+.else
+CONFIGURE_ARGS+=	--without-ipsepcola
+.endif
+
+.if defined(WITH_ICONV)
 USE_ICONV=	yes
-CONFIGURE_ARGS+=	--with-iconvlibdir=${LOCALBASE}/lib
+CONFIGURE_ARGS+=	--with-iconvlibdir=${LOCALBASE}/lib \
+			--with-iconvincludedir=${LOCALBASE}/include
+.else
+CONFIGURE_ARGS+=	--without-libiconv-prefix
 .endif
 
-.if !defined(WITHOUT_XPM)
-USE_XPM=	yes
-MAN1+=		lefty.1
-PLIST_SUB+=	WITH_XPM=""
+.if defined(WITH_MING)
+CONFIGURE_ARGS+=	--with-ming
+PLIST_SUB+=		WITH_MING=""
+LIB_DEPENDS+=		ming.4:${PORTSDIR}/graphics/ming
 .else
-PLIST_SUB+=	WITH_XPM="@comment "
+CONFIGURE_ARGS+=	--without-ming
+PLIST_SUB+=		WITH_MING="@comment "
 .endif
 
-.if !defined(WITHOUT_NLS)
+.if defined(WITH_NLS)
 USE_GETTEXT=	yes
 .else
 CONFIGURE_ARGS+=	--disable-nls
 .endif
 
 .if defined(WITH_PANGOCAIRO)
-CONFIGURE_ARGS+=	--with-gtk --with-pangocairo
+CONFIGURE_ARGS+=	--with-pangocairo
 PLIST_SUB+=		WITH_PANGOCAIRO=""
-USE_GNOME=	gtk20 pango
+USE_GNOME=		pango
 .include "${PORTSDIR}/Mk/bsd.gnome.mk"
 .else
-CONFIGURE_ARGS+=	--with-pangocairo=no
+CONFIGURE_ARGS+=	--without-pangocairo
 PLIST_SUB+=		WITH_PANGOCAIRO="@comment "
+.if defined(WITH_GTK)
+IGNORE= 		option WITH_PANGOCAIRO is required for option WITH_GTK
+.endif
+.endif
+
+.if defined(WITH_GTK)
+CONFIGURE_ARGS+=	--with-gtk
+PLIST_SUB+=		WITH_GTK=""
+USE_GNOME+=		gtk20
+.else
+CONFIGURE_ARGS+=	--without-gtk
+PLIST_SUB+=		WITH_GTK="@comment "
+.if defined(WITH_GNOMEUI)
+IGNORE=			option WITH_GTK is required for option WITH_GNOMEUI
+.endif
+.endif
+
+.if defined(WITH_GNOMEUI)
+CONFIGURE_ARGS+=	--with-gnomeui
+USE_GNOME+=		libgnomeui
+.else
+CONFIGURE_ARGS+=	--without-gnomeui
+.endif
+
+.if defined(WITH_TK)
+USE_TK= 84
+.include "${PORTSDIR}/Mk/bsd.tcl.mk"
+CONFIGURE_ARGS+=	--with-tclsh=${TCLSH} \
+			--with-wish=${WISH} \
+			--enable-tcl
+CONFIGURE_ENV+=	TCLCONFIG="${TCL_LIBDIR}/tclConfig.sh" \
+		TKCONFIG="${TK_LIBDIR}/tkConfig.sh"
+MANN+=		gdtclft.n tcldot.n tkspline.n gv_tcl.n
+PLIST_SUB+=		WITH_TK=""
+.else
+CONFIGURE_ARGS+=	--without-tclsh \
+			--without-wish \
+			--disable-tcl
+PLIST_SUB+=		WITH_TK="@comment "
+.endif
+
+.if exists(${LOCALBASE}/lib/libXpm.so) || defined(WITH_XPM)
+USE_XPM=	yes
+MAN1+=		lefty.1
+PLIST_SUB+=	WITH_XPM=""
+.else
+PLIST_SUB+=	WITH_XPM="@comment "
 .endif
 
 .if defined(WITH_PERL) || defined(WITH_PHP) || defined(WITH_PYTHON) || \
-    defined(WITH_RUBY) || defined(WITH_LUA) || defined(WITH_TCL) || defined(WITH_GUILE)
+    defined(WITH_RUBY) || defined(WITH_LUA) || defined(WITH_TK) || defined(WITH_GUILE)
 BUILD_DEPENDS+=		swig1.3:${PORTSDIR}/devel/swig13
 RUN_DEPENDS+=		swig1.3:${PORTSDIR}/devel/swig13
 CONFIGURE_ARGS+=	--enable-swig
@@ -152,82 +205,73 @@
 CONFIGURE_ENV+=		SWIG="/nonexistent"
 .endif
 
-. if !defined(WITH_PERL)
-CONFIGURE_ARGS+=	--disable-perl
-PLIST_SUB+=		WITH_PERL="@comment "
-. else
+.if defined(WITH_GUILE)
+CONFIGURE_ARGS+=	--enable-guile
+PLIST_SUB+=		WITH_GUILE=""
+LIB_DEPENDS+=		guile.15:${PORTSDIR}/lang/guile
+MANN+=			gv_guile.n
+.else
+CONFIGURE_ARGS+=	--disable-guile
+PLIST_SUB+=		WITH_GUILE="@comment "
+.endif
+
+.if defined(WITH_LUA)
+CONFIGURE_ARGS+=	--enable-lua
+PLIST_SUB+=		WITH_LUA=""
+USE_LUA=		yes
+.include "${PORTSDIR}/Mk/bsd.lua.mk"
+CFLAGS+=		-I${LUA_INCDIR}
+LDFLAGS+=		-L${LUA_LIBDIR} -lm
+CONFIGURE_ENV+=		LUA="${LUA_BINDIR}/lua"
+MANN+=			gv_lua.n
+.else
+CONFIGURE_ARGS+=	--disable-lua
+PLIST_SUB+=		WITH_LUA="@comment "
+.endif
+
+.if defined(WITH_PERL)
 CONFIGURE_ARGS+=	--enable-perl
 PLIST_SUB+=		WITH_PERL=""
-USE_PERL5=	yes
+USE_PERL5=		yes
 MANN+=			gv_perl.n
-. endif
+.else
+CONFIGURE_ARGS+=	--disable-perl
+PLIST_SUB+=		WITH_PERL="@comment "
+.endif
 
-. if !defined(WITH_PHP)
-CONFIGURE_ARGS+=	--disable-php
-PLIST_SUB+=		WITH_PHP="@comment "
-. else
+.if defined(WITH_PHP)
 CONFIGURE_ARGS+=	--enable-php
 PLIST_SUB+=		WITH_PHP=""
-USE_PHP=	yes
-USE_PHP_BUILD=	yes
+USE_PHP=		yes
+USE_PHP_BUILD=		yes
 CPPFLAGS+=		-I${LOCALBASE}/include/php/Zend
 MANN+=			gv_php.n
-. endif
+.else
+CONFIGURE_ARGS+=	--disable-php
+PLIST_SUB+=		WITH_PHP="@comment "
+.endif
 
-. if !defined(WITH_PYTHON)
-CONFIGURE_ARGS+=	--disable-python
-PLIST_SUB+=		WITH_PYTHON="@comment "
-. else
+.if defined(WITH_PYTHON)
 CONFIGURE_ARGS+=	--enable-python
 PLIST_SUB+=		WITH_PYTHON=""
 USE_PYTHON_BUILD=	yes
 .include "${PORTSDIR}/Mk/bsd.python.mk"
 LDFLAGS+=		"-L${PYTHON_LIBDIR}"
 MANN+=			gv_python.n
-. endif
+.else
+CONFIGURE_ARGS+=	--disable-python
+PLIST_SUB+=		WITH_PYTHON="@comment "
+.endif
 
-. if !defined(WITH_RUBY)
-CONFIGURE_ARGS+=	--disable-ruby
-PLIST_SUB+=		WITH_RUBY="@comment "
-. else
+.if defined(WITH_RUBY)
 CONFIGURE_ARGS+=	--enable-ruby
 PLIST_SUB+=		WITH_RUBY=""
-USE_RUBY=	yes
+USE_RUBY=		yes
 .include "${PORTSDIR}/Mk/bsd.ruby.mk"
-. endif
-
-. if !defined(WITH_LUA)
-CONFIGURE_ARGS+=	--disable-lua
-PLIST_SUB+=		WITH_LUA="@comment "
-. else
-CONFIGURE_ARGS+=	--enable-lua
-PLIST_SUB+=		WITH_LUA=""
-USE_LUA=		yes
-.include "${PORTSDIR}/Mk/bsd.lua.mk"
-CFLAGS+=		-I${LUA_INCDIR}
-LDFLAGS+=		-L${LUA_LIBDIR} -lm
-CONFIGURE_ENV+=		LUA="${LUA_BINDIR}/lua"
-MANN+=			gv_lua.n
-. endif
-
-. if !defined(WITH_TCL)
-CONFIGURE_ARGS+=	--disable-tcl
-PLIST_SUB+=		WITH_TCL="@comment "
-. else
-CONFIGURE_ARGS+=	--enable-tcl
-PLIST_SUB+=		WITH_TCL=""
-MANN+=			gv_tcl.n
-. endif
-
-. if !defined(WITH_GUILE)
-CONFIGURE_ARGS+=	--disable-guile
-PLIST_SUB+=		WITH_GUILE="@comment "
-. else
-CONFIGURE_ARGS+=	--enable-guile
-PLIST_SUB+=		WITH_GUILE=""
-LIB_DEPENDS+=		guile.15:${PORTSDIR}/lang/guile
-MANN+=			gv_guile.n
-. endif
+.else
+CONFIGURE_ARGS+=	--disable-ruby
+PLIST_SUB+=		WITH_RUBY="@comment "
+.endif
 
 pre-patch:
 	@${FIND} ${WRKSRC} -name Makefile.in | \
@@ -254,7 +298,7 @@
 	@${REINPLACE_CMD} -e "s|/usr/include/php|${LOCALBASE}/include/php|g" \
 		-e "s|-lruby|-lruby${RUBY_SUFFIX}|g" ${WRKSRC}/configure
 
-.if !defined(WITHOUT_TK)
+.if defined(WITH_TK)
 post-install-script:
 	${INSTALL_MAN} \
 		${WRKSRC}/tclpkg/gdtclft/gdtclft.n \
diff -ruN graphviz.orig/pkg-plist graphviz/pkg-plist
--- graphviz.orig/pkg-plist	Thu Nov 15 18:55:33 2007
+++ graphviz/pkg-plist	Thu Nov 15 21:28:07 2007
@@ -110,10 +110,10 @@
 lib/graphviz/libgvplugin_gd.so.4
 lib/graphviz/libgvplugin_gd.la
 lib/graphviz/libgvplugin_gd.a
-%%WITH_PANGOCAIRO%%lib/graphviz/libgvplugin_gtk.a
-%%WITH_PANGOCAIRO%%lib/graphviz/libgvplugin_gtk.la
-%%WITH_PANGOCAIRO%%lib/graphviz/libgvplugin_gtk.so
-%%WITH_PANGOCAIRO%%lib/graphviz/libgvplugin_gtk.so.4
+%%WITH_GTK%%lib/graphviz/libgvplugin_gtk.a
+%%WITH_GTK%%lib/graphviz/libgvplugin_gtk.la
+%%WITH_GTK%%lib/graphviz/libgvplugin_gtk.so
+%%WITH_GTK%%lib/graphviz/libgvplugin_gtk.so.4
 lib/graphviz/libgvplugin_neato_layout.so
 lib/graphviz/libgvplugin_neato_layout.so.4
 lib/graphviz/libgvplugin_neato_layout.la
@@ -130,6 +130,12 @@
 %%WITH_GUILE%%lib/graphviz/guile/libgv_guile.la
 %%WITH_GUILE%%lib/graphviz/guile/libgv_guile.so
 %%WITH_GUILE%%lib/graphviz/guile/libgv_guile.so.0
+%%WITH_MING%%lib/graphviz/Bitstream_Vera_Sans.fdb
+%%WITH_MING%%lib/graphviz/Bitstream_Vera_Serif.fdb
+%%WITH_MING%%lib/graphviz/libgvplugin_ming.a
+%%WITH_MING%%lib/graphviz/libgvplugin_ming.la
+%%WITH_MING%%lib/graphviz/libgvplugin_ming.so
+%%WITH_MING%%lib/graphviz/libgvplugin_ming.so.4
 %%WITH_PHP%%lib/graphviz/php/gv.php
 %%WITH_PHP%%lib/graphviz/php/libgv_php.a
 %%WITH_PHP%%lib/graphviz/php/libgv_php.la
@@ -137,30 +143,30 @@
 %%WITH_PHP%%lib/graphviz/php/libgv_php.so.0
 %%WITH_PHP%%lib/graphviz/php/php_gv.h
 lib/graphviz/tcl/gv.so
-%%WITH_TCL%%lib/graphviz/tcl/libgdtclft.a
-%%WITH_TCL%%lib/graphviz/tcl/libgdtclft.la
-%%WITH_TCL%%lib/graphviz/tcl/libgdtclft.so
-%%WITH_TCL%%lib/graphviz/tcl/libgdtclft.so.0
-%%WITH_TCL%%lib/graphviz/tcl/libgv_tcl.a
-%%WITH_TCL%%lib/graphviz/tcl/libgv_tcl.la
-%%WITH_TCL%%lib/graphviz/tcl/libgv_tcl.so
-%%WITH_TCL%%lib/graphviz/tcl/libgv_tcl.so.0
-%%WITH_TCL%%lib/graphviz/tcl/libtcldot.a
-%%WITH_TCL%%lib/graphviz/tcl/libtcldot.la
-%%WITH_TCL%%lib/graphviz/tcl/libtcldot.so
-%%WITH_TCL%%lib/graphviz/tcl/libtcldot.so.0
-%%WITH_TCL%%lib/graphviz/tcl/libtcldot_builtin.a
-%%WITH_TCL%%lib/graphviz/tcl/libtcldot_builtin.la
-%%WITH_TCL%%lib/graphviz/tcl/libtcldot_builtin.so
-%%WITH_TCL%%lib/graphviz/tcl/libtcldot_builtin.so.0
-%%WITH_TCL%%lib/graphviz/tcl/libtclplan.a
-%%WITH_TCL%%lib/graphviz/tcl/libtclplan.la
-%%WITH_TCL%%lib/graphviz/tcl/libtclplan.so
-%%WITH_TCL%%lib/graphviz/tcl/libtclplan.so.0
-%%WITH_TCL%%lib/graphviz/tcl/libtkspline.a
-%%WITH_TCL%%lib/graphviz/tcl/libtkspline.la
-%%WITH_TCL%%lib/graphviz/tcl/libtkspline.so
-%%WITH_TCL%%lib/graphviz/tcl/libtkspline.so.0
+%%WITH_TK%%lib/graphviz/tcl/libgdtclft.a
+%%WITH_TK%%lib/graphviz/tcl/libgdtclft.la
+%%WITH_TK%%lib/graphviz/tcl/libgdtclft.so
+%%WITH_TK%%lib/graphviz/tcl/libgdtclft.so.0
+%%WITH_TK%%lib/graphviz/tcl/libgv_tcl.a
+%%WITH_TK%%lib/graphviz/tcl/libgv_tcl.la
+%%WITH_TK%%lib/graphviz/tcl/libgv_tcl.so
+%%WITH_TK%%lib/graphviz/tcl/libgv_tcl.so.0
+%%WITH_TK%%lib/graphviz/tcl/libtcldot.a
+%%WITH_TK%%lib/graphviz/tcl/libtcldot.la
+%%WITH_TK%%lib/graphviz/tcl/libtcldot.so
+%%WITH_TK%%lib/graphviz/tcl/libtcldot.so.0
+%%WITH_TK%%lib/graphviz/tcl/libtcldot_builtin.a
+%%WITH_TK%%lib/graphviz/tcl/libtcldot_builtin.la
+%%WITH_TK%%lib/graphviz/tcl/libtcldot_builtin.so
+%%WITH_TK%%lib/graphviz/tcl/libtcldot_builtin.so.0
+%%WITH_TK%%lib/graphviz/tcl/libtclplan.a
+%%WITH_TK%%lib/graphviz/tcl/libtclplan.la
+%%WITH_TK%%lib/graphviz/tcl/libtclplan.so
+%%WITH_TK%%lib/graphviz/tcl/libtclplan.so.0
+%%WITH_TK%%lib/graphviz/tcl/libtkspline.a
+%%WITH_TK%%lib/graphviz/tcl/libtkspline.la
+%%WITH_TK%%lib/graphviz/tcl/libtkspline.so
+%%WITH_TK%%lib/graphviz/tcl/libtkspline.so.0
 lib/graphviz/lua/gv.so
 %%WITH_LUA%%lib/graphviz/lua/libgv_lua.a
 %%WITH_LUA%%lib/graphviz/lua/libgv_lua.la



>How-To-Repeat:

>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list