Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Sep 2005 21:02:18 -0300
From:      "Alejandro Pulver" <alejandro@varnet.biz>
To:        "FreeBSD gnats submit" <FreeBSD-gnats-submit@FreeBSD.org>
Subject:   ports/86440: [UPDATE] games/deng: integrate with "doom-data", fix segmentation fault
Message-ID:  <1127347338.0@phobos.mars.bsd>
Resent-Message-ID: <200509220010.j8M0A7fn002251@freefall.freebsd.org>

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

>Number:         86440
>Category:       ports
>Synopsis:       [UPDATE] games/deng: integrate with "doom-data", fix segmentation fault
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Sep 22 00:10:07 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Alejandro Pulver
>Release:        FreeBSD 5.4-RELEASE i386
>Organization:
>Environment:





>Description:


Changes:
* Integrate with "doom-data".
* Add OPTIONS.
* Use SUB_FILES for generating pkg-message.
* Merge BROKEN and NOT_FOR_ARCHS into ONLY_FOR_ARCHS=i386.
* Add patch to fix the segmentation fault when exitting the program (it crashes when calling "lt_dlclose" from the "ltdl" library that comes with it, the call was removed).


>How-To-Repeat:





>Fix:


--- deng.diff begins here ---
diff -urN /usr/ports/games/deng/Makefile deng/Makefile
--- /usr/ports/games/deng/Makefile	Wed Jul 27 18:15:20 2005
+++ deng/Makefile	Sat Sep 17 20:06:03 2005
@@ -17,41 +17,32 @@
 LIB_DEPENDS=	png.5:${PORTSDIR}/graphics/png
 RUN_DEPENDS=	${LOCALBASE}/bin/timidity:${PORTSDIR}/audio/timidity
 
+ONLY_FOR_ARCHS=	i386
+
 USE_REINPLACE=	yes
 REINPLACE_ARGS=	-i ""
+USE_GL=		yes
+USE_SDL=	sdl mixer net
+
 USE_LIBTOOL_VER=	15
 CONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
 CONFIGURE_ENV=	CFLAGS="${CFLAGS} `${SDL_CONFIG} --cflags` -I${LOCALBASE}/include -I${X11BASE}/include" \
 		CPPFLAGS="`${SDL_CONFIG} --cflags` -I${LOCALBASE}/include -I${X11BASE}/include"
-USE_SDL=	sdl mixer net
-USE_GL=		yes
+
 INSTALLS_SHLIB=	yes
-NOT_FOR_ARCHS=	amd64
 
+SUB_FILES=	pkg-message
 PKGMESSAGE=	${WRKDIR}/pkg-message
 
-.if exists(${LOCALBASE}/lib/libopenal.so.0) || defined(WITH_OPENAL)
-WITH_OPENAL=	yes
-LIB_DEPENDS+=	openal.0:${PORTSDIR}/audio/openal
-.endif
-
-.if !defined(WITH_OPENAL)
-PLIST_SUB=	WITH_OPENAL="@comment "
-.else
-PLIST_SUB=	WITH_OPENAL=""
-.endif
+.include "${.CURDIR}/../doom-data/Makefile.include"
 
 .include <bsd.port.pre.mk>
 
-.if ${ARCH} == "ia64" || ${ARCH} == "sparc64" || ${ARCH} == "alpha"
-BROKEN=		"Does not build on ia64, sparc64 or alpha"
-.endif
-
-.ifndef (WITH_OPENAL)
-pre-everything::
-	@${ECHO_CMD} ""
-	@${ECHO_CMD} "Optionally define WITH_OPENAL=yes to build OpenAL sound plugin"
-	@${ECHO_CMD} ""
+.if defined(WITH_OPENAL) || exists(${LOCALBASE}/lib/libopenal.so.0)
+LIB_DEPENDS+=	openal.0:${PORTSDIR}/audio/openal
+PLIST_SUB=	OPENAL=""
+.else
+PLIST_SUB=	OPENAL="@comment "
 .endif
 
 post-patch:
@@ -64,12 +55,13 @@
 .ifndef (NOPORTDOCS)
 	@${MKDIR} ${DOCSDIR}
 	${INSTALL_DATA} ${WRKSRC}/Doc/*.txt ${DOCSDIR}
-.for i in jDoom jHeretic jHexen
+.   for i in jDoom jHeretic jHexen
 	@${MKDIR} ${DOCSDIR}/${i}
 	${INSTALL_DATA} ${WRKSRC}/Doc/${i}/*.txt ${DOCSDIR}/${i}
-.endfor
+.   endfor
 .endif
-	@(${SED} -e 's|%%PREFIX%%|${PREFIX}|; s|%%DOCSDIR%%|${DOCSDIR}|' \
-		<pkg-message >${PKGMESSAGE} && ${CAT} ${PKGMESSAGE})
+	@${ECHO_CMD}
+	@${CAT} ${PKGMESSAGE}
+	@${ECHO_CMD}
 
 .include <bsd.port.post.mk>
diff -urN /usr/ports/games/deng/files/patch-Src_dd__pinit.c deng/files/patch-Src_dd__pinit.c
--- /usr/ports/games/deng/files/patch-Src_dd__pinit.c	Wed Dec 31 21:00:00 1969
+++ deng/files/patch-Src_dd__pinit.c	Wed Sep 21 16:58:01 2005
@@ -0,0 +1,10 @@
+--- Src/dd_pinit.c.orig	Sun Jun 20 13:25:49 2004
++++ Src/dd_pinit.c	Wed Sep 21 16:57:42 2005
+@@ -227,7 +227,6 @@
+ 	FH_Clear();
+ 	ArgShutdown();
+ 	free(mainzone);
+-	DD_ShutdownDGL();
+ 
+ 	// Close the message output file.
+ 	fclose(outFile);
diff -urN /usr/ports/games/deng/files/pkg-message.in deng/files/pkg-message.in
--- /usr/ports/games/deng/files/pkg-message.in	Wed Dec 31 21:00:00 1969
+++ deng/files/pkg-message.in	Wed Sep 21 17:51:01 2005
@@ -0,0 +1,22 @@
+==============================================================================
+
+Now you can start playing Doomsday!
+
+All three games Doom, Heretic and Hexen could be launched with one executable.
+
+A quick start command could be:
+
+    %%PREFIX%%/bin/doomsday -g ${game} -f ${path_to_game_wad}
+
+where
+
+    game - could be jdoom, jheretic or jhexen;
+    path_to_game_wad - path to game main wad file.
+
+Check documentation in %%DOCSDIR%% for other options.
+
+NOTE: when you run Doomsday it will create about 7 files/dirs in the current
+directory (including temporary files, configuration, etc.) so it's preferable
+to run it in a separate directory.
+
+==============================================================================
diff -urN /usr/ports/games/deng/pkg-message deng/pkg-message
--- /usr/ports/games/deng/pkg-message	Fri Aug 27 12:18:35 2004
+++ deng/pkg-message	Wed Dec 31 21:00:00 1969
@@ -1,10 +0,0 @@
-******************************************************************************
-Now you can start playing Doomsday!
-All three games Doom, Heretic and Hexen could be launched with one executable.
-A quick start command could be:
-	%%PREFIX%%/bin/doomsday -g ${game} -f ${path_to_game_wad}
-where
-	game - could be jdoom, jheretic or jhexen;
-	path_to_game_wad - path to game main wad file.
-Check documentation in %%DOCSDIR%% for other options.
-******************************************************************************
diff -urN /usr/ports/games/deng/pkg-plist deng/pkg-plist
--- /usr/ports/games/deng/pkg-plist	Fri Sep 24 17:10:31 2004
+++ deng/pkg-plist	Sat Sep 17 19:54:09 2005
@@ -7,8 +7,8 @@
 lib/libdpmapload.so.0
 lib/libdropengl.so
 lib/libdropengl.so.0
-%%WITH_OPENAL%%lib/libdsopenal.so
-%%WITH_OPENAL%%lib/libdsopenal.so.0
+%%OPENAL%%lib/libdsopenal.so
+%%OPENAL%%lib/libdsopenal.so.0
 lib/libdssdlmixer.so
 lib/libdssdlmixer.so.0
 lib/libjdoom.so
--- deng.diff ends here ---



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



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