ports/61763: New port: graphics/allegrogl OpenGL inteface for Allegro library

Igor Pokrovsky tiamat at comset.net
Fri Jan 23 03:20:46 UTC 2004


>Number:         61763
>Category:       ports
>Synopsis:       New port: graphics/allegrogl OpenGL inteface for Allegro library
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan 22 19:20:11 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Igor Pokrovsky
>Release:        FreeBSD 4.9-STABLE i386
>Organization:
>Environment:
System: FreeBSD doom.homeunix.org 4.9-STABLE FreeBSD 4.9-STABLE #1: Sun Dec 14 13:12:44 MSK 2003 root at doom.homeunix.org:/usr/obj/usr/src/sys/KERNEL i386


	
>Description:
The library mostly provides functions to allow you to use OpenGL alongside
Allegro -- you use OpenGL for your rendering to the screen, and Allegro
for miscellaneous tasks like gathering input, doing timers, getting
cross-platform portability, loading data, playing samples and drawing your
textures. So this library fills the same hole that things like GLUT do.
	
>How-To-Repeat:
	
>Fix:

	

--- allegrogl.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	allegrogl
#	allegrogl/pkg-plist
#	allegrogl/pkg-descr
#	allegrogl/distinfo
#	allegrogl/Makefile
#	allegrogl/files
#	allegrogl/files/patch-configure.in
#	allegrogl/files/patch-include-alleggl.h
#	allegrogl/files/patch-make-makefile.unx
#	allegrogl/files/patch-include-allegrogl-gl_ext.h
#	allegrogl/files/patch-src-glext.c
#	allegrogl/files/makefile.ex
#
echo c - allegrogl
mkdir -p allegrogl > /dev/null 2>&1
echo x - allegrogl/pkg-plist
sed 's/^X//' >allegrogl/pkg-plist << 'END-of-allegrogl/pkg-plist'
Xinclude/alleggl.h
Xinclude/alleggl_config.h
Xinclude/allegrogl/gl_ext.h
Xinclude/allegrogl/gl_header_detect.h
Xinclude/allegrogl/GLext/gl_ext_api.h
Xinclude/allegrogl/GLext/gl_ext_defs.h
Xinclude/allegrogl/GLext/gl_ext_list.h
Xinclude/allegrogl/GLext/glx_ext_api.h
Xinclude/allegrogl/GLext/glx_ext_defs.h
Xinclude/allegrogl/GLext/glx_ext_list.h
Xinclude/allegrogl/GLext/wgl_ext_api.h
Xinclude/allegrogl/GLext/wgl_ext_defs.h
Xinclude/allegrogl/GLext/wgl_ext_list.h
X at dirrm include/allegrogl/GLext
X at dirrm include/allegrogl
Xlib/libagl.a
X%%EXAMPLESDIR%%/demofont.dat
X%%EXAMPLESDIR%%/dialog.c
X%%EXAMPLESDIR%%/dumbtest.c
X%%EXAMPLESDIR%%/exalleg.c
X%%EXAMPLESDIR%%/exalpfnt.c
X%%EXAMPLESDIR%%/excamera.c
X%%EXAMPLESDIR%%/exext.c
X%%EXAMPLESDIR%%/exgui.c
X%%EXAMPLESDIR%%/exmasked.c
X%%EXAMPLESDIR%%/extext.c
X%%EXAMPLESDIR%%/extextur.c
X%%EXAMPLESDIR%%/lucidia.dat
X%%EXAMPLESDIR%%/makefile
X%%EXAMPLESDIR%%/mysha.pcx
X%%EXAMPLESDIR%%/running.dat
X%%EXAMPLESDIR%%/running.h
X%%EXAMPLESDIR%%/test.c
X%%EXAMPLESDIR%%/tex.c
X at dirrm %%EXAMPLESDIR%%
X%%PORTDOCS%%%%DOCSDIR%%/bugs.txt
X%%PORTDOCS%%%%DOCSDIR%%/extensions.txt
X%%PORTDOCS%%%%DOCSDIR%%/faq.txt
X%%PORTDOCS%%%%DOCSDIR%%/howto.txt
X%%PORTDOCS%%%%DOCSDIR%%/quickstart.txt
X%%PORTDOCS%%%%DOCSDIR%%/readme.txt
X%%PORTDOCS%%%%DOCSDIR%%/todo.txt
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
END-of-allegrogl/pkg-plist
echo x - allegrogl/pkg-descr
sed 's/^X//' >allegrogl/pkg-descr << 'END-of-allegrogl/pkg-descr'
XThe library mostly provides functions to allow you to use OpenGL alongside
XAllegro -- you use OpenGL for your rendering to the screen, and Allegro
Xfor miscellaneous tasks like gathering input, doing timers, getting
Xcross-platform portability, loading data, playing samples and drawing your
Xtextures. So this library fills the same hole that things like GLUT do.
X
XWWW:	http://allegrogl.sourceforge.net/
X
X- Igor Pokrovsky
Xtiamat at comset.net
END-of-allegrogl/pkg-descr
echo x - allegrogl/distinfo
sed 's/^X//' >allegrogl/distinfo << 'END-of-allegrogl/distinfo'
XMD5 (alleggl-0.2.0.tar.bz2) = 54080f3f549bbf25ba04be7c3e8a42a5
END-of-allegrogl/distinfo
echo x - allegrogl/Makefile
sed 's/^X//' >allegrogl/Makefile << 'END-of-allegrogl/Makefile'
X# New ports collection makefile for: allegrogl
X# Date created:		22 Jan 2004
X# Whom:			Igor Pokrovsky <tiamat at comset.net>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	allegrogl
XPORTVERSION=	0.2.0
XCATEGORIES=	graphics
XMASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR=	${PORTNAME}
XDISTNAME=	alleggl-${PORTVERSION}
X
XMAINTAINER=	tiamat at comset.net
XCOMMENT=	OpenGL inteface for Allegro library
X
XLIB_DEPENDS=	alleg.41:${PORTSDIR}/devel/allegro
X
XUSE_BZIP2=	yes
XUSE_GMAKE=	yes
XUSE_REINPLACE=	yes
XUSE_GL=		yes
XUSE_X_PREFIX=	yes
XUSE_AUTOCONF_VER=253
XGNU_CONFIGURE=	yes
XMAKEFILE=	makefile
XALL_TARGET=	lib
X
XWRKSRC=		${WRKDIR}/alleggl
X
XALLEGRO_CONFIG?=${LOCALBASE}/bin/allegro-config
X
Xpost-patch:
X	@${REINPLACE_CMD} -e 's|%%GMAKE%%|${GMAKE}|g; \
X			      s|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g' \
X		${WRKSRC}/configure.in
X	@${REINPLACE_CMD} -e 's|%%ALLEGRO_CONFIG%%|${ALLEGRO_CONFIG}|g' \
X		${WRKSRC}/make/makefile.unx
X
Xdo-install:
X	${INSTALL_DATA} ${WRKSRC}/lib/unix/libagl.a ${PREFIX}/lib
X	${INSTALL_DATA} ${WRKSRC}/include/alleggl.h ${PREFIX}/include
X	${INSTALL_DATA} ${WRKSRC}/include/alleggl_config.h ${PREFIX}/include
X	@${MKDIR} ${PREFIX}/include/allegrogl
X	${INSTALL_DATA} ${WRKSRC}/include/allegrogl/*.h \
X		${PREFIX}/include/allegrogl
X	@${MKDIR} ${PREFIX}/include/allegrogl/GLext
X	${INSTALL_DATA} ${WRKSRC}/include/allegrogl/GLext/*.h \
X		${PREFIX}/include/allegrogl/GLext
X
X	@${MKDIR} ${EXAMPLESDIR}
X	${INSTALL_DATA} ${WRKSRC}/examp/* ${EXAMPLESDIR}
X	@${PERL} -pi -e 's|%%CC%%|${CC}|g; \
X			 s|%%RM%%|${RM}|g; \
X			 s|%%CFLAGS%%|${CFLAGS}|g; \
X			 s|%%PREFIX%%|${PREFIX}|g; \
X			 s|%%X11BASE%%|${X11BASE}|g; \
X			 s|%%ALLEGRO_CONFIG%%|${ALLEGRO_CONFIG}|g' \
X		<${PATCHDIR}/makefile.ex >${EXAMPLESDIR}/makefile
X
X.ifndef (NOPORTDOCS)
X	@${MKDIR} ${DOCSDIR}
X	${INSTALL_DATA} ${WRKSRC}/*.txt ${DOCSDIR}
X.endif
X
X.include <bsd.port.mk>
END-of-allegrogl/Makefile
echo c - allegrogl/files
mkdir -p allegrogl/files > /dev/null 2>&1
echo x - allegrogl/files/patch-configure.in
sed 's/^X//' >allegrogl/files/patch-configure.in << 'END-of-allegrogl/files/patch-configure.in'
X--- configure.in.orig	Sat Sep  6 21:26:48 2003
X+++ configure.in	Thu Jan 22 14:58:15 2004
X@@ -50,7 +50,7 @@
X 
X dnl Check for pthread support, which GL libs may require (e.g. FreeBSD)
X AC_CHECK_HEADER(pthread.h, , dontcare=y)
X-AC_CHECK_LIB(pthread, pthread_create, LIBS="-lpthread $LIBS")
X+AC_CHECK_LIB(pthread, pthread_create, LIBS="%%PTHREAD_LIBS%% $LIBS")
X 
X 
X dnl Build Mesa generic driver
X@@ -96,14 +96,15 @@
X 	fi
X 
X 
X+dnl We don't need this check in FreeBSD
X dnl Check if the dynamic loading library (libdl.so) is available
X-	AH_TEMPLATE([ALLEGROGL_HAVE_DYNAMIC_LINK], [Define if dynamic linking is supported.])
X-	AC_CHECK_HEADER(dlfcn.h,
X-		AC_CHECK_LIB(dl, dlsym, 
X-			LIBS="-ldl $LIBS"
X+dnl	AH_TEMPLATE([ALLEGROGL_HAVE_DYNAMIC_LINK], [Define if dynamic linking is supported.])
X+dnl	AC_CHECK_HEADER(dlfcn.h,
X+dnl		AC_CHECK_LIB(dl, dlsym, 
X+dnl			LIBS="-ldl $LIBS"
X 			AC_DEFINE(ALLEGROGL_HAVE_DYNAMIC_LINK)
X-		)
X-	)
X+dnl		)
X+dnl	)
X fi
X 
X 
X@@ -155,14 +156,14 @@
X dnl the Mesa generic driver and the (hopefully) accelerated one
X if test -f makefile; then
X 	echo '# Remove older build'
X-	make veryclean
X+	%%GMAKE%% veryclean
X 	agl_make_depend="yes";
X fi
X 
X 
X dnl If dependencies are not built yet then do it !
X if (test ! -f make/makefile.dep); then
X-	echo '# Execute "make depend".' > make/makefile.dep
X+	echo '# Execute "%%GMAKE%% depend".' > make/makefile.dep
X 	agl_make_depend="yes";
X fi
X 
X@@ -173,5 +174,5 @@
X 
X dnl Run "make depend" if necessary
X if test -n "$agl_make_depend"; then
X-	make depend
X+	%%GMAKE%% depend
X fi
END-of-allegrogl/files/patch-configure.in
echo x - allegrogl/files/patch-include-alleggl.h
sed 's/^X//' >allegrogl/files/patch-include-alleggl.h << 'END-of-allegrogl/files/patch-include-alleggl.h'
X--- include/alleggl.h.orig	Thu Jan 22 14:12:08 2004
X+++ include/alleggl.h	Thu Jan 22 14:12:21 2004
X@@ -48,9 +48,11 @@
X #include "allegrogl/gl_ext.h"
X 
X #ifdef ALLEGRO_WITH_XWINDOWS
X+/*
X #ifndef HAVE_LIBPTHREAD
X #   error AllegroGL requires Allegro to have pthread support enabled!
X #endif
X+*/
X #include <alleggl_config.h>
X #endif
X 
END-of-allegrogl/files/patch-include-alleggl.h
echo x - allegrogl/files/patch-make-makefile.unx
sed 's/^X//' >allegrogl/files/patch-make-makefile.unx << 'END-of-allegrogl/files/patch-make-makefile.unx'
X--- make/makefile.unx.orig	Thu Jan 22 14:15:30 2004
X+++ make/makefile.unx	Thu Jan 22 14:17:05 2004
X@@ -46,20 +46,20 @@
X # --- Compiler optimizations ---#
X 
X ifdef DEBUGMODE
X-	CFLAGS = -g -W -Wall -Wno-unused
X+	CFLAGS += -g -W -Wall -Wno-unused
X 	CFLAGS += -DDEBUGMODE=$(DEBUGMODE)
X 	ifdef LOGLEVEL
X 		CFLAGS += -DLOGLEVEL=$(LOGLEVEL)
X 	endif
X else
X-	CFLAGS = -O2 -Wall -ffast-math -fomit-frame-pointer
X+	CFLAGS += -O2 -Wall -ffast-math -fomit-frame-pointer
X 	SHARED = @SHARED@
X endif
X 
X ifdef DEBUGALLEG
X-	LDLIBS = -l$(LIB_NAME) `allegro-config --libs debug` $(LIBS)
X+	LDLIBS = -l$(LIB_NAME) `%%ALLEGRO_CONFIG%% --libs debug` $(LIBS)
X else
X-	LDLIBS = -l$(LIB_NAME) `allegro-config --libs` $(LIBS)
X+	LDLIBS = -l$(LIB_NAME) `%%ALLEGRO_CONFIG%% --libs` $(LIBS)
X endif
X 
X ifdef MESABUILD
END-of-allegrogl/files/patch-make-makefile.unx
echo x - allegrogl/files/patch-include-allegrogl-gl_ext.h
sed 's/^X//' >allegrogl/files/patch-include-allegrogl-gl_ext.h << 'END-of-allegrogl/files/patch-include-allegrogl-gl_ext.h'
X--- include/allegrogl/gl_ext.h.orig	Sun Dec 14 01:19:34 2003
X+++ include/allegrogl/gl_ext.h	Thu Jan 22 14:46:25 2004
X@@ -12,7 +12,7 @@
X #include "allegrogl/GLext/gl_ext_defs.h"
X #ifdef ALLEGRO_WINDOWS
X #include "allegrogl/GLext/wgl_ext_defs.h"
X-#elif defined ALLEGRO_LINUX
X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__
X #include "allegrogl/GLext/glx_ext_defs.h"
X #endif
X 
X@@ -27,7 +27,7 @@
X #	include "allegrogl/GLext/gl_ext_api.h"
X #ifdef ALLEGRO_WINDOWS
X #	include "allegrogl/GLext/wgl_ext_api.h"
X-#elif defined ALLEGRO_LINUX
X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__
X #	include "allegrogl/GLext/glx_ext_api.h"
X #endif
X #undef AGL_API
X@@ -46,7 +46,7 @@
X #define AGL_API(type, name, args) extern AGL_##name##_t wgl##name;
X #	include "allegrogl/GLext/wgl_ext_api.h"
X #undef AGL_API
X-#elif defined ALLEGRO_LINUX
X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__
X #define AGL_API(type, name, args) extern AGL_##name##_t glX##name;
X #	include "allegrogl/GLext/glx_ext_api.h"
X #undef AGL_API
END-of-allegrogl/files/patch-include-allegrogl-gl_ext.h
echo x - allegrogl/files/patch-src-glext.c
sed 's/^X//' >allegrogl/files/patch-src-glext.c << 'END-of-allegrogl/files/patch-src-glext.c'
X--- src/glext.c.orig	Thu Jan  8 01:04:04 2004
X+++ src/glext.c	Thu Jan 22 16:32:43 2004
X@@ -20,7 +20,7 @@
X #	include "allegrogl/GLext/gl_ext_api.h"
X #ifdef ALLEGRO_WINDOWS
X #	include "allegrogl/GLext/wgl_ext_api.h"
X-#elif defined ALLEGRO_LINUX
X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__
X #	include "allegrogl/GLext/glx_ext_api.h"
X #endif
X } AGL_EXT;
X@@ -105,7 +105,7 @@
X #define AGL_API(type, name, args) AGL_##name##_t wgl##name = NULL;
X #	include "allegrogl/GLext/wgl_ext_api.h"
X #undef AGL_API
X-#elif defined ALLEGRO_LINUX
X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__
X #define AGL_API(type, name, args) AGL_##name##_t glX##name = NULL;
X #	include "allegrogl/GLext/glx_ext_api.h"
X #undef AGL_API
X@@ -153,7 +153,7 @@
X 		if (ext->name) { AGL_LOG(2,"wgl" #name " successfully loaded\n"); }
X #	include "allegrogl/GLext/wgl_ext_api.h"
X #	undef AGL_API
X-#	elif defined ALLEGRO_LINUX
X+#	elif defined ALLEGRO_LINUX || defined __FreeBSD__
X #	define AGL_API(type, name, args) \
X 		ext->name = (AGL_##name##_t)aglXGetProcAddress("gl" #name); \
X 		if (ext->name) { AGL_LOG(2,"gl" #name " successfully loaded\n"); }
X@@ -197,7 +197,7 @@
X #define AGL_API(type, name, args) wgl##name = ext->name;
X #	include "allegrogl/GLext/wgl_ext_api.h"
X #undef AGL_API
X-#elif defined ALLEGRO_LINUX
X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__
X #define AGL_API(type, name, args) glX##name = ext->name;
X #	include "allegrogl/GLext/glx_ext_api.h"
X #undef AGL_API
X@@ -344,7 +344,7 @@
X 		 * we try to find the symbol into the dynamic libs
X 		 * that are already loaded (e.g. in libGL.so)
X 		 */
X-		symbol = dlsym(0, name);
X+		symbol = dlsym(RTLD_NEXT, name);
X 	}
X #elif defined ALLEGRO_MACOSX
X 	function = CFStringCreateWithCString(kCFAllocatorDefault, name,
X@@ -439,10 +439,10 @@
X 
X 	/* Get glXGetProcAddress entry */
X #ifdef ALLEGROGL_HAVE_DYNAMIC_LINK
X-	aglXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(0,
X+	aglXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(RTLD_NEXT,
X 	                                                    "glXGetProcAddressARB");
X 	if (!aglXGetProcAddress) {
X-		aglXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(0,
X+		aglXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(RTLD_NEXT,
X 	                                                       "glXGetProcAddress");
X 	}
X 	TRACE("glXGetProcAddress Extension: %s\n",
END-of-allegrogl/files/patch-src-glext.c
echo x - allegrogl/files/makefile.ex
sed 's/^X//' >allegrogl/files/makefile.ex << 'END-of-allegrogl/files/makefile.ex'
XCC=		%%CC%%
XRM=		%%RM%%
XCFLAGS=		%%CFLAGS%% -I. -I%%X11BASE%%/include -I%%PREFIX%%/include/
XLDFLAGS=	-L%%X11BASE%%/lib -L%%PREFIX%%/lib -lagl -lGL -lGLU
X
XALLEGRO_CFLAGS!=%%ALLEGRO_CONFIG%% --cflags
XALLEGRO_LFLAGS!=%%ALLEGRO_CONFIG%% --libs
XCFLAGS+=	${ALLEGRO_CFLAGS}
XLDFLAGS+=	${ALLEGRO_LFLAGS}
X
XTARGETS= dialog dumbtest exalleg exalpfnt excamera exext exgui exmasked \
X		extext extextur test tex
X
Xall: ${TARGETS}
X
Xdialog: dialog.o
X	${CC} $> -o $@ ${LDFLAGS}	
X
Xdumbtest: dumbtest.o
X	${CC} $> -o $@ ${LDFLAGS}
X
Xexalleg: exalleg.o
X	${CC} $> -o $@ ${LDFLAGS}
X
Xexalpfnt: exalpfnt.o
X	${CC} $> -o $@ ${LDFLAGS}
X
Xexcamera: excamera.o
X	${CC} $> -o $@ ${LDFLAGS}
X
Xexext: exext.o
X	${CC} $> -o $@ ${LDFLAGS}
X
Xexgui: exgui.o
X	${CC} $> -o $@ ${LDFLAGS}
X
Xexmasked: exmasked.o
X	${CC} $> -o $@ ${LDFLAGS}
X
Xextext: extext.o
X	${CC} $> -o $@ ${LDFLAGS}
X
Xextextur: extextur.o
X	${CC} $> -o $@ ${LDFLAGS}
X
Xtest: test.o
X	${CC} $> -o $@ ${LDFLAGS}
X
Xtex: tex.o
X	${CC} $> -o $@ ${LDFLAGS}
X
X
X.c.o:
X	${CC} -c ${CFLAGS} $*.c
X
Xclean:
X	${RM} -f *.o ${TARGETS}
END-of-allegrogl/files/makefile.ex
exit
--- allegrogl.shar ends here ---


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



More information about the freebsd-ports-bugs mailing list