ports/86440: [UPDATE] games/deng: integrate with "doom-data", fix segmentation fault
Alejandro Pulver
alejandro at varnet.biz
Thu Sep 22 00:10:11 UTC 2005
>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:
More information about the freebsd-ports-bugs
mailing list