- Update to version 3343.

- Reorganize options (remove unsupported/not needed and use common names in
  the remaining ones).
- Use .tar.gz distfile instead of .zip.
- Patch to write in ~/.fte by default (previously needed "-usehome").
- Add more information to pkg-message.
This commit is contained in:
Alejandro Pulver 2008-02-15 20:44:59 +00:00
parent cf0e823937
commit 2d6388539e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=207276
7 changed files with 122 additions and 164 deletions

View file

@ -6,8 +6,7 @@
#
PORTNAME= fteqw
PORTVERSION= 2770
PORTREVISION= 2
PORTVERSION= 3343
CATEGORIES= games
MASTER_SITES= SF
DISTNAME= ftesrc${PORTVERSION}-all
@ -15,17 +14,14 @@ DISTNAME= ftesrc${PORTVERSION}-all
MAINTAINER= alepulver@FreeBSD.org
COMMENT= QuakeWorld client with cool features, but still compatible
USE_ZIP= yes
USE_DOS2UNIX= yes
USE_GCC= 3.2+
USE_GMAKE= yes
WRKSRC= ${WRKDIR}/engine
NO_WRKSUBDIR= yes
OPTIONS= GL "Build OpenGL client" on \
OPTIONS= DEDICATED "Build dedicated server" on \
GL "Build OpenGL (hardware) client" on \
OPTIMIZED_CFLAGS "Enable compilation optimizations" on \
SV "Build dedicated server" on \
SW "Build software (X11) client" on \
X86_ASM "Enable use of x86 assembly code" on
SDL "Build SDL (software) client" on
SUB_FILES= pkg-message
@ -33,11 +29,17 @@ SUB_FILES= pkg-message
.include <bsd.port.pre.mk>
.if defined(WITHOUT_DEDICATED) && defined(WITHOUT_GLX) && defined(WITHOUT_X11)
IGNORE= needs at least one executable (DEDICATED, GLX or X11)
.if defined(WITHOUT_DEDICATED) && defined(WITHOUT_GL) && defined(WITHOUT_SDL)
IGNORE= needs at least one executable (DEDICATED, GL or SDL)
.endif
.if !defined(WITHOUT_GL) || !defined(WITHOUT_SW)
.if !defined(WITHOUT_DEDICATED)
ALL_TARGET+= sv-rel
PLIST_FILES+= bin/fteqw-sv
FTE_TARGETS+= fteqw.sv
.endif
.if !defined(WITHOUT_GL) || !defined(WITHOUT_SDL)
LIB_DEPENDS+= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
vorbis.4:${PORTSDIR}/audio/libvorbis
@ -54,25 +56,18 @@ FTE_TARGETS+= fteqw.gl
MAKE_ENV+= OPTIMIZED_CFLAGS=true
.endif
.if !defined(WITHOUT_SV)
ALL_TARGET+= sv-rel
PLIST_FILES+= bin/fteqw-sv
FTE_TARGETS+= fteqw.sv
.endif
.if !defined(WITHOUT_SW)
USE_XLIB= yes
# SDL is used instead of the native X11 software version as it reports a
# memory allocation error at startup. It also fails with USEASM=true.
.if !defined(WITHOUT_SDL)
USE_SDL= sdl
ALL_TARGET+= sw-rel
PLIST_FILES+= bin/fteqw-sw
FTE_TARGETS+= fteqw.sw
.endif
.if !defined(WITHOUT_X86_ASM) && ${ARCH} == "i386"
MAKE_ENV+= USEASM=true
PLIST_FILES+= bin/fteqw-sdl
FTE_TARGETS+= fteqw.sdl
.endif
post-patch:
@${REINPLACE_CMD} -e 's/malloc\.h/stdlib.h/' ${WRKSRC}/gl/gl_alias.c
@${REINPLACE_CMD} -e 's/alloca\.h/stdlib.h/' \
${WRKSRC}/gl/gl_alias.c ${WRKSRC}/common/com_mesh.c
@${REINPLACE_CMD} -e 's/__linux__/__unix__/' \
${WRKSRC}/common/plugin.c ${WRKSRC}/server/svq3_game.c

View file

@ -1,3 +1,3 @@
MD5 (ftesrc2770-all.zip) = 1a47b5d5c88422316814d6e4ed1c2d17
SHA256 (ftesrc2770-all.zip) = bc8eb51f67a0f8d73a355db4d317dd35a26a6c1827d96f180a76d7bacef1d43e
SIZE (ftesrc2770-all.zip) = 2713584
MD5 (ftesrc3343-all.tar.gz) = b118f9363f416975482da149612b2d30
SHA256 (ftesrc3343-all.tar.gz) = e0ced694415d8bf3727848d0522d65879e539e352a3e3caf14c75f4fe05747b9
SIZE (ftesrc3343-all.tar.gz) = 3257106

View file

@ -1,97 +1,87 @@
--- ./Makefile.orig Tue Jul 18 00:34:50 2006
+++ ./Makefile Sat Sep 2 18:40:11 2006
@@ -1,5 +1,5 @@
--- Makefile.orig 2008-02-15 17:58:56.000000000 -0300
+++ Makefile 2008-02-15 18:00:12.000000000 -0300
@@ -1,6 +1,6 @@
-CC=gcc
-STRIP=strip
+CC?=gcc
WINDRES=windres
-STRIP=strip
+STRIP?=strip
STRIPFLAGS=--strip-unneeded --remove-section=.comment
@@ -86,9 +86,9 @@
BASELDFLAGS ?= -lm -ldl
@@ -179,9 +179,9 @@
endif
#BASELDFLAGS=-lm -lz
-GLXLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext -lpng -ljpeg
-GLXLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext $(IMAGELDFLAGS)
-GLSLDFLAGS=-L/usr/X11R6/lib -lMesaGL -lglide -lvga
-XLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext -lpng -ljpeg
+GLXLDFLAGS=-L$(X11BASE)/lib -lX11 -lXext -L$(LOCALBASE)/lib -lpng -ljpeg
+GLSLDFLAGS=-L$(X11BASE)/lib -lMesaGL -lglide -lvga
+XLDFLAGS=-L$(X11BASE)/lib -lX11 -lXext -L$(LOCALBASE)/lib -lpng -ljpeg
-XLDFLAGS=-L/usr/X11R6/lib -lX11 -lXext $(IMAGELDFLAGS)
+GLXLDFLAGS=-L$(LOCALBASE)/lib -lX11 -lXext $(IMAGELDFLAGS)
+GLSLDFLAGS=-L$(LOCALBASE)/lib -lMesaGL -lglide -lvga
+XLDFLAGS=-L$(LOCALBASE)/lib -lX11 -lXext $(IMAGELDFLAGS)
SLDFLAGS=-lvga
ifeq ($(USEASM),true)
@@ -119,12 +119,14 @@
@@ -212,18 +212,20 @@
BASE_ASM_CFLAGS = -DNOASM
endif
-BASE_CFLAGS=$(BASE_ASM_CFLAGS) -Wall -Dstrnicmp=strncasecmp -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR) -I$(COMMON_DIR) -I$(SW_DIR) -I$(GL_DIR) -I$(PROGS_DIR) -I$(LIBS_DIR) -I$(QUX_DIR) -I$(LIBS_DIR)/dxsdk7/include -I$(LIBS_DIR)/sdl/include -I$(LIBS_DIR)/sdl/include/SDL -D_vsnprintf=vsnprintf -D_snprintf=snprintf
+BASE_CFLAGS=$(BASE_ASM_CFLAGS) -Dstrnicmp=strncasecmp -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR) -I$(COMMON_DIR) -I$(SW_DIR) -I$(GL_DIR) -I$(PROGS_DIR) -I$(LIBS_DIR) -I$(QUX_DIR) -I$(LIBS_DIR)/dxsdk7/include -I$(LIBS_DIR)/sdl/include -I$(LIBS_DIR)/sdl/include/SDL -D_vsnprintf=vsnprintf -D_snprintf=snprintf
-BASE_CFLAGS=$(BASE_ASM_CFLAGS) -Wall -Dstrnicmp=strncasecmp -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR) -I$(COMMON_DIR) -I$(SW_DIR) -I$(GL_DIR) -I$(D3D9_DIR) -I$(D3D7_DIR) -I$(PROGS_DIR) -I$(LIBS_DIR) -I$(LIBS_DIR)/dxsdk7/include -I$(LIBS_DIR)/sdl/include -I$(LIBS_DIR)/sdl/include/SDL -D_vsnprintf=vsnprintf -D_snprintf=snprintf
+BASE_CFLAGS=$(BASE_ASM_CFLAGS) -Dstrnicmp=strncasecmp -Dstricmp=strcasecmp -I$(CLIENT_DIR) -I$(SERVER_DIR) -I$(COMMON_DIR) -I$(SW_DIR) -I$(GL_DIR) -I$(D3D9_DIR) -I$(D3D7_DIR) -I$(PROGS_DIR) -I$(LIBS_DIR) -I$(LIBS_DIR)/dxsdk7/include -I$(LIBS_DIR)/sdl/include -I$(LIBS_DIR)/sdl/include/SDL -D_vsnprintf=vsnprintf -D_snprintf=snprintf
CLIENT_ONLY_CFLAGS=-DCLIENTONLY
SERVER_ONLY_CFLAGS=-DSERVERONLY
JOINT_CFLAGS=
DEBUG_CFLAGS=-ggdb -g
+ifeq ($(OPTIMIZED_CFLAGS),true)
RELEASE_CFLAGS=-O6 -fno-strict-aliasing -ffast-math -funroll-loops -fexpensive-optimizations $(CPUOPTIMIZATIONS)
ifeq ($(FTE_TARGET),win32)
RELEASE_CFLAGS=-fno-strict-aliasing -ffast-math -fexpensive-optimizations $(CPUOPTIMIZATIONS)
else
RELEASE_CFLAGS=-O2 -fno-strict-aliasing $(CPUOPTIMIZATIONS)
#RELEASE_CFLAGS=-O6 -fno-strict-aliasing -ffast-math -funroll-loops -fexpensive-optimizations $(CPUOPTIMIZATIONS)
endif
+endif
GLCFLAGS=-DGLQUAKE
SWCFLAGS=-DSWQUAKE
@@ -550,7 +552,7 @@
#oss, X, etc.
@@ -339,11 +341,11 @@
GL_EXE_NAME=../fteqw_sdl.gl
GLCL_EXE_NAME=../fteqwcl_sdl.gl
ifdef windir
- GL_LDFLAGS=$(GLLDFLAGS) -lmingw32 -lwsock32 `sdl-config --libs`
+ GL_LDFLAGS=$(GLLDFLAGS) -lmingw32 -lwsock32 `$(SDL_CONFIG) --libs`
else
- GL_LDFLAGS=$(GLLDFLAGS) -lpng -ljpeg `sdl-config --libs`
+ GL_LDFLAGS=$(GLLDFLAGS) -lpng -ljpeg `$(SDL_CONFIG) --libs`
endif
-GL_CFLAGS=$(GLCFLAGS) `sdl-config --cflags`
+GL_CFLAGS=$(GLCFLAGS) `$(SDL_CONFIG) --cflags`
GLB_DIR=gl_sdl
GLCL_DIR=glcl_sdl
SV_DIR=sv_linux
- SV_LDFLAGS=-lz -ldl
+ SV_LDFLAGS=-lz
@@ -354,9 +356,9 @@
SW_LDFLAGS=$(SWLDFLAGS) -lmingw32 -lwsock32 -lSDLmain -lSDL
else
#pthread is needed because of SDL.
-SW_LDFLAGS=$(SWLDFLAGS) `sdl-config --libs` -lpng -ljpeg
+SW_LDFLAGS=$(SWLDFLAGS) `$(SDL_CONFIG) --libs` -lpng -ljpeg
endif
-SW_CFLAGS=$(SWCFLAGS) `sdl-config --cflags`
+SW_CFLAGS=$(SWCFLAGS) `$(SDL_CONFIG) --cflags`
SWB_DIR=sw_sdl
SWCL_DIR=swcl_sdl
@@ -424,8 +426,8 @@
endif
ifeq ($(USEASM),true)
GLCL_OBJS=$(GL_OBJS) $(GLQUAKE_OBJS) gl_vidlinuxglx.o snd_linux.o cd_null.o sys_linux.o sys_dosa.o
@@ -560,19 +562,12 @@
GL_EXE_NAME=../fteqw.gl
GLCL_EXE_NAME=../fteqwcl.gl
- GL_LDFLAGS= -L/usr/local/lib $(GLLDFLAGS) $(GLXLDFLAGS) -lXxf86vm
GL_LDFLAGS= -L/usr/local/lib $(GLLDFLAGS) $(GLXLDFLAGS) -lXxf86vm -lpthread
- GL_CFLAGS=$(GLCFLAGS) -I/usr/local/include -I/usr/X11R6/include
+ GL_LDFLAGS=$(GLLDFLAGS) $(GLXLDFLAGS) -lXxf86vm
+ GL_CFLAGS=$(GLCFLAGS) -I$(LOCALBASE)/include -I$(X11BASE)/include
+ GL_CFLAGS=$(GLCFLAGS) -I$(LOCALBASE)/include
GLB_DIR=gl_bsd
GLCL_DIR=glcl_bsd
@@ -436,8 +438,8 @@
endif
SW_EXE_NAME=../fteqw.sw
SWCL_EXE_NAME=../fteqwcl.sw
- SW_LDFLAGS=-L/usr/local/lib $(SWLDFLAGS) $(XLDFLAGS)
-ifeq ($(USEASM),true)
- SWCL_OBJS=$(SOFTWARE_OBJS) vid_x.o snd_linux.o cd_null.o sys_linux.o sys_dosa.o
-else
- SWCL_OBJS=$(SOFTWARE_OBJS) vid_x.o snd_linux.o cd_null.o sys_linux.o
-endif
- SW_EXE_NAME=../fteqw.sw
- SWCL_EXE_NAME=../fteqwcl.sw
- SW_LDFLAGS=-L/usr/local/lib $(SWLDFLAGS) $(XLDFLAGS) -lXxf86vm -lpthread
- SW_CFLAGS=$(SWCFLAGS) -I/usr/local/include -I/usr/X11R6/include
+ SW_LDFLAGS=$(SWLDFLAGS) $(XLDFLAGS)
+ SW_CFLAGS=$(SWCFLAGS) -I$(LOCALBASE)/include -I$(X11BASE)/include
+ SW_EXE_NAME=../fteqw.sdl
+ SWCL_EXE_NAME=../fteqwcl.sdl
SWB_DIR=sw_bsd
SWCL_DIR=swcl_bsd
@@ -449,7 +451,7 @@
@@ -584,7 +579,7 @@
M_EXE_NAME=../fteqw
MCL_EXE_NAME=../fteqwcl
M_LDFLAGS=$(GLLDFLAGS) $(GLXLDFLAGS) -lXxf86vm
M_LDFLAGS=$(GLLDFLAGS) $(GLXLDFLAGS) -lXxf86vm -lpthread
- M_CFLAGS=$(SWCFLAGS) $(GLCFLAGS) -I/usr/X11R6/include
+ M_CFLAGS=$(SWCFLAGS) $(GLCFLAGS) -I$(X11BASE)/include
+ M_CFLAGS=$(SWCFLAGS) $(GLCFLAGS) -I$(LOCALBASE)/include
MB_DIR=m_bsd
MCL_DIR=mcl_bsd
endif

View file

@ -1,31 +1,30 @@
--- ./client/snd_linux.c.orig Tue Jul 18 00:34:50 2006
+++ ./client/snd_linux.c Sat Sep 2 18:40:11 2006
@@ -115,14 +115,6 @@
--- ./client/snd_linux.c.orig 2008-02-15 14:04:33.000000000 -0300
+++ ./client/snd_linux.c 2008-02-15 14:09:16.000000000 -0300
@@ -114,14 +114,6 @@
return 0;
}
- if (ioctl(sc->audio_fd, SNDCTL_DSP_GETOSPACE, &info)==-1)
- {
- perror("GETOSPACE");
- Con_Printf(S_ERROR "OSS: Um, can't do GETOSPACE?\n");
- Con_Printf(CON_ERROR "OSS: Um, can't do GETOSPACE?\n");
- OSS_Shutdown(sc);
- return 0;
- }
-
sc->sn.splitbuffer = 0;
// set sample bits & speed
@@ -152,27 +144,6 @@
ioctl(sc->audio_fd, SNDCTL_DSP_GETFMTS, &fmt);
@@ -149,26 +141,6 @@
sc->sn.speed = tryrates[i];
}
- if (sc->sn.samples > (info.fragstotal * info.fragsize * 4))
- {
- Con_Printf(S_NOTICE "OSS: Enabling bigfoot's mmap hack! Hope you know what you're doing!\n");
- Con_Printf(CON_NOTICE "OSS: Enabling bigfoot's mmap hack! Hope you know what you're doing!\n");
- sc->sn.samples = info.fragstotal * info.fragsize * 4;
- }
- sc->sn.samples = info.fragstotal * info.fragsize;
- sc->sn.submission_chunk = 1;
-
-// memory map the dma buffer
-
@ -33,7 +32,7 @@
- if (!sc->sn.buffer)
- {
- perror(snddev);
- Con_Printf(S_ERROR "OSS: Could not mmap %s\n", snddev);
- Con_Printf(CON_ERROR "OSS: Could not mmap %s\n", snddev);
- OSS_Shutdown(sc);
- return 0;
- }
@ -43,22 +42,19 @@
tmp = 0;
if (sc->sn.numchannels == 2)
tmp = 1;
@@ -228,6 +199,36 @@
Con_Printf(S_ERROR "OSS: %d-bit sound not supported.\n", sc->sn.samplebits);
OSS_Shutdown(sc);
@@ -226,6 +198,35 @@
return 0;
+ }
+
}
+ if (ioctl(sc->audio_fd, SNDCTL_DSP_GETOSPACE, &info)==-1)
+ {
+ perror("GETOSPACE");
+ Con_Printf(S_ERROR "OSS: Um, can't do GETOSPACE?\n");
+ Con_Printf(CON_ERROR "OSS: Um, can't do GETOSPACE?\n");
+ OSS_Shutdown(sc);
+ return 0;
+ }
+
+ sc->sn.samples = info.fragstotal * info.fragsize;
+ sc->sn.submission_chunk = 1;
+
+// memory map the dma buffer
+
@ -66,7 +62,7 @@
+ if (!sc->sn.buffer)
+ {
+ perror(snddev);
+ Con_Printf(S_ERROR "OSS: Could not mmap %s\n", snddev);
+ Con_Printf(CON_ERROR "OSS: Could not mmap %s\n", snddev);
+ OSS_Shutdown(sc);
+ return 0;
+ }
@ -75,8 +71,10 @@
+
+ if (sc->sn.samples > (info.fragstotal * info.fragsize * 4))
+ {
+ Con_Printf(S_NOTICE "OSS: Enabling bigfoot's mmap hack! Hope you know what you're doing!\n");
+ Con_Printf(CON_NOTICE "OSS: Enabling bigfoot's mmap hack! Hope you know what you're doing!\n");
+ sc->sn.samples = info.fragstotal * info.fragsize * 4;
}
+ }
+
// toggle the trigger & start her up
tmp = 0;

View file

@ -1,23 +1,11 @@
--- ./client/sys_linux.c.orig Tue Jul 18 00:34:50 2006
+++ ./client/sys_linux.c Sat Sep 2 18:40:52 2006
@@ -364,18 +364,15 @@
void *(*GetGameAPI)(void *);
--- ./client/sys_linux.c.orig 2008-02-15 11:45:36.000000000 -0300
+++ ./client/sys_linux.c 2008-02-15 11:45:37.000000000 -0300
@@ -371,7 +371,7 @@
char name[MAX_OSPATH];
- char curpath[MAX_OSPATH];
char curpath[MAX_OSPATH];
char *searchpath;
- const char *gamename = "gamei386.so";
+ const char *gamename = "game.so";
void *ret;
- getcwd(curpath, sizeof(curpath));
-
searchpath = 0;
while((searchpath = COM_NextPath(searchpath)))
{
- sprintf (name, "%s/%s/%s", curpath, searchpath, gamename);
+ sprintf (name, "%s/%s", searchpath, gamename);
game_library = dlopen (name, RTLD_LAZY );
if (game_library)

View file

@ -1,38 +1,24 @@
--- ./common/fs.c.orig Tue Jul 18 00:34:40 2006
+++ ./common/fs.c Sat Sep 2 19:18:59 2006
@@ -2051,7 +2051,7 @@
case FS_GAMEONLY: //OS access only, no paks
if (*com_homedir)
{
- snprintf(fullname, sizeof(fullname), "%s%s/%s", com_homedir, gamedirfile, filename);
+ snprintf(fullname, sizeof(fullname), "%s/%s/%s", com_homedir, gamedirfile, filename);
vfs = VFSOS_Open(fullname, mode);
if (vfs)
return vfs;
@@ -2060,7 +2060,7 @@
--- common/fs.c.orig 2008-02-15 14:55:07.000000000 -0300
+++ common/fs.c 2008-02-15 14:55:19.000000000 -0300
@@ -2120,8 +2120,10 @@
}
//if we're meant to be writing, best write to it.
- if (strchr(mode , 'w') || strchr(mode , 'a'))
+ if (strchr(mode , 'w') || strchr(mode , 'a')) {
+ COM_CreatePath(fullname);
return VFSOS_Open(fullname, mode);
case FS_GAME:
if (*com_homedir)
- snprintf(fullname, sizeof(fullname), "%s%s/%s", com_homedir, gamedirfile, filename);
+ snprintf(fullname, sizeof(fullname), "%s/%s/%s", com_homedir, gamedirfile, filename);
else
snprintf(fullname, sizeof(fullname), "%s%s/%s", com_quakedir, gamedirfile, filename);
break;
@@ -2073,7 +2073,7 @@
case FS_BASE:
if (*com_homedir)
{
- snprintf(fullname, sizeof(fullname), "%s%s", com_homedir, filename);
+ snprintf(fullname, sizeof(fullname), "%s/%s", com_homedir, filename);
vfs = VFSOS_Open(fullname, mode);
if (vfs)
return vfs;
@@ -2083,7 +2083,7 @@
case FS_CONFIGONLY:
if (*com_homedir)
{
- snprintf(fullname, sizeof(fullname), "%sfte/%s", com_homedir, filename);
+ snprintf(fullname, sizeof(fullname), "%s/fte/%s", com_homedir, filename);
vfs = VFSOS_Open(fullname, mode);
if (vfs)
return vfs;
+ }
return NULL;
}
@@ -3144,9 +3146,6 @@
*com_homedir = '\0';
#endif
- if (!COM_CheckParm("-usehome"))
- *com_homedir = '\0';
-
if (COM_CheckParm("-nohome"))
*com_homedir = '\0';

View file

@ -2,11 +2,12 @@
FTE QuakeWorld has been installed.
To start in full-screen mode run it with "-fullscreen".
To load and save the configuration to ~/.fte run it with "-usehome".
By default it saves configuration to ~/.fte, to avoid run with "-nohome".
To select the game you want to play use "-basedir <dir>". For example, to play
Quake use "-basedir %%Q1DIR%%".
For a complete list of supported games see:
http://www.fteqw.com/wiki/index.php?title=SupportedGames
==============================================================================