ports/86446: [UPDATE] games/doomlegacy: integrate with "doom-data", remove ONLY_FOR_ARCHS

Alejandro Pulver alejandro at varnet.biz
Thu Sep 22 00:30:10 UTC 2005


>Number:         86446
>Category:       ports
>Synopsis:       [UPDATE] games/doomlegacy: integrate with "doom-data", remove ONLY_FOR_ARCHS
>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:30:06 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Alejandro Pulver
>Release:        FreeBSD 5.4-RELEASE i386
>Organization:
>Environment:





>Description:


Changes:
* Integrate with "doom-data".
* Remove ONLY_FOR_ARCHS, use correctly the "nasm" dependency.
* Add OPTIONS (for x86 asm).
* Make wrapper script.


>How-To-Repeat:





>Fix:


--- doomlegacy.diff begins here ---
diff -urN /usr/ports/games/doomlegacy/Makefile doomlegacy/Makefile
--- /usr/ports/games/doomlegacy/Makefile	Sat Mar  5 20:17:29 2005
+++ doomlegacy/Makefile	Mon Sep 19 20:49:04 2005
@@ -11,46 +11,33 @@
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	${PORTNAME}
 DISTNAME=	legacy_${PORTVERSION}_src
-DISTFILES=	${DIST} ${WADFILE}
-DIST=		${DISTNAME}${EXTRACT_SUFX}
-WADFILE=	legacy_dat.zip
-EXTRACT_ONLY=	${DIST}
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX} ${WADFILE}
+EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
 MAINTAINER=	bock at bock.nnov.ru
 COMMENT=	DooM Legacy: popular DooM clone!
 
 EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
-BUILD_DEPENDS=	nasm:${PORTSDIR}/devel/nasm
 
-USE_XLIB=	yes
-USE_GMAKE=	yes
 USE_GL=		yes
-USE_SDL=	mixer
+USE_GMAKE=	yes
+USE_SDL=	mixer sdl
+USE_XLIB=	yes
+
+OPTIONS=	X86_ASM "Enable use of x86 assembly code" on
 
 WRKSRC=		${WRKDIR}/doomlegacy_${PORTVERSION}_src
 MAKEFILE=	makefile
 MAKE_ENV+=	FREEBSD=1 FBSD_SDL=1 PTHREAD_LIBS="${PTHREAD_LIBS}" \
 		PTHREAD_CFLAGS="${PTHREAD_CFLAGS}"
 
-# I have no ideas about build status on other platforms
-ONLY_FOR_ARCHS=		i386
-
-TARGET_DIR=	${PREFIX}/${PORTNAME}
-
-DATA_FILES=	${WRKDIR}/bin/legacy.dat
-PROG_FILES=	${WRKDIR}/bin/llsndserv ${WRKDIR}/bin/r_opengl.so
-SGID_FILES=	${WRKDIR}/bin/lsdldoom
-SGID_ARGS=	-c -s -o root -g kmem -m 2555
-DOC_FILES=	*.html *.txt *.cfg README_SDL copying
+SUB_FILES=	legacy
+WADFILE=	legacy_dat.zip
+DATADIR=	${PREFIX}/lib/${PORTNAME}
 
 post-extract:
-	@${MKDIR} ${WRKDIR}/bin
 	${UNZIP_CMD} -q ${DISTDIR}/${WADFILE} -d ${WRKDIR}/bin
 
-post-patch:
-	@${SED} -e "s|%%INSTALLDIR%%|${PREFIX}/${PORTNAME}|" ${FILESDIR}/wrapper.sh > \
-		${WRKDIR}/bin/wrapper.sh
-
 pre-build:
 	cd ${WRKSRC}/linux_x/sndserv && ${GMAKE} clean
 
@@ -58,20 +45,29 @@
 	@${LN} -s ${WRKSRC}/linux_x/sndserv/linux/llsndserv ${WRKDIR}/bin
 
 do-install:
-	${INSTALL} -d ${TARGET_DIR}
-	${INSTALL_PROGRAM} ${PROG_FILES} ${TARGET_DIR}
-	${INSTALL} ${SGID_ARGS} ${SGID_FILES} ${TARGET_DIR}
-	${INSTALL_DATA} ${DATA_FILES} ${TARGET_DIR}
-	${INSTALL_SCRIPT} ${WRKDIR}/bin/wrapper.sh ${TARGET_DIR}/legacy.sh
-	@${LN} -s ${TARGET_DIR}/legacy.sh ${PREFIX}/bin/legacy
+	${MKDIR} ${DATADIR}
+	${INSTALL_PROGRAM} ${WRKDIR}/bin/llsndserv ${WRKDIR}/bin/r_opengl.so \
+		${DATADIR}
+	${INSTALL} -c -s -o root -g kmem -m 2555 ${WRKDIR}/bin/lsdldoom \
+		${DATADIR}
+	${INSTALL_DATA} ${WRKDIR}/bin/legacy.dat ${DATADIR}
+	${INSTALL_SCRIPT} ${WRKDIR}/legacy ${PREFIX}/bin
 
 post-install:
 .ifndef(NOPORTDOCS)
 	${MKDIR} ${DOCSDIR}
-.for file in ${DOC_FILES}
-	${INSTALL_MAN} ${WRKSRC}/_doc/${file} ${DOCSDIR}
-.endfor
+.   for f in *.html *.txt *.cfg README_SDL copying
+	${INSTALL_DATA} ${WRKSRC}/_doc/${f} ${DOCSDIR}
+.   endfor
+.endif
+
+.include "${.CURDIR}/../doom-data/Makefile.include"
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == "i386" && defined(WITH_X86_ASM)
+BUILD_DEPENDS+=	nasm:${PORTSDIR}/devel/nasm
+MAKE_ARGS+=	USEASM=1
 .endif
-	@${SED} -e "s|%%PREFIX%%|${PREFIX}|" ${PKGMESSAGE}
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff -urN /usr/ports/games/doomlegacy/files/legacy.in doomlegacy/files/legacy.in
--- /usr/ports/games/doomlegacy/files/legacy.in	Wed Dec 31 21:00:00 1969
+++ doomlegacy/files/legacy.in	Sun Sep 18 12:22:54 2005
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# The executable needs to run from a directory with the Doom Legacy data
+# files, libraries and executables, and Doom WAD files. So we mirror the Doom
+# Legacy and Doom (WAD files) data directory to ~/.legacy, and create symlinks
+# to the data files.
+
+cd %%DATADIR%% || exit 1
+
+find * -type d -exec mkdir -p ~/.legacy/{} \; || exit 1
+find * -type f -exec ln -sf %%DATADIR%%/{} ~/.legacy/{} \; || exit 1
+
+cd %%DMDIR%% || exit 1
+
+find * -type d -exec mkdir -p ~/.legacy/{} \; || exit 1
+find * -type f -exec ln -sf %%DMDIR%%/{} ~/.legacy/{} \; || exit 1
+
+cd ~/.legacy || exit 1
+
+exec ./lsdldoom -nocheckwadversion $*
diff -urN /usr/ports/games/doomlegacy/files/patch-makefile doomlegacy/files/patch-makefile
--- /usr/ports/games/doomlegacy/files/patch-makefile	Sun Mar 28 14:01:31 2004
+++ doomlegacy/files/patch-makefile	Mon Sep 19 20:44:43 2005
@@ -1,15 +1,19 @@
---- makefile.orig	Fri Oct  3 15:11:05 2003
-+++ makefile	Sun Mar 28 17:15:39 2004
-@@ -260,7 +260,7 @@
+--- makefile.orig	Sun Apr 18 18:02:24 2004
++++ makefile	Mon Sep 19 20:44:29 2005
+@@ -260,12 +260,10 @@
  
  # gcc or g++
  #CC=@gcc
 -CC=gcc
-+CC?=gcc
  
  #if use PGCC or EGCS
  PGCC=1
-@@ -407,7 +407,8 @@
+ 
+-WFLAGS=-Wall # -W -Wno-unused -Wno-sign-compare
+ 
+ #uncomment if you want to use the POLL_POINTER hack
+ #POLL_POINTER=-DPOLL_POINTER
+@@ -407,7 +405,8 @@
  
  	    OPTS := $(OPTS) -DVID_X11 $(POLL_POINTER) -I. -I/usr/X11R6/include
  	    LDFLAGS=-L/usr/X11R6/lib
@@ -19,7 +23,16 @@
  	    # name of the exefile
  	    EXENAME=llxdoom
  	    SFLAGS=-g $(OPTS)
-@@ -428,7 +429,8 @@
+@@ -418,7 +417,7 @@
+ 	else #ifdef X
+ 	ifdef FBSD_SDL
+             INTERFACE=sdl
+-	    OPTS := -DLINUX -DFREEBSD -DHWRENDER -DDIRECTFULLSCREEN -DHAVE_MIXER -DSDL -DVID_X11 $(POLL_POINTER) -I. -I/usr/local/include/SDL11 -I/usr/X11R6/include -Wall
++	    OPTS := -DLINUX -DFREEBSD -DHWRENDER -DDIRECTFULLSCREEN -DHAVE_MIXER -DSDL -DVID_X11 $(POLL_POINTER) -I. -I/usr/local/include/SDL11 -I/usr/X11R6/include
+ 	    SFLAGS=-g $(OPTS)
+ 	    OBJS=$(O)/i_video.o $(O)/dosstr.o $(O)/endtxt.o \
+ 		 $(O)/hw_bsp.o $(O)/hw_draw.o $(O)/hw_light.o $(O)/hw_main.o \
+@@ -428,7 +427,8 @@
  	    DEBUGLIBS=$(LIBS)
  
  	    LDFLAGS=-L/usr/X11R6/lib -L/usr/local/lib
@@ -29,37 +42,58 @@
  	    DEBUGLIBS=$(LIBS)
  
  	    # name of the exefile
-@@ -555,13 +557,13 @@
+@@ -533,11 +533,7 @@
+ 
+ ifndef SOLARIS
+ ifdef GCC30
+-	M5=-march=pentium
+-	M4=-march=486
+ else
+-	M5=-mpentium
+-	M4=-m486
+ endif
+ endif
+ 
+@@ -555,13 +551,13 @@
  
  	# build a normal optimised version
  	ifdef PGCC
 -		CFLAGS = $(OPTS) $(M5) -O6 -ffast-math -fomit-frame-pointer -fwritable-strings
-+		CFLAGS += $(OPTS) -fwritable-strings
++		CFLAGS += $(OPTS)
  		# -fgcse -fcse-follow-jumps -fcse-skip-blocks -frerun-cse-after-loop -ffunction-cse \
  		# -fexpensive-optimizations -fforce-mem -fstrength-reduce -fthread-jumps  \
  		# -fregmove -fschedule-insns -fschedule-insns2 -fmove-all-movables \
  		# -fcaller-saves -finline-functions -mieee-fp -mfp-ret-in-387 -m80387 -mhard-float -finline
  	else
 -		CFLAGS = $(M4) -O3 -ffast-math -fomit-frame-pointer -fwritable-strings $(OPTS)
-+		CFLAGS += -fwritable-strings $(OPTS)
++		CFLAGS += $(OPTS)
  	endif
  endif
  
-@@ -735,7 +737,7 @@
+@@ -735,7 +731,7 @@
  
  #dll
  dll : $(O)/r_opengl.o $(O)/ogl_x11.o
 -	$(CC) $(M5) -O6 -o $(BIN)/r_opengl.so -shared -nostartfiles $(O)/r_opengl.o $(O)/ogl_x11.o -L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXext -lGL -lGLU -lm
-+	$(CC) ${CFLAGS} -o $(BIN)/r_opengl.so -shared -nostartfiles $(O)/r_opengl.o $(O)/ogl_x11.o -L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXext -lGL -lGLU -lm
++	$(CC) $(CFLAGS) -o $(BIN)/r_opengl.so -shared -nostartfiles $(O)/r_opengl.o $(O)/ogl_x11.o -L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXext -lGL -lGLU -lm
  
  musserv:
  	@mkdir -p $(MUSSERV)/linux
-@@ -763,7 +765,7 @@
- 	$(CC) $(CFLAGS) $(LDFLAGS) $(WFLAGS) -I/usr/X11R6/include -c $< -o $@
+@@ -760,7 +756,7 @@
+ ifdef FREEBSD
+ ifdef FBSD_SDL
+ $(O)/r_opengl.o:	hardware/r_opengl/r_opengl.c hardware/r_opengl/r_opengl.h
+-	$(CC) $(CFLAGS) $(LDFLAGS) $(WFLAGS) -I/usr/X11R6/include -c $< -o $@
++	$(CC) -fPIC $(CFLAGS) $(LDFLAGS) $(WFLAGS) -I/usr/X11R6/include -c $< -o $@
  else  #FBSD_SDL
  $(O)/r_opengl.o:	hardware/r_opengl/r_opengl.c hardware/r_opengl/r_opengl.h
--	$(CC) $(M5) -O6 -o $(O)/r_opengl.o	-DHWRENDER -DVID_X11 -DLINUX -DFREEBSD $(POLL_POINTER) -shared -nostartfiles -I/usr/X11R6/include -c hardware/r_opengl/r_opengl.c
-+	$(CC) ${CFLAGS} -o $(O)/r_opengl.o	-DHWRENDER -DVID_X11 -DLINUX -DFREEBSD $(POLL_POINTER) -shared -nostartfiles -I/usr/X11R6/include -c hardware/r_opengl/r_opengl.c
- endif #FBSD_SDL
- endif #FREEBSD
+ 	$(CC) $(M5) -O6 -o $(O)/r_opengl.o	-DHWRENDER -DVID_X11 -DLINUX -DFREEBSD $(POLL_POINTER) -shared -nostartfiles -I/usr/X11R6/include -c hardware/r_opengl/r_opengl.c
+@@ -777,7 +773,7 @@
+ 	$(CC) $(M5) -O6 -o $(O)/ogl_x11.o -DHWRENDER -DVID_X11 -DLINUX $(POLL_POINTER) -shared -nostartfiles -I/usr/X11R6/include -c hardware/r_opengl/ogl_x11.c
+ else
+ $(O)/ogl_x11.o:  hardware/r_opengl/ogl_x11.c hardware/r_opengl/r_opengl.h
+-	$(CC) $(M5) -O6 -o $(O)/ogl_x11.o -DHWRENDER -DVID_X11 -DLINUX -DFREEBSD $(POLL_POINTER) -shared -nostartfiles -I/usr/X11R6/include -c hardware/r_opengl/ogl_x11.c
++	$(CC) -fPIC $(CFLAGS) -o $(O)/ogl_x11.o -DHWRENDER -DVID_X11 -DLINUX -DFREEBSD $(POLL_POINTER) -shared -nostartfiles -I/usr/X11R6/include -c hardware/r_opengl/ogl_x11.c
+ endif
+ 
  
diff -urN /usr/ports/games/doomlegacy/files/patch-sndserv_Makefile doomlegacy/files/patch-sndserv_Makefile
--- /usr/ports/games/doomlegacy/files/patch-sndserv_Makefile	Wed Dec 31 21:00:00 1969
+++ doomlegacy/files/patch-sndserv_Makefile	Sun Sep 18 13:12:57 2005
@@ -0,0 +1,12 @@
+--- linux_x/sndserv/Makefile.orig	Sun Apr 18 18:02:24 2004
++++ linux_x/sndserv/Makefile	Sun Sep 18 13:09:38 2005
+@@ -26,8 +26,7 @@
+ #
+ #
+ 
+-CC=gcc
+-CFLAGS=-O2 -m486 -Wall -DNORMALUNIX -DLINUX
++CFLAGS=-DNORMALUNIX -DLINUX
+ ifdef FREEBSD
+ CFLAGS:=${CFLAGS} -DFREEBSD
+ endif
diff -urN /usr/ports/games/doomlegacy/files/patch-sndserver::Makefile doomlegacy/files/patch-sndserver::Makefile
--- /usr/ports/games/doomlegacy/files/patch-sndserver::Makefile	Thu Oct  2 19:56:19 2003
+++ doomlegacy/files/patch-sndserver::Makefile	Wed Dec 31 21:00:00 1969
@@ -1,13 +0,0 @@
---- linux_x/sndserv/Makefile.orig	Thu Oct  2 15:42:17 2003
-+++ linux_x/sndserv/Makefile	Thu Oct  2 15:42:40 2003
-@@ -21,8 +21,8 @@
- #
- #
- 
--CC=gcc
--CFLAGS=-O2 -m486 -Wall -DNORMALUNIX -DLINUX
-+CC?=gcc
-+CFLAGS+=-Wall -DNORMALUNIX -DLINUX
- ifdef FREEBSD
- CFLAGS:=${CFLAGS} -DFREEBSD
- endif
diff -urN /usr/ports/games/doomlegacy/files/wrapper.sh doomlegacy/files/wrapper.sh
--- /usr/ports/games/doomlegacy/files/wrapper.sh	Sun Mar 28 14:01:31 2004
+++ doomlegacy/files/wrapper.sh	Wed Dec 31 21:00:00 1969
@@ -1,6 +0,0 @@
-#!/bin/sh
-# Needed to make symlinks/shortcuts work.
-# Wrap lsdldoom binary
-cd %%INSTALLDIR%%
-./lsdldoom -nocheckwadversion $*
-exit $?
diff -urN /usr/ports/games/doomlegacy/pkg-message doomlegacy/pkg-message
--- /usr/ports/games/doomlegacy/pkg-message	Sun Mar 28 14:01:30 2004
+++ doomlegacy/pkg-message	Wed Dec 31 21:00:00 1969
@@ -1,14 +0,0 @@
-
-************************************************************
-Please read docs in
-
-     %%PREFIX%%/share/doc/doomlegacy
-
-before you run the application.
-************************************************************
-Copy DOOM.WAD or other id iwads into
-
-     %%PREFIX%%/doomlegacy
-
-************************************************************
-
diff -urN /usr/ports/games/doomlegacy/pkg-plist doomlegacy/pkg-plist
--- /usr/ports/games/doomlegacy/pkg-plist	Thu Aug  5 09:21:15 2004
+++ doomlegacy/pkg-plist	Sun Sep 18 12:09:43 2005
@@ -1,9 +1,8 @@
 bin/legacy
-doomlegacy/legacy.dat
-doomlegacy/legacy.sh
-doomlegacy/llsndserv
-doomlegacy/lsdldoom
-doomlegacy/r_opengl.so
+%%DATADIR%%/legacy.dat
+%%DATADIR%%/llsndserv
+%%DATADIR%%/lsdldoom
+%%DATADIR%%/r_opengl.so
 %%PORTDOCS%%%%DOCSDIR%%/3dfloors.html
 %%PORTDOCS%%%%DOCSDIR%%/Doublescan.txt
 %%PORTDOCS%%%%DOCSDIR%%/README_SDL
@@ -24,5 +23,5 @@
 %%PORTDOCS%%%%DOCSDIR%%/sound.cfg
 %%PORTDOCS%%%%DOCSDIR%%/source.html
 %%PORTDOCS%%%%DOCSDIR%%/Whatsnew.html
- at dirrm share/doc/doomlegacy
- at dirrm doomlegacy
+ at dirrm %%DOCSDIR%%
+ at dirrm %%DATADIR%%
--- doomlegacy.diff ends here ---



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



More information about the freebsd-ports-bugs mailing list