1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-24 00:45:52 +00:00

- Update to version 1.21.2.

- Use SF macro in MASTER_SITES.
- Take maintainership.
- Convert to OPTIONS.
- Remove ONLY_FOR_ARCHS=i386.
- Use (smart) wrapper script instead of "installuser" target.
- Remove "-fno-strict-aliasing" flag only (don not change CFLAGS/CXXFLAGS),
  and on any OSVERSION.
This commit is contained in:
Alejandro Pulver 2006-09-09 16:41:47 +00:00
parent 3698e511fc
commit 23d10b8deb
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=172644
7 changed files with 154 additions and 206 deletions

View File

@ -6,170 +6,125 @@
#
PORTNAME= vavoom
PORTVERSION= 1.20
PORTVERSION= 1.21.2
CATEGORIES= games
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= ${PORTNAME}
MASTER_SITES= SF
MAINTAINER= ports@FreeBSD.org
MAINTAINER= alepulver@FreeBSD.org
COMMENT= Doom, Doom II, Heretic, Hexen and Strife source port
LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png
USE_BZIP2= yes
USE_GMAKE= yes
USE_ICONV= yes
USE_AUTOTOOLS= autoconf:259
GNU_CONFIGURE= yes
CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
CONFIGURE_ARGS= --with-sdl --with-opengl --without-openal --without-vorbis \
--without-libmad --without-mikmod --without-flac
CONFIGURE_ENV= "CFLAGS=${CFLAGS} -I${LOCALBASE}/include" \
"CPPFLAGS=${CPPFLAGS} -I${LOCALBASE}/include" \
"CXXFLAGS=${CXXFLAGS} -I${LOCALBASE}/include -I${X11BASE}/include" \
"LDFLAGS=-L${LOCALBASE}/lib -L${X11BASE}/lib"
ALL_TARGET= all sv
USE_SDL= mixer sdl
USE_GL= yes
ONLY_FOR_ARCHS= i386
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include -I${X11BASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib"
.ifdef (WITH_OPTIMIZED_CFLAGS)
CFLAGS+= -O3 -ffast-math -fomit-frame-pointer
.endif
OPTIONS= ALLEGRO "Use Allegro for hardware API" off \
FLAC "Enable FLAC support" off \
LIBMAD "Enable MP3 support" off \
MIKMOD "Enable MikMod support" off \
OPENAL "Enable OpenAL support" off \
OPENGL "Enable OpenGL support" on \
OPTIMIZED_CFLAGS "Enable compilation optimizations" off \
VORBIS "Enable Ogg Vorbis support" off \
SDL "Use SDL for hardware API" on
SUB_FILES= pkg-message vavoom
SUB_LIST= "PREFIX=${PREFIX}" "PORTSDIR=${PORTSDIR}"
SUB_FILES= ${PORTNAME} pkg-message
.include <bsd.port.pre.mk>
.include "${PORTSDIR}/games/doom-data/Makefile.include"
CONFIGURE_ARGS+= --with-sdl-config=${SDL_CONFIG}
# The `-fno-strict-aliasing' flag (default on FreeBSD 6.0+) produces
# non-working code for `vcc', so we remove it here if present.
CFLAGS:= ${CFLAGS:N-fno-strict-aliasing}
CXXFLAGS:= ${CFLAGS:N-fno-strict-aliasing}
OPENAL_CONFIG?= ${LOCALBASE}/bin/openal-config
.if exists(${OPENAL_CONFIG})
WITH_OPENAL= yes
.if !defined(WITH_ALLEGRO) && !defined(WITH_SDL)
IGNORE= needs ALLEGRO or SDL for hardware API
.endif
.if exists(${LOCALBASE}/lib/libvorbis.so.3)
WITH_VORBIS= yes
.if defined(WITH_ALLEGRO) && defined(WITH_SDL)
IGNORE= selected conflicting options ALLEGRO and SDL
.endif
.if exists(${LOCALBASE}/lib/libmad.so.2)
WITH_LIBMAD= yes
.if defined(WITH_ALLEGRO)
LIB_DEPENDS+= alleg.42:${PORTSDIR}/devel/allegro \
agl.4:${PORTSDIR}/graphics/allegrogl
CONFIGURE_ARGS+=--with-allegro
.else
CONFIGURE_ARGS+=--without-allegro
.endif
MIKMOD_CONFIG?= ${LOCALBASE}/bin/libmikmod-config
.if exists(${MIKMOD_CONFIG})
WITH_MIKMOD= yes
.if defined(WITH_FLAC)
LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
CONFIGURE_ARGS+=--with-flac
.else
CONFIGURE_ARGS+=--without-flac
.endif
.if exists(${LOCALBASE}/lib/libFLAC.so.7)
WITH_FLAC= yes
.if defined(WITH_LIBMAD)
LIB_DEPENDS+= mad.2:${PORTSDIR}/audio/libmad
CONFIGURE_ARGS+=--with-libmad
.else
CONFIGURE_ARGS+=--without-libmad
.endif
.ifdef (WITH_OPENAL)
CONFIGURE_ARGS+= --with-openal
LIB_DEPENDS+= openal.0:${PORTSDIR}/audio/openal
.if defined(WITH_MIKMOD)
LIB_DEPENDS+= mikmod.2:${PORTSDIR}/audio/libmikmod
CONFIGURE_ARGS+=--with-mikmod
.else
CONFIGURE_ARGS+=--without-mikmod
.endif
.ifdef (WITH_VORBIS)
CONFIGURE_ARGS+= --with-vorbis
LIB_DEPENDS+= vorbis.3:${PORTSDIR}/audio/libvorbis
.if defined(WITH_OPENAL)
LIB_DEPENDS+= openal.0:${PORTSDIR}/audio/openal
CONFIGURE_ARGS+=--with-openal
.else
CONFIGURE_ARGS+=--without-openal
.endif
.ifdef (WITH_LIBMAD)
CONFIGURE_ARGS+= --with-libmad
LIB_DEPENDS+= mad.2:${PORTSDIR}/audio/libmad
.if defined(WITH_OPENGL)
USE_GL= yes
CONFIGURE_ARGS+=--with-opengl
.else
CONFIGURE_ARGS+=--without-opengl
.endif
.ifdef (WITH_MIKMOD)
CONFIGURE_ARGS+= --with-mikmod
LIB_DEPENDS+= mikmod.2:${PORTSDIR}/audio/libmikmod
.if defined(WITH_OPTIMIZED_CFLAGS)
CFLAGS+= -O3 -ffast-math -fomit-frame-pointer
.endif
.ifdef (WITH_FLAC)
CONFIGURE_ARGS+= --with-flac
LIB_DEPENDS+= FLAC.7:${PORTSDIR}/audio/flac
.if defined(WITH_VORBIS)
LIB_DEPENDS+= vorbis.3:${PORTSDIR}/audio/libvorbis
CONFIGURE_ARGS+=--with-vorbis
.else
CONFIGURE_ARGS+=--without-vorbis
.endif
# -fno-strict-aliasing (default on FreeBSD 6.0+) produces run-working
# code for `vcc', so use a more conservative setting here
.if (${OSVERSION} >= 600000)
CFLAGS= -O -pipe
CXXFLAGS= -O -pipe
.if defined(WITH_SDL)
USE_SDL= mixer sdl
CONFIGURE_ARGS+=--with-sdl --with-sdl-config=${SDL_CONFIG}
.else
CONFIGURE_ARGS+=--without-sdl
.endif
pre-everything::
@${ECHO_CMD} ""
.ifndef (WITH_OPENAL)
@${ECHO_CMD} "Define WITH_OPENAL=yes to build with 3D sound support"
.endif
.ifndef (WITH_VORBIS)
@${ECHO_CMD} "Define WITH_VORBIS=yes to build with Vorbis support"
.endif
.ifndef (WITH_LIBMAD)
@${ECHO_CMD} "Define WITH_LIBMAD=yes to build MP3 music support"
.endif
.ifndef (WITH_MIKMOD)
@${ECHO_CMD} "Define WITH_MIKMOD=yes to build with MikMod support"
.endif
.ifndef (WITH_FLAC)
@${ECHO_CMD} "Define WITH_FLAC=yes to build with FLAC support"
.endif
.ifndef (WITH_OPTIMIZED_CFLAGS)
@${ECHO_CMD} "Define WITH_OPTIMIZED_CFLAGS=yes to build Vavoom optimized for speed"
.endif
@${ECHO_CMD} ""
post-patch:
@${REINPLACE_CMD} -i '' -e 's|SDL\/||g' ${WRKSRC}/source/*.cpp
@${REINPLACE_CMD} -e 's|<malloc.h>|<stdlib.h>|' \
${WRKSRC}/utils/acc/parse.c ${WRKSRC}/utils/acc/strlist.c
@${REINPLACE_CMD} -e 's|%%SDL_CONFIG%%|${SDL_CONFIG}|g; \
s|%%OPENAL_CONFIG%%|${OPENAL_CONFIG}|g; \
s|%%MIKMOD_CONFIG%%|${MIKMOD_CONFIG}|g' ${WRKSRC}/configure.ac
@(cd ${WRKSRC} && ${SH} ./fixunix.sh)
@${REINPLACE_CMD} -e 's|SDL/||g' ${WRKSRC}/source/s_sdl.cpp
@${REINPLACE_CMD} -e 's|\.$$host_cpu||' \
${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
@cd ${WRKSRC} && ${SH} fixunix.sh
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/Vavoom ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/VavoomSV ${PREFIX}/bin
# install wrapper script
post-install:
${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${PREFIX}/bin
@${MKDIR} ${DATADIR}
@${MKDIR} ${DATADIR}/basev
${INSTALL_DATA} ${WRKSRC}/basev/games.txt ${DATADIR}/basev
@${MKDIR} ${DATADIR}/basev/common
${INSTALL_DATA} ${WRKSRC}/basev/common/default.cfg \
${WRKSRC}/basev/common/startup.vs \
${WRKSRC}/basev/common/wad0.wad ${DATADIR}/basev/common
.for i in doom heretic hexen strife
@${MKDIR} ${DATADIR}/basev/${i}
${INSTALL_DATA} ${WRKSRC}/basev/${i}/wad0.wad ${DATADIR}/basev/${i}
.endfor
.for i in doom1 doom2 tnt plutonia
@${MKDIR} ${DATADIR}/basev/${i}
${INSTALL_DATA} ${WRKSRC}/basev/${i}/wad0.wad \
${WRKSRC}/basev/${i}/base.txt ${DATADIR}/basev/${i}
.endfor
.ifndef (NOPORTDOCS)
@${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/vavmref.txt \
${WRKSRC}/docs/vavoom.txt ${DOCSDIR}
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/docs/vavoom.txt ${DOCSDIR}
.endif
@${ECHO_CMD}
@${CAT} ${PKGMESSAGE}
# Run this target as a user from which you will play Vavoom. It will create
# required symlinks in users home directory. This should be done only once.
installuser:
cd ${DATADIR} && \
${FIND} . -type d -exec ${MKDIR} ~/.${PORTNAME}/{} \; && \
${FIND} . -type f -exec ${LN} -sf ${DATADIR}/{} ~/.${PORTNAME}/{} \;
.if exists(${DMDIR})
cd ${DMDIR} && \
${FIND} . -type d -exec ${MKDIR} ~/.${PORTNAME}/{} \; && \
${FIND} . -type f -exec ${LN} -sf ${DMDIR}/{} ~/.${PORTNAME}/{} \;
.endif
@${ECHO_CMD}
.include <bsd.port.post.mk>

View File

@ -1,3 +1,3 @@
MD5 (vavoom-1.20.tar.bz2) = 6a08199b5b7bb8a2070e3f81be79a0ce
SHA256 (vavoom-1.20.tar.bz2) = 495ac5446670ae963c0e8f624dc7978975fc5040a33e9667cf91e147f431b0fd
SIZE (vavoom-1.20.tar.bz2) = 1883529
MD5 (vavoom-1.21.2.tar.bz2) = 6dc2486597502abd6addd6d1582e54b0
SHA256 (vavoom-1.21.2.tar.bz2) = 8f9be9c791c7f5eae06f6c4d816af704dd3dfffb1dc1ffdea0c1dbc32dee0f69
SIZE (vavoom-1.21.2.tar.bz2) = 1891354

View File

@ -1,45 +0,0 @@
--- configure.ac.orig
+++ configure.ac
@@ -83,7 +83,7 @@
if test "x$with_allegro" = "xyes"; then
if test "x$with_allegro_config" = "x"; then
- AC_PATH_PROG([allegro_config], [allegro-config])
+ AC_PATH_PROG([allegro_config], [allegro-config], [%%ALLEGRO_CONFIG%%])
if test "x$allegro_config" = "x"; then
AC_MSG_ERROR(['cannot find Allegro instalation'])
fi
@@ -93,7 +93,7 @@
else
if test "x$with_sdl" = "xyes"; then
if test "x$with_sdl_config" = "x"; then
- AC_PATH_PROG([sdl_config], [sdl-config])
+ AC_PATH_PROG([sdl_config], [sdl-config], [%%SDL_CONFIG%%])
if test "x$sdl_config" = "x"; then
AC_MSG_ERROR(['cannot find SDL instalation'])
fi
@@ -122,13 +122,13 @@
AC_MSG_NOTICE([Using Allegro])
MAIN_PLATFORM='UNIX_ALLEGRO'
MAIN_CFLAGS="`${allegro_config} --cflags`"
- MAIN_LIBS="`${allegro_config} --libs` -lpng -lz -lstdc++"
+ MAIN_LIBS="`${allegro_config} --libs` -lpng -lz -lstdc++ -liconv"
else
if test "x$sdl_config" != "x"; then
AC_MSG_NOTICE([Using SDL])
MAIN_PLATFORM='UNIX_SDL'
MAIN_CFLAGS="`${sdl_config} --cflags`"
- MAIN_LIBS="-lSDL_mixer `${sdl_config} --libs` -lpng -lz -lstdc++"
+ MAIN_LIBS="-lSDL_mixer `${sdl_config} --libs` -lpng -lz -lstdc++ -liconv"
fi
fi
OBJ_FILES="$OBJ_FILES \$(SYS_OBJS_${MAIN_PLATFORM})"
@@ -246,7 +246,7 @@
AC_ARG_WITH([mikmod-config], AS_HELP_STRING([--with-mikmod-config], [Set MikMod config script]))
if test "x$with_mikmod" != "xno"; then
if test "x$with_mikmod_config" = "x"; then
- AC_PATH_PROG([LIBMIKMOD_CONFIG], [libmikmod-config])
+ AC_PATH_PROG([LIBMIKMOD_CONFIG], [libmikmod-config], [%%MIKMOD_CONFIG%%])
else
mikmod_config=$with_mikmod_config
fi

View File

@ -0,0 +1,29 @@
--- ./source/Makefile.in.orig Sun Aug 13 05:01:36 2006
+++ ./source/Makefile.in Fri Sep 8 22:22:35 2006
@@ -847,14 +847,14 @@
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+ test -z "$(libexecdir)" || $(mkdir_p) "$(DESTDIR)$(libexecdir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
+ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(libexecdir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(libexecdir)/$$f" || exit 1; \
else :; fi; \
done
@@ -4038,7 +4038,7 @@
install-data-am: install-dist_baseDATA
-install-exec-am: install-binPROGRAMS install-binSCRIPTS
+install-exec-am: install-binPROGRAMS
install-info: install-info-recursive

View File

@ -1,19 +1,12 @@
*****************************************************************************
* In order to run Vavoom you will need original IWAD file from either:
* Doom, Doom II, TNT, Plutonia, Heretic, Hexen or Strife.
* You should install any of them using games/doom-data meta port.
*
* Vavoom needs to be run from a directory containing its data files and
* IWAD files taken from original games. So before starting to play Vavoom
* you should create required symlinks in users home directory.
* This process is automated by 'installuser' target in vavoom port makefile.
* You can run something like this after installing the port:
* cd %%PORTSDIR%%/games/vavoom && make installuser
* This should be done only once on per user basis.
*
* Once done you are ready to play Vavoom. Run it as
* %%PREFIX%%/bin/vavoom ...
* or as
* %%PREFIX%%/bin/vavoom -s ...
* to start its dedicated server.
*****************************************************************************
==============================================================================
Vavoom has been installed.
The wrapper script is named "vavoom" and accepts a "-s" argument to run the
dedicated server instead of the client. It creates/enters ~/.vavoom (if it
does not exist creates symlinks) and runs the programs from there, looking for
additional IWAD files in %%DMDIR%%.
The real executables are in "%%PREFIX%%/libexec".
==============================================================================

View File

@ -1,9 +1,25 @@
#!/bin/sh
EXE="Vavoom"
if test $# = 1 && test $1 = "-s"; then
EXE="VavoomSV"
# The executable needs to run from its data directory, so we mirror it to
# ~/.vavoom (with symlinks) and run it from there.
if [ "$1" = "-s" ]
then
CMD="vavoom-dedicated"
shift
else
CMD="vavoom"
fi
cd ~/.vavoom && %%PREFIX%%/bin/${EXE} $*
if [ -d ~/.vavoom ]
then
echo "Using existing ~/.vavoom directory."
else
echo "Creating ~/.vavoom directory."
cd %%DATADIR%% || exit 1
find . -type d -exec mkdir -p ~/.vavoom/{} \;
find . -type f -exec ln -sf %%DATADIR%%/{} ~/.vavoom/{} \;
fi
cd ~/.vavoom || exit 1
exec %%PREFIX%%/libexec/${CMD} -iwaddir %%DMDIR%% "$@"

View File

@ -1,33 +1,33 @@
bin/vavoom
bin/Vavoom
bin/VavoomSV
libexec/vavoom
libexec/vavoom-dedicated
%%DATADIR%%/basev/common/default.cfg
%%DATADIR%%/basev/common/startup.vs
%%DATADIR%%/basev/common/wad0.wad
@dirrm %%DATADIR%%/basev/common
%%DATADIR%%/basev/doom/wad0.wad
@dirrm %%DATADIR%%/basev/doom
%%DATADIR%%/basev/doom1/base.txt
%%DATADIR%%/basev/doom1/wad0.wad
@dirrm %%DATADIR%%/basev/doom1
%%DATADIR%%/basev/doom2/base.txt
%%DATADIR%%/basev/doom2/wad0.wad
@dirrm %%DATADIR%%/basev/doom2
%%DATADIR%%/basev/games.txt
%%DATADIR%%/basev/heretic/wad0.wad
@dirrm %%DATADIR%%/basev/heretic
%%DATADIR%%/basev/hexen/wad0.wad
@dirrm %%DATADIR%%/basev/hexen
%%DATADIR%%/basev/plutonia/base.txt
%%DATADIR%%/basev/plutonia/wad0.wad
@dirrm %%DATADIR%%/basev/plutonia
%%DATADIR%%/basev/strife/wad0.wad
@dirrm %%DATADIR%%/basev/strife
%%DATADIR%%/basev/tnt/base.txt
%%DATADIR%%/basev/tnt/wad0.wad
%%DATADIR%%/vavoom.png
%%PORTDOCS%%%%DOCSDIR%%/vavoom.txt
@dirrm %%DATADIR%%/basev/tnt
%%DATADIR%%/basev/games.txt
@dirrm %%DATADIR%%/basev/strife
@dirrm %%DATADIR%%/basev/plutonia
@dirrm %%DATADIR%%/basev/hexen
@dirrm %%DATADIR%%/basev/heretic
@dirrm %%DATADIR%%/basev/doom2
@dirrm %%DATADIR%%/basev/doom1
@dirrm %%DATADIR%%/basev/doom
@dirrm %%DATADIR%%/basev/common
@dirrm %%DATADIR%%/basev
@dirrm %%DATADIR%%
%%PORTDOCS%%%%DOCSDIR%%/vavmref.txt
%%PORTDOCS%%%%DOCSDIR%%/vavoom.txt
%%PORTDOCS%%@dirrm %%DOCSDIR%%