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