ports/64320: New port: games/tenebrae Quake 1 source port with advanced graphics
Igor Pokrovsky
tiamat at comset.net
Tue Mar 16 03:50:10 UTC 2004
>Number: 64320
>Category: ports
>Synopsis: New port: games/tenebrae Quake 1 source port with advanced graphics
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Mar 15 19:50:09 PST 2004
>Closed-Date:
>Last-Modified:
>Originator: Igor Pokrovsky
>Release: FreeBSD 4.9-STABLE i386
>Organization:
>Environment:
System: FreeBSD doom.homeunix.org 4.9-STABLE FreeBSD 4.9-STABLE #0: Thu Feb 26 21:34:55 MSK 2004 root at doom.homeunix.org:/usr/obj/usr/src/sys/KERNEL i386
>Description:
Tenebrae is not quake1 anymore, it uses more advanced graphics algorithms so it
requires a much faster system to run.
These are the bare minimum reqs to run Tenebrae:
PIII 600
64 Mb RAM (More if you want to use some mods.)
Geforce1
Quake1 data (registered or shareware)
Water vissed maps
Recommended is a faster processor and a geforce4 / radeon 8500 class 3d card.
Tenebrae_Readme.txt contains full list of supported video cards.
>How-To-Repeat:
>Fix:
--- tenebrae.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# tenebrae
# tenebrae/files
# tenebrae/files/patch-linux_Makefile.i386linux
# tenebrae/files/patch-cd__linux.c
# tenebrae/files/patch-snd__linux.c
# tenebrae/files/patch-gl__vidlinuxglx.c
# tenebrae/files/patch-gl__common.c
# tenebrae/files/patch-common.c
# tenebrae/files/patch-common.h
# tenebrae/files/patch-sys__uxfindfirst.c
# tenebrae/files/patch-snd__sdl.c
# tenebrae/pkg-plist
# tenebrae/pkg-descr
# tenebrae/distinfo
# tenebrae/Makefile
# tenebrae/pkg-message
#
echo c - tenebrae
mkdir -p tenebrae > /dev/null 2>&1
echo c - tenebrae/files
mkdir -p tenebrae/files > /dev/null 2>&1
echo x - tenebrae/files/patch-linux_Makefile.i386linux
sed 's/^X//' >tenebrae/files/patch-linux_Makefile.i386linux << 'END-of-tenebrae/files/patch-linux_Makefile.i386linux'
X--- linux/Makefile.i386linux.orig Sun Mar 14 15:07:08 2004
X+++ linux/Makefile.i386linux Sun Mar 14 17:54:02 2004
X@@ -18,30 +18,30 @@
X
X MOUNT_DIR = ../
X
X-MASTER_DIR = /usr/local/share/games/quake
X+MASTER_DIR = ${DATADIR}
X
X BUILD_DEBUG_DIR = debug$(ARCH)$(GLIBC)
X BUILD_RELEASE_DIR = release$(ARCH)$(GLIBC)
X
X-LEX = /usr/bin/flex -i -Cfr
X-CC = /usr/bin/gcc
X+LEX ?= /usr/bin/flex -i -Cfr
X+#CC = /usr/bin/gcc
X
X-X11_LIBS = -L/usr/X11R6/lib -lpthread -lX11 -lXext -lXxf86dga -lXxf86vm
X+X11_LIBS = -L${X11BASE}/lib ${PTHREAD_LIBS} -lX11 -lXext -lXxf86dga -lXxf86vm
X
X # to enable OpenGL code in source
X-OPENGL_CFLAGS = -D__glx__ -DGLQUAKE
X+OPENGL_CFLAGS = -D__glx__ -DGLQUAKE -I${X11BASE}/include
X OPENGL_LIBS = -lGL -lGLU
X
X-PNG_LIBS = -lpng -lz
X+PNG_LIBS = -L${LOCALBASE}/lib -lpng -lz
X
X #OPENAL_LIBS = -lopenal
X-#OPENAL_CFLAGS = -DOPENAL -I/usr/local/include/AL
X+#OPENAL_CFLAGS = -DOPENAL -I${LOCALBASE}/include/AL
X
X-BASE_CFLAGS = -DBASEDIR="$(MASTER_DIR)" -DUSERPREF_DIR $(OPENGL_CFLAGS) $(OPENAL_CFLAGS) -I$(MOUNT_DIR)
X-RELEASE_CFLAGS = $(BASE_CFLAGS) -mpentiumpro -O6 -ffast-math -funroll-loops \
X+BASE_CFLAGS = -DBASEDIR="$(MASTER_DIR)" -DUSERPREF_DIR $(OPENGL_CFLAGS) $(OPENAL_CFLAGS) -I$(MOUNT_DIR) -I${LOCALBASE}/include `${SDL_CONFIG} --cflags`
X+RELEASE_CFLAGS = $(BASE_CFLAGS) -ffast-math -funroll-loops \
X -fomit-frame-pointer -fexpensive-optimizations
X DEBUG_CFLAGS = $(BASE_CFLAGS) -g
X-LDFLAGS = -lm -ldl $(X11_LIBS) $(OPENGL_LIBS) $(PNG_LIBS) $(OPENAL_LIBS)
X+LDFLAGS = -lm $(X11_LIBS) $(OPENGL_LIBS) $(PNG_LIBS) $(OPENAL_LIBS) `${SDL_CONFIG} --libs`
X
X DO_GL_CC = $(CC) $(CFLAGS) -o $@ -c $<
X DO_GL_AS = $(CC) $(CFLAGS) -DELF -x assembler-with-cpp -o $@ -c $<
X@@ -57,15 +57,15 @@
X @-mkdir -p $(BUILD_DEBUG_DIR) \
X $(BUILD_DEBUG_DIR)/bin \
X $(BUILD_DEBUG_DIR)/glquake
X- $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS="$(DEBUG_CFLAGS)"
X+ $(MAKE) targets BUILDDIR=$(BUILD_DEBUG_DIR) CFLAGS+="$(DEBUG_CFLAGS)"
X
X build_release:
X @-mkdir -p $(BUILD_RELEASE_DIR) \
X $(BUILD_RELEASE_DIR)/bin \
X $(BUILD_RELEASE_DIR)/glquake
X- $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS="$(RELEASE_CFLAGS)"
X+ $(MAKE) targets BUILDDIR=$(BUILD_RELEASE_DIR) CFLAGS+="$(RELEASE_CFLAGS)"
X
X-all: build_debug build_release
X+all: build_debug
X
X targets: $(TARGETS)
X
X@@ -143,7 +143,7 @@
X $(BUILDDIR)/glquake/snd_dma.o \
X $(BUILDDIR)/glquake/snd_mem.o \
X $(BUILDDIR)/glquake/snd_mix.o \
X- $(BUILDDIR)/glquake/snd_linux.o \
X+ $(BUILDDIR)/glquake/snd_sdl.o \
X $(BUILDDIR)/glquake/gl_vidlinuxglx.o \
X $(BUILDDIR)/glquake/math.o \
X $(BUILDDIR)/glquake/worlda.o \
X@@ -361,7 +361,7 @@
X $(BUILDDIR)/glquake/snd_mix.o : $(MOUNT_DIR)/snd_mix.c
X $(DO_GL_CC)
X
X-$(BUILDDIR)/glquake/snd_linux.o : $(MOUNT_DIR)/snd_linux.c
X+$(BUILDDIR)/glquake/snd_sdl.o : $(MOUNT_DIR)/snd_sdl.c
X $(DO_GL_CC)
X
X $(BUILDDIR)/glquake/math.o : $(MOUNT_DIR)/math.s
END-of-tenebrae/files/patch-linux_Makefile.i386linux
echo x - tenebrae/files/patch-cd__linux.c
sed 's/^X//' >tenebrae/files/patch-cd__linux.c << 'END-of-tenebrae/files/patch-cd__linux.c'
X--- cd_linux.c.orig Sun Mar 14 12:11:16 2004
X+++ cd_linux.c Sun Mar 14 12:24:07 2004
X@@ -31,7 +31,7 @@
X #include <time.h>
X #include <errno.h>
X
X-#include <linux/cdrom.h>
X+#include <sys/cdio.h>
X
X #include "quakedef.h"
X
X@@ -54,8 +54,8 @@
X if (cdfile == -1 || !enabled)
X return; // no cd init'd
X
X- if ( ioctl(cdfile, CDROMEJECT) == -1 )
X- Con_DPrintf("ioctl cdromeject failed\n");
X+ if ( ioctl(cdfile, CDIOCEJECT) == -1 )
X+ Con_DPrintf("ioctl CDIOCEJECT failed\n");
X }
X
X
X@@ -64,30 +64,30 @@
X if (cdfile == -1 || !enabled)
X return; // no cd init'd
X
X- if ( ioctl(cdfile, CDROMCLOSETRAY) == -1 )
X- Con_DPrintf("ioctl cdromclosetray failed\n");
X+ if ( ioctl(cdfile, CDIOCCLOSE) == -1 )
X+ Con_DPrintf("ioctl CDIOCCLOSE failed\n");
X }
X
X static int CDAudio_GetAudioDiskInfo(void)
X {
X- struct cdrom_tochdr tochdr;
X+ struct ioc_toc_header tochdr;
X
X cdValid = false;
X
X- if ( ioctl(cdfile, CDROMREADTOCHDR, &tochdr) == -1 )
X+ if ( ioctl(cdfile, CDIOREADTOCHEADER, &tochdr) == -1 )
X {
X- Con_DPrintf("ioctl cdromreadtochdr failed\n");
X+ Con_DPrintf("ioctl CDIOREADTOCHEADER failed\n");
X return -1;
X }
X
X- if (tochdr.cdth_trk0 < 1)
X+ if (tochdr.starting_track < 1)
X {
X Con_DPrintf("CDAudio: no music tracks\n");
X return -1;
X }
X
X cdValid = true;
X- maxTrack = tochdr.cdth_trk1;
X+ maxTrack = tochdr.ending_track;
X
X return 0;
X }
X@@ -95,8 +95,8 @@
X
X void CDAudio_Play(byte track, qboolean looping)
X {
X- struct cdrom_tocentry entry;
X- struct cdrom_ti ti;
X+ struct ioc_read_toc_single_entry entry;
X+ struct ioc_play_track ti;
X
X if (cdfile == -1 || !enabled)
X return;
X@@ -115,7 +115,7 @@
X Con_DPrintf("CDAudio: Bad track number %u.\n", track);
X return;
X }
X-
X+/*
X // don't try to play a non-audio track
X entry.cdte_track = track;
X entry.cdte_format = CDROM_MSF;
X@@ -129,7 +129,7 @@
X Con_Printf("CDAudio: track %i is not audio\n", track);
X return;
X }
X-
X+*/
X if (playing)
X {
X if (playTrack == track)
X@@ -137,19 +137,19 @@
X CDAudio_Stop();
X }
X
X- ti.cdti_trk0 = track;
X- ti.cdti_trk1 = track;
X- ti.cdti_ind0 = 1;
X- ti.cdti_ind1 = 99;
X-
X- if ( ioctl(cdfile, CDROMPLAYTRKIND, &ti) == -1 )
X+ ti.start_track = track;
X+ ti.end_track = track;
X+ ti.start_index = 1;
X+ ti.end_index = 99;
X+
X+ if ( ioctl(cdfile, CDIOCPLAYTRACKS, &ti) == -1 )
X {
X- Con_DPrintf("ioctl cdromplaytrkind failed\n");
X+ Con_DPrintf("ioctl CDIOCPLAYTRACKS failed\n");
X return;
X }
X
X- if ( ioctl(cdfile, CDROMRESUME) == -1 )
X- Con_DPrintf("ioctl cdromresume failed\n");
X+ if ( ioctl(cdfile, CDIOCRESUME) == -1 )
X+ Con_DPrintf("ioctl CDIOCRESUME failed\n");
X
X playLooping = looping;
X playTrack = track;
X@@ -168,8 +168,8 @@
X if (!playing)
X return;
X
X- if ( ioctl(cdfile, CDROMSTOP) == -1 )
X- Con_DPrintf("ioctl cdromstop failed (%d)\n", errno);
X+ if ( ioctl(cdfile, CDIOCSTOP) == -1 )
X+ Con_DPrintf("ioctl CDIOCSTOP failed (%d)\n", errno);
X
X wasPlaying = false;
X playing = false;
X@@ -183,8 +183,8 @@
X if (!playing)
X return;
X
X- if ( ioctl(cdfile, CDROMPAUSE) == -1 )
X- Con_DPrintf("ioctl cdrompause failed\n");
X+ if ( ioctl(cdfile, CDIOCPAUSE) == -1 )
X+ Con_DPrintf("ioctl CDIOCPAUSE failed\n");
X
X wasPlaying = playing;
X playing = false;
X@@ -202,8 +202,8 @@
X if (!wasPlaying)
X return;
X
X- if ( ioctl(cdfile, CDROMRESUME) == -1 )
X- Con_DPrintf("ioctl cdromresume failed\n");
X+ if ( ioctl(cdfile, CDIOCRESUME) == -1 )
X+ Con_DPrintf("ioctl CDIOCRESUME failed\n");
X playing = true;
X }
X
X@@ -327,7 +327,8 @@
X
X void CDAudio_Update(void)
X {
X- struct cdrom_subchnl subchnl;
X+ struct ioc_read_subchannel subchnl;
X+ struct cd_sub_channel_info data;
X static time_t lastchk;
X
X if (!enabled)
X@@ -351,14 +352,17 @@
X
X if (playing && lastchk < time(NULL)) {
X lastchk = time(NULL) + 2; //two seconds between chks
X- subchnl.cdsc_format = CDROM_MSF;
X- if (ioctl(cdfile, CDROMSUBCHNL, &subchnl) == -1 ) {
X- Con_DPrintf("ioctl cdromsubchnl failed\n");
X+ subchnl.data = &data;
X+ subchnl.data_len = sizeof(data);
X+ subchnl.address_format = CD_MSF_FORMAT;
X+ subchnl.data_format = CD_CURRENT_POSITION;
X+ if (ioctl(cdfile, CDIOCREADSUBCHANNEL, (char*) &subchnl) == -1 ) {
X+ Con_DPrintf("ioctl CDIOCREADSUBCHANNEL failed\n");
X playing = false;
X return;
X }
X- if (subchnl.cdsc_audiostatus != CDROM_AUDIO_PLAY &&
X- subchnl.cdsc_audiostatus != CDROM_AUDIO_PAUSED) {
X+ if (subchnl.data->header.audio_status != CD_AS_PLAY_IN_PROGRESS &&
X+ subchnl.data->header.audio_status != CD_AS_PLAY_PAUSED) {
X playing = false;
X if (playLooping)
X CDAudio_Play(playTrack, true);
END-of-tenebrae/files/patch-cd__linux.c
echo x - tenebrae/files/patch-snd__linux.c
sed 's/^X//' >tenebrae/files/patch-snd__linux.c << 'END-of-tenebrae/files/patch-snd__linux.c'
X--- snd_linux.c.orig Sun Mar 14 12:25:10 2004
X+++ snd_linux.c Sun Mar 14 12:25:46 2004
X@@ -25,7 +25,7 @@
X #include <sys/mman.h>
X #include <sys/shm.h>
X #include <sys/wait.h>
X-#include <linux/soundcard.h>
X+#include <sys/soundcard.h>
X #include <stdio.h>
X #include "quakedef.h"
X
END-of-tenebrae/files/patch-snd__linux.c
echo x - tenebrae/files/patch-gl__vidlinuxglx.c
sed 's/^X//' >tenebrae/files/patch-gl__vidlinuxglx.c << 'END-of-tenebrae/files/patch-gl__vidlinuxglx.c'
X--- gl_vidlinuxglx.c.orig Sun Mar 14 12:27:06 2004
X+++ gl_vidlinuxglx.c Sun Mar 14 12:27:21 2004
X@@ -20,7 +20,6 @@
X #include <termios.h>
X #include <sys/ioctl.h>
X #include <sys/stat.h>
X-#include <sys/vt.h>
X #include <stdarg.h>
X #include <stdio.h>
X #include <signal.h>
END-of-tenebrae/files/patch-gl__vidlinuxglx.c
echo x - tenebrae/files/patch-gl__common.c
sed 's/^X//' >tenebrae/files/patch-gl__common.c << 'END-of-tenebrae/files/patch-gl__common.c'
X--- gl_common.c.orig Sun Mar 14 12:33:12 2004
X+++ gl_common.c Sun Mar 14 12:35:26 2004
X@@ -248,11 +248,11 @@
X if (!strstr(gl_extensions, "GL_ARB_texture_env_dot3")) {
X Sys_Error ("ARB_texture_env_dot3 not found.\nProbably your 3d-card is not supported.\n");
X }
X-
X+#if 0
X if (!strstr(gl_extensions, "GL_ARB_texture_cube_map")) {
X Sys_Error ("ARB_texture_cube_map not found.\nProbably your 3d-card is not supported.\n");
X }
X-
X+#endif
X //Just spit a warning user prob has gl-1.2 or something
X if (!strstr(gl_extensions, "GL_SGI_texture_edge_clamp") &&
X !strstr(gl_extensions, "GL_EXT_texture_edge_clamp")) {
END-of-tenebrae/files/patch-gl__common.c
echo x - tenebrae/files/patch-common.c
sed 's/^X//' >tenebrae/files/patch-common.c << 'END-of-tenebrae/files/patch-common.c'
X--- common.c.orig Sun Mar 14 13:16:07 2004
X+++ common.c Sun Mar 14 13:17:40 2004
X@@ -2221,6 +2221,8 @@
X if ((userdir[j-1] == '\\') || (userdir[j-1] == '/'))
X userdir[j-1] = 0;
X }
X+
X+ strncpy (com_prefdir, userdir, j);
X COM_AddGameFS (userdir);
X #endif
X
END-of-tenebrae/files/patch-common.c
echo x - tenebrae/files/patch-common.h
sed 's/^X//' >tenebrae/files/patch-common.h << 'END-of-tenebrae/files/patch-common.h'
X--- common.h.orig Sun Mar 14 13:19:04 2004
X+++ common.h Sun Mar 14 13:19:50 2004
X@@ -169,6 +169,10 @@
X
X extern char com_gamedir[MAX_OSPATH];
X
X+#ifdef USERPREF_DIR
X+extern char com_prefdir[MAX_OSPATH];
X+#endif
X+
X void COM_WriteFile (char *filename, void *data, int len);
X int COM_OpenFile (const char *filename, int *hndl);
X int COM_FOpenFile (const char *filename, FILE **file);
END-of-tenebrae/files/patch-common.h
echo x - tenebrae/files/patch-sys__uxfindfirst.c
sed 's/^X//' >tenebrae/files/patch-sys__uxfindfirst.c << 'END-of-tenebrae/files/patch-sys__uxfindfirst.c'
X--- sys_uxfindfirst.c.orig Sun Mar 14 15:00:09 2004
X+++ sys_uxfindfirst.c Sun Mar 14 15:06:52 2004
X@@ -36,7 +36,7 @@
X #include "quakedef.h"
X #include <errno.h>
X
X-#if !defined(__GLIBC__)
X+#if !defined(__GLIBC__) && !defined(__FreeBSD__)
X
X #include <dirent.h>
X #include <fnmatch.h>
END-of-tenebrae/files/patch-sys__uxfindfirst.c
echo x - tenebrae/files/patch-snd__sdl.c
sed 's/^X//' >tenebrae/files/patch-snd__sdl.c << 'END-of-tenebrae/files/patch-snd__sdl.c'
X--- snd_sdl.c.orig Sun Mar 14 17:59:19 2004
X+++ snd_sdl.c Sun Mar 14 17:59:35 2004
X@@ -119,3 +119,12 @@
X }
X }
X
X+/*
X+==============
X+SNDDMA_Submit
X+Send sound to device if buffer isn't really the dma buffer
X+===============
X+*/
X+void SNDDMA_Submit(void)
X+{
X+}
END-of-tenebrae/files/patch-snd__sdl.c
echo x - tenebrae/pkg-plist
sed 's/^X//' >tenebrae/pkg-plist << 'END-of-tenebrae/pkg-plist'
Xbin/tenebrae
X%%DATADIR%%/tenebrae/Pak0.pak
X at dirrm %%DATADIR%%/tenebrae
X at dirrm %%DATADIR%%
X%%PORTDOCS%%%%DOCSDIR%%/Tenebrae_Readme.txt
X%%PORTDOCS%%@dirrm %%DOCSDIR%%
END-of-tenebrae/pkg-plist
echo x - tenebrae/pkg-descr
sed 's/^X//' >tenebrae/pkg-descr << 'END-of-tenebrae/pkg-descr'
XTenebrae is not quake1 anymore, it uses more advanced graphics algorithms so it
Xrequires a much faster system to run.
XThese are the bare minimum reqs to run Tenebrae:
X
XPIII 600
X64 Mb RAM (More if you want to use some mods.)
XGeforce1
XQuake1 data (registered or shareware)
XWater vissed maps
X
XRecommended is a faster processor and a geforce4 / radeon 8500 class 3d card.
XTenebrae_Readme.txt contains full list of supported video cards.
X
XWWW: http://tenebrae.sourceforge.net/
X
X- Igor Pokrovsky
Xtiamat at comset.net
END-of-tenebrae/pkg-descr
echo x - tenebrae/distinfo
sed 's/^X//' >tenebrae/distinfo << 'END-of-tenebrae/distinfo'
XMD5 (tenebrae_src.zip) = 132899bfcaf065b8cfd1bdf7f5a00787
XSIZE (tenebrae_src.zip) = 1580702
XMD5 (tenebraedata.zip) = b0769654088b4b9f46e69503ff453ec2
XSIZE (tenebraedata.zip) = 3989498
END-of-tenebrae/distinfo
echo x - tenebrae/Makefile
sed 's/^X//' >tenebrae/Makefile << 'END-of-tenebrae/Makefile'
X# New ports collection makefile for: tenebrae
X# Date created: 14 Mar 2004
X# Whom: Igor Pokrovsky <tiamat at comset.net>
X#
X# $FreeBSD$
X#
X
XPORTNAME= tenebrae
XPORTVERSION= 1.04
XCATEGORIES= games
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR= ${PORTNAME}
XDISTFILES= ${PORTNAME}_src${EXTRACT_SUFX} \
X ${PORTNAME}data${EXTRACT_SUFX}
X
XMAINTAINER= tiamat at comset.net
XCOMMENT= Quake 1 source port with advanced graphics
X
XLIB_DEPENDS= png.5:${PORTSDIR}/graphics/png
X
XUSE_ZIP= yes
XUSE_GMAKE= yes
XUSE_GL= yes
XUSE_XLIB= yes
XUSE_SDL= yes
XONLY_FOR_ARCHS= i386
X
XWRKSRC= ${WRKDIR}/${PORTNAME}_0
XBUILD_WRKSRC= ${WRKSRC}/linux
XMAKE_ENV= DATADIR="${DATADIR}" \
X PTHREAD_LIBS="${PTHREAD_LIBS}" \
X SDL_CONFIG="${SDL_CONFIG}"
X
Xpre-patch:
X @${PERL} -pi -e 's|\r||g' `${FIND} ${WRKSRC} -type f`
X
Xpre-build:
X @${LN} -sf ${WRKSRC}/linux/Makefile.i386linux ${WRKSRC}/linux/Makefile
X
Xdo-install:
X ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/debugi386.glibc/bin/${PORTNAME}.run \
X ${PREFIX}/bin/${PORTNAME}
X @${MKDIR} ${DATADIR}
X @${MKDIR} ${DATADIR}/${PORTNAME}
X ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}/Pak0.pak ${DATADIR}/${PORTNAME}
X.ifndef (NOPORTDOCS)
X @${MKDIR} ${DOCSDIR}
X ${TR} -d '\r' <${WRKDIR}/Tenebrae_Readme.txt \
X >${DOCSDIR}/Tenebrae_Readme.txt
X.endif
X
Xpost-install:
X @${SED} -e 's|%%DATADIR%%|${DATADIR}|' <${PKGMESSAGE}
X
X.include <bsd.port.mk>
END-of-tenebrae/Makefile
echo x - tenebrae/pkg-message
sed 's/^X//' >tenebrae/pkg-message << 'END-of-tenebrae/pkg-message'
X*******************************************************************************
X* Before running Tenebrae copy Quake 1 data files (id1 directory)
X* into %%DATADIR%%.
X* Filenames should be in lower case!
X*******************************************************************************
END-of-tenebrae/pkg-message
exit
--- tenebrae.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list