Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Jan 2008 07:03:29 +0300 (MSK)
From:      Dmitry Marakasov <amdmi3@amdmi3.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/120178: [PATCH] graphics/cegui: fix DevIL support and other things
Message-ID:  <20080131040330.5166D17031@hades.panopticon>
Resent-Message-ID: <200801310410.m0V4A1Ov029446@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         120178
>Category:       ports
>Synopsis:       [PATCH] graphics/cegui: fix DevIL support and other things
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan 31 04:10:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Dmitry Marakasov
>Release:        FreeBSD 7.0-RC1 i386
>Organization:
>Environment:
System: FreeBSD hades.panopticon 7.0-RC1 FreeBSD 7.0-RC1 #0: Sat Jan 5 03:26:52 MSK 2008 root@hades.panopticon:/usr/obj/usr/src/sys/HADES i386


>Description:
Currently, CEGUI is quite broken. First, it cannot detect DevIL:

...
checking for ilLoadL in -lIL... no
checking for iluFlipImage in -lILU... yes
...
Building DevIL Image Codec:                   no
...

while it should support it (it's listed in port depends, and actually in most cases cegui will be useless without ability to load images).

Next, on some (most of) installations, there will be hidden dependencies and plist will be incorrect, as configure script may automatically detect, for example, additional XML parsers (libxml, expat, xerces) and build+install additional .so files.

This patch does following:
* Correct CPPFLAGS/LDFLAGS so DevIL is detected properly
* Correct ILvoid in DevIL support code (there's no such type in DevIL, guess cegui is a bit outdated?)
* Add more CONFIGURE_ARGS disabling certain features, as they introduce multiple hidden dependencies and drive plist incorrect
While I'm here:
* Make use of PORTDOCS
* Use SF macro
* Make portlint happy (USE_LDCONFIG and whitespace before end of line in PLIST)
* Update and sort plist
* Bump portrevision

>How-To-Repeat:
>Fix:

--- cegui.patch begins here ---
Files cegui.orig/.pkg-plist.swp and cegui/.pkg-plist.swp differ
diff -ruN cegui.orig/Makefile cegui/Makefile
--- cegui.orig/Makefile	2008-01-31 04:23:38.000000000 +0300
+++ cegui/Makefile	2008-01-31 06:07:00.000000000 +0300
@@ -7,9 +7,9 @@
 
 PORTNAME=	cegui
 PORTVERSION=	0.5.0b
-PORTREVISION=	0
+PORTREVISION=	1
 CATEGORIES=	graphics devel
-MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
+MASTER_SITES=	SF
 MASTER_SITE_SUBDIR=crayzedsgui
 DISTNAME=	${PORTNAME:U}-${PORTVERSION}
 
@@ -20,16 +20,25 @@
 		pcre.0:${PORTSDIR}/devel/pcre
 
 WRKSRC=		${WRKDIR}/${DISTNAME:S/0b/0/}
-CONFIGURE_ARGS=	--without-xerces-c --enable-toluacegui
-CONFIGURE_ENV+=	Lua_LIBS="-L${PREFIX}/lib/lua50 -llua -llualib -lm" \
-		Lua_CFLAGS="-I${PREFIX}/include/lua50"
-GNU_CONFIGURE=	YES
-INSTALLS_SHLIB=	YES
-USE_GL=		YES
+CONFIGURE_ARGS=	--enable-toluacegui --disable-irrlicht-renderer \
+		--disable-corona --enable-devil --disable-freeimage --disable-silly \
+		--disable-libxml --disable-xerces-c --disable-expat
+
+CONFIGURE_ENV+=	Lua_LIBS="-L${LOCALBASE}/lib/lua50 -llua -llualib -lm" \
+		Lua_CFLAGS="-I${LOCALBASE}/include/lua50" \
+		LDFLAGS="-L${LOCALBASE}/lib -L${LOCALBASE}/lib/lua50" \
+		CPPFLAGS="-I${LOCALBASE}/include -I${LOCALBASE}/include/lua50"
+GNU_CONFIGURE=	yes
+USE_LDCONFIG=	yes
+USE_GL=		yes
 USE_LUA=	5.0
-USE_XLIB=	YES
+USE_XLIB=	yes
 USE_GNOME=	gnomehack
 
+.if !defined(NOPORTDOCS)
+PORTDOCS=	README COPYING AUTHORS ChangeLog TODO
+.endif
+
 post-patch:
 	@${REINPLACE_CMD} -e ' \
 		s|"-lILU.*"|"-lm -L${LOCALBASE}/lib -lILU -lIL $$LIBS"|g; \
@@ -45,11 +54,13 @@
 	@${REINPLACE_CMD} -e 's|INCLUDES = |&-I${LOCALBASE}/include/lua50 |' \
 		${WRKSRC}/ScriptingModules/CEGUILua/tolua++bin/Makefile.in \
 		${WRKSRC}/ScriptingModules/CEGUILua/LuaScriptModule/src/Makefile.in
+	@${REINPLACE_CMD} -e 's|ILvoid|void|g' \
+		${WRKSRC}/ImageCodecModules/DevILImageCodec/CEGUIDevILImageCodec.cpp
 
 post-install:
 .if !defined(NOPORTDOCS)
 	@${MKDIR} ${DOCSDIR}
-.for docfile in README COPYING AUTHORS ChangeLog TODO
+.for docfile in ${PORTDOCS}
 	@${INSTALL_DATA} ${WRKSRC}/${docfile} ${DOCSDIR}
 .endfor
 .endif
diff -ruN cegui.orig/pkg-plist cegui/pkg-plist
--- cegui.orig/pkg-plist	2008-01-31 04:23:38.000000000 +0300
+++ cegui/pkg-plist	2008-01-31 06:07:09.000000000 +0300
@@ -1,4 +1,5 @@
 bin/tolua++cegui
+include/CEGUI/CEGUI.h
 include/CEGUI/CEGUIBase.h
 include/CEGUI/CEGUIBoundSlot.h
 include/CEGUI/CEGUIColourRect.h
@@ -76,7 +77,8 @@
 include/CEGUI/CEGUIXMLParser.h
 include/CEGUI/CEGUIXMLSerializer.h
 include/CEGUI/CEGUIcolour.h
-include/CEGUI/CEGUI.h
+include/CEGUI/ImageCodecModules/DevILImageCodec/CEGUIDevILImageCodec.h
+include/CEGUI/ImageCodecModules/DevILImageCodec/CEGUIDevILImageCodecModule.h
 include/CEGUI/ImageCodecModules/TGAImageCodec/CEGUITGAImageCodec.h
 include/CEGUI/ImageCodecModules/TGAImageCodec/CEGUITGAImageCodecModule.h
 include/CEGUI/RendererModules/OpenGLGUIRenderer/openglrenderer.h
@@ -171,9 +173,15 @@
 lib/libCEGUIBase.la
 lib/libCEGUIBase.so
 lib/libCEGUIBase.so.1
+lib/libCEGUIDevILImageCodec.la
+lib/libCEGUIDevILImageCodec.so
+lib/libCEGUIDevILImageCodec.so.0
 lib/libCEGUIFalagardWRBase.la
 lib/libCEGUIFalagardWRBase.so
 lib/libCEGUIFalagardWRBase.so.1
+lib/libCEGUILuaScriptModule.la
+lib/libCEGUILuaScriptModule.so
+lib/libCEGUILuaScriptModule.so.1
 lib/libCEGUIOpenGLRenderer.la
 lib/libCEGUIOpenGLRenderer.so
 lib/libCEGUIOpenGLRenderer.so.0
@@ -184,25 +192,17 @@
 lib/libCEGUITinyXMLParser.so
 lib/libCEGUITinyXMLParser.so.0
 lib/libCEGUItoluapp.la
-lib/libCEGUItoluapp.so 
+lib/libCEGUItoluapp.so
 lib/libCEGUItoluapp.so.1
-lib/libCEGUILuaScriptModule.la
-lib/libCEGUILuaScriptModule.so
-lib/libCEGUILuaScriptModule.so.1
 libdata/pkgconfig/CEGUI-OPENGL.pc
 libdata/pkgconfig/CEGUI.pc
-%%PORTDOCS%%%%DOCSDIR%%/README
-%%PORTDOCS%%%%DOCSDIR%%/COPYING
-%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
-%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
-%%PORTDOCS%%%%DOCSDIR%%/TODO
-@dirrm include/CEGUI/ImageCodecModules/TGAImageCodec
-@dirrm include/CEGUI/ImageCodecModules
-@dirrm include/CEGUI/RendererModules/OpenGLGUIRenderer
-@dirrm include/CEGUI/RendererModules
+@dirrm include/CEGUI/falagard
+@dirrm include/CEGUI/elements
 @dirrm include/CEGUI/XMLParserModules/TinyXMLParser
 @dirrm include/CEGUI/XMLParserModules
-@dirrm include/CEGUI/elements
-@dirrm include/CEGUI/falagard
+@dirrm include/CEGUI/RendererModules/OpenGLGUIRenderer
+@dirrm include/CEGUI/RendererModules
+@dirrm include/CEGUI/ImageCodecModules/TGAImageCodec
+@dirrm include/CEGUI/ImageCodecModules/DevILImageCodec
+@dirrm include/CEGUI/ImageCodecModules
 @dirrm include/CEGUI
-%%PORTDOCS%%@dirrm %%DOCSDIR%%
--- cegui.patch ends here ---

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



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