diff options
author | Cy Schubert <cy@FreeBSD.org> | 2012-02-08 05:35:19 +0000 |
---|---|---|
committer | Cy Schubert <cy@FreeBSD.org> | 2012-02-08 05:35:19 +0000 |
commit | 7e3d00634a45b6dec3404704ca958439a2d8d840 (patch) | |
tree | f67263bd94ea794c98a4273c60e3915d90cc4911 /games | |
parent | - Update to 3.1.19 (diff) |
Resurrect the old-school BSD games.
Notes
Notes:
svn path=/head/; revision=290696
Diffstat (limited to 'games')
33 files changed, 1003 insertions, 0 deletions
diff --git a/games/freebsd-games/Makefile b/games/freebsd-games/Makefile new file mode 100644 index 000000000000..ea486d90bad4 --- /dev/null +++ b/games/freebsd-games/Makefile @@ -0,0 +1,79 @@ +# Ports collection makefile for: games +# Date created: 20 Nov 2002 +# Whom: Mark Murray <markm@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= freebsd-games +PORTVERSION= 5.1.1 +PORTREVISION= 7 +CATEGORIES= games +MASTER_SITES= ${MASTER_SITE_LOCAL} +MASTER_SITE_SUBDIR=cy + +MAINTAINER= cy@FreeBSD.org +COMMENT= FreeBSD-modified "Standard" BSD games + +USE_BZIP2= yes + +MAN6= \ + adventure.6 \ + arithmetic.6 \ + atc.6 \ + backgammon.6 \ + battlestar.6 \ + bs.6 \ + canfield.6 \ + cfscores.6 \ + cribbage.6 \ + fish.6 \ + hack.6 \ + hangman.6 \ + larn.6 \ + mille.6 \ + phantasia.6 \ + piano.6 \ + pig.6 \ + quiz.6 \ + robots.6 \ + rogue.6 \ + sail.6 \ + snake.6 \ + snscore.6 \ + trek.6 \ + worm.6 \ + wump.6 + +MANCOMPRESSED= maybe + +PATHNAME_FILES= atc/atc.6 \ + atc/pathnames.h \ + cribbage/pathnames.h \ + fish/pathnames.h \ + larn/pathnames.h \ + quiz/datfiles/index \ + quiz/pathnames.h \ + quiz/quiz.6 \ + wump/pathnames.h + +.include <bsd.port.pre.mk> + +post-extract: + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} \ + ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} extract) + +post-patch: + @${FIND} ${WRKSRC} -name '*.c' -or -name '*.h' -or -name '*.6' -or \ + -name 'index' | ${XARGS} ${REINPLACE_CMD} -e \ + 's|share/games|local/share/games|g' + @${FIND} ${WRKSRC} -name 'Makefile' | \ + ${XARGS} ${REINPLACE_CMD} 's|$${LIBCOMPAT}||g;;s|-lcompat||g' + @for f in ${PATHNAME_FILES}; do \ + ${REINPLACE_CMD} -e 's|/usr/local/local/local|${PREFIX}|g' \ + ${WRKSRC}/$${f}; \ + done + @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \ + "${WRKSRC}/hack/hack.unix.c" + +.include <bsd.port.post.mk> diff --git a/games/freebsd-games/distinfo b/games/freebsd-games/distinfo new file mode 100644 index 000000000000..0e72990e3eb4 --- /dev/null +++ b/games/freebsd-games/distinfo @@ -0,0 +1,3 @@ +MD5 (freebsd-games-5.1.1.tar.bz2) = 31c098a1ef0d198a6456e26b6d65be72 +SHA256 (freebsd-games-5.1.1.tar.bz2) = 2ef700e090c975c7d6807a556ca29acc11215ba43f3ad26ad555a63cb3f72f71 +SIZE (freebsd-games-5.1.1.tar.bz2) = 2434501 diff --git a/games/freebsd-games/files/patch-adventure_crc.c b/games/freebsd-games/files/patch-adventure_crc.c new file mode 100644 index 000000000000..dfca63e6ab53 --- /dev/null +++ b/games/freebsd-games/files/patch-adventure_crc.c @@ -0,0 +1,11 @@ +--- adventure/crc.c.bak Sat Feb 23 01:59:45 2002 ++++ adventure/crc.c Wed Sep 29 03:29:37 2004 +@@ -120,7 +120,7 @@ + + /* Process nr bytes at a time; ptr points to them */ + u_long +-crc(const char *ptr, size_t nr) ++crc(const char *ptr, ssize_t nr) + { + int i; + const char *p; diff --git a/games/freebsd-games/files/patch-adventure_hdr.h b/games/freebsd-games/files/patch-adventure_hdr.h new file mode 100644 index 000000000000..02344c9191b4 --- /dev/null +++ b/games/freebsd-games/files/patch-adventure_hdr.h @@ -0,0 +1,11 @@ +--- adventure/hdr.h.bak Mon Nov 10 15:46:52 2003 ++++ adventure/hdr.h Wed Sep 29 03:30:55 2004 +@@ -167,7 +167,7 @@ + void checkhints (void); + void ciao (void); + extern gid_t egid; +-u_long crc (const char *ptr, size_t nr); ++u_long crc (const char *ptr, ssize_t nr); + void crc_start (void); + int dark (void); + void datime (int *d, int *t); diff --git a/games/freebsd-games/files/patch-atc_Makefile b/games/freebsd-games/files/patch-atc_Makefile new file mode 100644 index 000000000000..b225c610b586 --- /dev/null +++ b/games/freebsd-games/files/patch-atc_Makefile @@ -0,0 +1,10 @@ +Index: atc/Makefile +@@ -2,7 +2,7 @@ + # $FreeBSD$ + + PROG= atc +-CFLAGS+=-DBSD -I${.CURDIR} -I. ++CFLAGS+=-DPOSIX -I${.CURDIR} -I. + SRCS= extern.c grammar.y graphics.c input.c lex.l list.c log.c \ + main.c tunable.c update.c y.tab.h + MAN= atc.6 diff --git a/games/freebsd-games/files/patch-atc_include.h b/games/freebsd-games/files/patch-atc_include.h new file mode 100644 index 000000000000..e35e06466e45 --- /dev/null +++ b/games/freebsd-games/files/patch-atc_include.h @@ -0,0 +1,35 @@ +Index: atc/include.h +@@ -63,6 +63,14 @@ + #include <sys/utsname.h> + #endif + ++#ifdef POSIX ++#include <termios.h> ++#include <fcntl.h> ++#include <unistd.h> ++#include <string.h> ++#include <sys/utsname.h> ++#endif ++ + #include <signal.h> + #include <math.h> + +@@ -76,6 +84,18 @@ + #define srandom srand + #define random rand + #define sgttyb termio ++#define sg_erase c_cc[VERASE] ++#define sg_kill c_cc[VKILL] ++#endif ++ ++#ifdef POSIX ++#define index strchr ++#define rindex strrchr ++#define bcopy(a,b,c) memcpy((b), (a), (c)) ++#define bzero(a,b) memset((a), '\0', (b)) ++#define srandom srand ++#define random rand ++#define sgttyb termios + #define sg_erase c_cc[2] + #define sg_kill c_cc[3] + #endif diff --git a/games/freebsd-games/files/patch-atc_input.c b/games/freebsd-games/files/patch-atc_input.c new file mode 100644 index 000000000000..7cafb6d74459 --- /dev/null +++ b/games/freebsd-games/files/patch-atc_input.c @@ -0,0 +1,23 @@ +Index: atc/input.c +@@ -323,6 +323,10 @@ + int aval; + aval = alarm(0); + #endif ++#ifdef POSIX ++ int aval; ++ aval = alarm(0); ++#endif + if (fork() == 0) /* child */ + { + char *shell, *base; +@@ -358,6 +362,10 @@ + #endif + #ifdef SYSV + ioctl(fileno(stdin), TCSETAW, &tty_new); ++ alarm(aval); ++#endif ++#ifdef POSIX ++ tcsetattr(fileno(stdin), TCSANOW, &tty_new); + alarm(aval); + #endif + } diff --git a/games/freebsd-games/files/patch-atc_main.c b/games/freebsd-games/files/patch-atc_main.c new file mode 100644 index 000000000000..3592011afea8 --- /dev/null +++ b/games/freebsd-games/files/patch-atc_main.c @@ -0,0 +1,47 @@ +Index: atc/main.c +@@ -173,6 +173,15 @@ + ioctl(fileno(stdin), TCSETAW, &tty_new); + #endif + ++#ifdef POSIX ++ tcgetattr(fileno(stdin), &tty_start); ++ bcopy(&tty_start, &tty_new, sizeof(tty_new)); ++ tty_new.c_lflag &= ~ICANON; ++ tty_new.c_lflag &= ~ECHO; ++ tty_new.c_cc[VMIN] = 1; ++ tty_new.c_cc[VTIME] = 0; ++ tcsetattr(fileno(stdin), TCSANOW, &tty_new); ++#endif + signal(SIGALRM, update); + + #ifdef BSD +@@ -185,6 +194,9 @@ + #ifdef SYSV + alarm(sp->update_secs); + #endif ++#ifdef POSIX ++ alarm(sp->update_secs); ++#endif + + for (;;) { + if (getcommand() != 1) +@@ -198,6 +210,9 @@ + #ifdef SYSV + alarm(0); + #endif ++#ifdef POSIX ++ alarm(0); ++#endif + + update(); + +@@ -209,6 +224,9 @@ + setitimer(ITIMER_REAL, &itv, NULL); + #endif + #ifdef SYSV ++ alarm(sp->update_secs); ++#endif ++#ifdef POSIX + alarm(sp->update_secs); + #endif + } diff --git a/games/freebsd-games/files/patch-backgammon_backgammon_main.c b/games/freebsd-games/files/patch-backgammon_backgammon_main.c new file mode 100644 index 000000000000..840d4ba48057 --- /dev/null +++ b/games/freebsd-games/files/patch-backgammon_backgammon_main.c @@ -0,0 +1,29 @@ +Index: backgammon/backgammon/main.c +@@ -113,13 +111,13 @@ + signal (SIGINT,getout); /* trap interrupts */ + if (gtty (0,&tty) == -1) /* get old tty mode */ + errexit ("backgammon(gtty)"); +- old = tty.sg_flags; ++ old = tty.c_lflag; + #ifdef V7 +- raw = ((noech = old & ~ECHO) | CBREAK); /* set up modes */ ++ raw = ((noech = old & ~ECHO) & ~ICANON); /* set up modes */ + #else + raw = ((noech = old & ~ECHO) | RAW); /* set up modes */ + #endif +- ospeed = tty.sg_ospeed; /* for termlib */ ++ ospeed = cfgetospeed(&tty); /* for termlib */ + + /* get terminal + * capabilities, and +@@ -135,8 +133,8 @@ + getarg (argc, argv); + args[acnt] = NULL; + if (tflag) { /* clear screen */ +- noech &= ~(CRMOD|XTABS); +- raw &= ~(CRMOD|XTABS); ++ noech &= ~(ICRNL|OXTABS); ++ raw &= ~(ICRNL|OXTABS); + clear(); + } + fixtty (raw); /* go into raw mode */ diff --git a/games/freebsd-games/files/patch-backgammon_common__source_back.h b/games/freebsd-games/files/patch-backgammon_common__source_back.h new file mode 100644 index 000000000000..2542f462c63e --- /dev/null +++ b/games/freebsd-games/files/patch-backgammon_common__source_back.h @@ -0,0 +1,25 @@ +Index: backgammon/common_source/back.h +@@ -33,7 +33,13 @@ + * @(#)back.h 8.1 (Berkeley) 5/31/93 + */ + +-#include <sgtty.h> ++#include <termios.h> ++ ++#define sg_erase c_cc[2] ++#define sg_kill c_cc[3] ++ ++#define gtty(_a,_b) tcgetattr(_a,_b) ++#define stty(_a,_b) tcsetattr(_a,TCSANOW,_b) + + #define rnum(r) (random()%r) + #define D0 dice[0] +@@ -114,7 +120,7 @@ + extern const char *const *Colorptr; /* color of current player, capitalized */ + extern int colen; /* length of color of current player */ + +-extern struct sgttyb tty; /* tty information buffer */ ++extern struct termios tty; /* tty information buffer */ + extern int old; /* original tty status */ + extern int noech; /* original tty status without echo */ + extern int raw; /* raw tty status, no echo */ diff --git a/games/freebsd-games/files/patch-backgammon_common__source_subs.c b/games/freebsd-games/files/patch-backgammon_common__source_subs.c new file mode 100644 index 000000000000..646faa72d625 --- /dev/null +++ b/games/freebsd-games/files/patch-backgammon_common__source_subs.c @@ -0,0 +1,10 @@ +Index: backgammon/common_source/subs.c +@@ -420,7 +418,7 @@ + if (tflag) + newpos(); + buflush(); +- tty.sg_flags = mode; ++ tty.c_lflag = mode; + if (stty (0,&tty) < 0) + errexit("fixtty"); + } diff --git a/games/freebsd-games/files/patch-backgammon_teachgammon_teach.c b/games/freebsd-games/files/patch-backgammon_teachgammon_teach.c new file mode 100644 index 000000000000..8b1ae587e9e8 --- /dev/null +++ b/games/freebsd-games/files/patch-backgammon_teachgammon_teach.c @@ -0,0 +1,25 @@ +Index: backgammon/teachgammon/teach.c +@@ -94,18 +92,18 @@ + signal (SIGINT,getout); + if (gtty (0,&tty) == -1) /* get old tty mode */ + errexit ("teachgammon(gtty)"); +- old = tty.sg_flags; ++ old = tty.c_lflag; + #ifdef V7 +- raw = ((noech = old & ~ECHO) | CBREAK); /* set up modes */ ++ raw = ((noech = old & ~ECHO) & ~ICANON); /* set up modes */ + #else + raw = ((noech = old & ~ECHO) | RAW); /* set up modes */ + #endif +- ospeed = tty.sg_ospeed; /* for termlib */ ++ ospeed = cfgetospeed(&tty); /* for termlib */ + tflag = getcaps (getenv ("TERM")); + getarg (argc, argv); + if (tflag) { +- noech &= ~(CRMOD|XTABS); +- raw &= ~(CRMOD|XTABS); ++ noech &= ~(ICRNL|OXTABS); ++ raw &= ~(ICRNL|OXTABS); + clear(); + } + text (hello); diff --git a/games/freebsd-games/files/patch-battlestar_init.c b/games/freebsd-games/files/patch-battlestar_init.c new file mode 100644 index 000000000000..077107c3e5aa --- /dev/null +++ b/games/freebsd-games/files/patch-battlestar_init.c @@ -0,0 +1,11 @@ +--- battlestar/init.c.old Mon Dec 15 17:48:41 2003 ++++ battlestar/init.c Mon Dec 15 17:48:54 2003 +@@ -62,7 +62,7 @@ + puts("Admiral D.W. Riggle\n"); + srandomdev(); + getutmp(uname); +- if (startup) ++ if (startup == NULL) + location = dayfile; + wiz = wizard(uname); + wordinit(); diff --git a/games/freebsd-games/files/patch-hack_Makefile b/games/freebsd-games/files/patch-hack_Makefile new file mode 100644 index 000000000000..384893572eb5 --- /dev/null +++ b/games/freebsd-games/files/patch-hack_Makefile @@ -0,0 +1,12 @@ +Index: hack/Makefile +@@ -17,7 +17,9 @@ + MAN= hack.6 + DPADD= ${LIBTERMCAP} ${LIBCOMPAT} + LDADD= -ltermcap -lcompat +-CFLAGS+= -fwritable-strings -I${.CURDIR} -I. ++CFLAGS+= -DPOSIX -I${.CURDIR} -I. ++BINGRP=games ++BINMODE=2555 + FILES= rumors help hh data + FILESMODE_rumors= 440 + FILESGRP= ${BINGRP} diff --git a/games/freebsd-games/files/patch-hack_config.h b/games/freebsd-games/files/patch-hack_config.h new file mode 100644 index 000000000000..cc7fd6cf95b2 --- /dev/null +++ b/games/freebsd-games/files/patch-hack_config.h @@ -0,0 +1,9 @@ +Index: hack/config.h +@@ -22,7 +22,6 @@ + * Also, the code for suspend and various ioctls is only given for BSD4.2 + * (I do not have access to a SYSV system.) + */ +-#define BSD /* delete this line on System V */ + + /* #define STUPID */ /* avoid some complicated expressions if + your C compiler chokes on them */ diff --git a/games/freebsd-games/files/patch-hack_hack.ioctl.c b/games/freebsd-games/files/patch-hack_hack.ioctl.c new file mode 100644 index 000000000000..cd899364bed0 --- /dev/null +++ b/games/freebsd-games/files/patch-hack_hack.ioctl.c @@ -0,0 +1,29 @@ +Index: hack/hack.ioctl.c +@@ -13,6 +13,9 @@ + #ifdef BSD + #include <sgtty.h> + struct ltchars ltchars, ltchars0; ++#elif POSIX ++#include <termios.h> ++struct termios termio; + #else + #include <termio.h> /* also includes part of <sgtty.h> */ + struct termio termio; +@@ -22,6 +25,8 @@ + #ifdef BSD + (void) ioctl(fileno(stdin), (int) TIOCGLTC, (char *) <chars); + (void) ioctl(fileno(stdin), (int) TIOCSLTC, (char *) <chars0); ++#elif POSIX ++ tcgetattr(fileno(stdin), &termio); + #else + (void) ioctl(fileno(stdin), (int) TCGETA, &termio); + #endif /* BSD */ +@@ -30,6 +35,8 @@ + setioctls() { + #ifdef BSD + (void) ioctl(fileno(stdin), (int) TIOCSLTC, (char *) <chars); ++#elif POSIX ++ tcsetattr(fileno(stdin), TCSANOW, &termio); + #else + (void) ioctl(fileno(stdin), (int) TCSETA, &termio); + #endif /* BSD */ diff --git a/games/freebsd-games/files/patch-hack_hack.pager.c b/games/freebsd-games/files/patch-hack_hack.pager.c new file mode 100644 index 000000000000..3a9df40b839e --- /dev/null +++ b/games/freebsd-games/files/patch-hack_hack.pager.c @@ -0,0 +1,10 @@ +Index: hack/hack.pager.c +@@ -367,6 +367,8 @@ + #else + + #ifdef BSD ++#include <sys/wait.h> ++#elif POSIX + #include <sys/wait.h> + #else + #include <wait.h> diff --git a/games/freebsd-games/files/patch-hack_hack.shk.c b/games/freebsd-games/files/patch-hack_hack.shk.c new file mode 100644 index 000000000000..3c936b353a23 --- /dev/null +++ b/games/freebsd-games/files/patch-hack_hack.shk.c @@ -0,0 +1,46 @@ +--- hack/hack.shk.c.orig Sun May 27 21:36:53 2007 ++++ hack/hack.shk.c Sun May 27 21:38:28 2007 +@@ -131,11 +131,11 @@ struct bill_x *bp = bill; + } + } + ++static void findshk(); ++ + inshop(){ + int roomno = inroom(u.ux,u.uy); + +- static void findshk(); +- + /* Did we just leave a shop? */ + if(u.uinshop && + (u.uinshop != roomno + 1 || shlevel != dlevel || !shopkeeper)) { +@@ -308,14 +308,14 @@ struct monst *shkp; + } + } + ++static int dopayobj(); ++ + dopay(){ + long ltmp; + struct bill_x *bp; + struct monst *shkp; + int pass, tmp; + +- static int dopayobj(); +- + multi = 0; + (void) inshop(); + for(shkp = fmon; shkp; shkp = shkp->nmon) +@@ -692,10 +692,11 @@ quit: + return(0); + } + ++static int realhunger(); ++ + static + getprice(obj) struct obj *obj; { + int tmp, ac; +- static int realhunger(); + + switch(obj->olet){ + case AMULET_SYM: diff --git a/games/freebsd-games/files/patch-hack_hack.termcap.c b/games/freebsd-games/files/patch-hack_hack.termcap.c new file mode 100644 index 000000000000..eefbf4a52eea --- /dev/null +++ b/games/freebsd-games/files/patch-hack_hack.termcap.c @@ -0,0 +1,26 @@ +--- hack/hack.termcap.c.orig Tue Nov 16 11:26:38 1999 ++++ hack/hack.termcap.c Sun May 27 21:39:48 2007 +@@ -11,10 +11,11 @@ + extern long *alloc(); + + static char tbuf[512]; +-static char *HO, *CL, *CE, *UP, *CM, *ND, *XD, *BC, *SO, *SE, *TI, *TE; ++static char *HO, *CL, *CE, *CM, *ND, *XD, *SO, *SE, *TI, *TE; ++char *UP, *BC; + static char *VS, *VE; + static int SG; +-static char PC = '\0'; ++char PC = '\0'; + char *CD; /* tested in pri.c: docorner() */ + int CO, LI; /* used in pri.c and whatis.c */ + +@@ -35,7 +36,8 @@ startup() + flags.nonull = 1; + if(pc = tgetstr("pc", &tbufptr)) + PC = *pc; +- if(!(BC = tgetstr("bc", &tbufptr))) { ++ if(!(BC = tgetstr("bc", &tbufptr)) ++ &&!(BC = tgetstr("le", &tbufptr))) { + if(!tgetflag("bs")) + error("Terminal must backspace."); + BC = tbufptr; diff --git a/games/freebsd-games/files/patch-hack_hack.tty.c b/games/freebsd-games/files/patch-hack_hack.tty.c new file mode 100644 index 000000000000..07a126779f6a --- /dev/null +++ b/games/freebsd-games/files/patch-hack_hack.tty.c @@ -0,0 +1,42 @@ +Index: hack/hack.tty.c +@@ -53,6 +53,7 @@ + */ + #ifdef BSD + #define V7 ++#elif POSIX + #else + #define USG + #endif /* BSD */ +@@ -82,6 +83,21 @@ + #define GTTY(x) (ioctl(0, TCGETA, x)) + #define STTY(x) (ioctl(0, TCSETA, x)) /* TCSETAF? TCSETAW? */ + ++#elif POSIX ++#include <termios.h> ++#define termstruct termios ++#define kill_sym c_cc[VKILL] ++#define erase_sym c_cc[VERASE] ++#define EXTABS OXTABS ++#define tabflgs c_oflag ++#define echoflgs c_lflag ++#define cbrkflgs c_lflag ++#define CBRKMASK ICANON ++#define CBRKON ! /* reverse condition */ ++#define OSPEED(x) cfgetospeed(x) ++#define GTTY(x) tcgetattr(fileno(stdin),x) ++#define STTY(x) tcsetattr(fileno(stdin),TCSANOW,x) /* TCSETAF? TCSETAW? */ ++ + #else /* V7 */ + + #include <sgtty.h> +@@ -169,6 +185,10 @@ + /* be satisfied with one character; no timeout */ + curttyb.c_cc[VMIN] = 1; /* was VEOF */ + curttyb.c_cc[VTIME] = 0; /* was VEOL */ ++#elif POSIX ++ /* be satisfied with one character; no timeout */ ++ curttyb.c_cc[VMIN] = 1; /* was VEOF */ ++ curttyb.c_cc[VTIME] = 0; /* was VEOL */ + #endif /* USG */ + change++; + } diff --git a/games/freebsd-games/files/patch-hack_hack.unix.c b/games/freebsd-games/files/patch-hack_hack.unix.c new file mode 100644 index 000000000000..101204838c32 --- /dev/null +++ b/games/freebsd-games/files/patch-hack_hack.unix.c @@ -0,0 +1,13 @@ +$FreeBSD: /tmp/pcvs/ports/games/freebsd-games/files/Attic/patch-hack_hack.unix.c,v 1.3 2012-02-08 05:35:19 cy Exp $ + +--- hack/hack.unix.c.orig Thu Nov 20 10:17:36 2003 ++++ hack/hack.unix.c Thu Nov 20 10:18:09 2003 +@@ -86,7 +86,7 @@ + /* old version - for people short of space */ + char *np; + +- name = "/usr/games/hide/hack"; ++ name = "%%PREFIX%%/bin/hack"; + if(stat(name, &hbuf)) + error("Cannot get status of %s.", + (np = rindex(name, '/')) ? np+1 : name); diff --git a/games/freebsd-games/files/patch-larn_Makefile b/games/freebsd-games/files/patch-larn_Makefile new file mode 100644 index 000000000000..3671991924cb --- /dev/null +++ b/games/freebsd-games/files/patch-larn_Makefile @@ -0,0 +1,10 @@ +Index: larn/Makefile +@@ -54,7 +54,7 @@ + + PROG= larn + MAN= larn.6 +-CFLAGS+=-DBSD -DVER=12 -DSUBVER=0 -DNONAP -DUIDSCORE -fwritable-strings -DNOVARARGS ++CFLAGS+=-DPOSIX -DVER=12 -DSUBVER=0 -DNONAP -DUIDSCORE -DNOVARARGS + SRCS= main.c object.c create.c tok.c display.c global.c data.c io.c \ + monster.c store.c diag.c help.c config.c nap.c bill.c scores.c \ + signal.c moreobj.c movem.c regen.c fortune.c savelev.c diff --git a/games/freebsd-games/files/patch-larn_diag.c b/games/freebsd-games/files/patch-larn_diag.c new file mode 100644 index 000000000000..3a5946b05d75 --- /dev/null +++ b/games/freebsd-games/files/patch-larn_diag.c @@ -0,0 +1,31 @@ +$FreeBSD: /tmp/pcvs/ports/games/freebsd-games/files/Attic/patch-larn_diag.c,v 1.3 2012-02-08 05:35:19 cy Exp $ + +--- larn/diag.c 17 Jun 2003 04:25:24 -0000 1.2 ++++ larn/diag.c 21 Jun 2004 02:28:34 -0000 1.3 +@@ -210,7 +210,7 @@ + if (beenhere[k]) + lrfill((char*)&cell[k*MAXX*MAXY],sizeof(struct cel)*MAXY*MAXX); + +- lrfill((char*)&c[0],100*sizeof(long)); gtime = lrint(); ++ lrfill((char*)&c[0],100*sizeof(long)); gtime = lrint_x(); + level = c[CAVELEVEL] = lgetc(); + playerx = lgetc(); playery = lgetc(); + lrfill((char*)iven,26); lrfill((char*)ivenarg,26*sizeof(short)); +@@ -241,7 +241,7 @@ + } + + time(&zzz); +- initialtime = zzz-lrint(); ++ initialtime = zzz-lrint_x(); + fstat(fd,&filetimes); /* get the creation and modification time of file */ + lrfill((char*)&zzz,sizeof(long)); zzz += 6; + if (filetimes.st_ctime > zzz) fsorry(); /* file create time */ +@@ -249,7 +249,7 @@ + if (c[HP]<0) { died(284); return; } /* died a post mortem death */ + + oldx = oldy = 0; +- i = lrint(); /* inode # */ ++ i = lrint_x(); /* inode # */ + if (i && (filetimes.st_ino!=i)) fsorry(); + lrclose(); + if (strcmp(fname,ckpfile) == 0) diff --git a/games/freebsd-games/files/patch-larn_header.h b/games/freebsd-games/files/patch-larn_header.h new file mode 100644 index 000000000000..96f43651a9c7 --- /dev/null +++ b/games/freebsd-games/files/patch-larn_header.h @@ -0,0 +1,18 @@ +Index: larn/header.h +@@ -326,7 +326,6 @@ + #define DEMONLORD 57 + #define DEMONPRINCE 64 + +-#define NULL 0 + #define BUFBIG 4096 /* size of the output buffer */ + #define MAXIBUF 4096 /* size of the input buffer */ + #define LOGNAMESIZE 40 /* max size of the players name */ +@@ -359,7 +359,7 @@ + + char *fortune(),*lgetw(),*lgetl(); + char *tmcapcnv(); +-long paytaxes(),lgetc(),lrint(); ++long paytaxes(),lgetc(),lrint_x(); + unsigned long readnum(); + + /* macro to create scroll #'s with probability of occurrence */ diff --git a/games/freebsd-games/files/patch-larn_io.c b/games/freebsd-games/files/patch-larn_io.c new file mode 100644 index 000000000000..bbbb35860082 --- /dev/null +++ b/games/freebsd-games/files/patch-larn_io.c @@ -0,0 +1,46 @@ +Index: larn/io.c +@@ -24,7 +24,7 @@ + * FILE INPUT ROUTINES + * + * long lgetc() read one character from input buffer +- * long lrint() read one integer from input buffer ++ * long lrint_x() read one integer from input buffer + * lrfill(address,number) put input bytes into a buffer + * char *lgetw() get a whitespace ended word from input + * char *lgetl() get a \n or EOF ended line from input +@@ -69,6 +69,17 @@ + _a.c_cc[VMIN]=1;_a.c_cc[VTIME]=1;_a.c_lflag &= ~(ICANON|ECHO|ECHOE|ECHOK|ECHONL) + #define unraw(_a) _a.c_cc[VMIN]=saveeof;_a.c_cc[VTIME]=saveeol;_a.c_lflag |= ICANON|ECHO|ECHOE|ECHOK|ECHONL + ++#elif POSIX ++#include <termios.h> ++#define sgttyb termios ++#define gtty(_a,_b) tcgetattr(_a,_b) ++#define stty(_a,_b) tcsetattr(_a,TCSANOW,_b) ++static int rawflg = 0; ++static char saveeof,saveeol; ++#define doraw(_a) if(!rawflg){++rawflg;saveeof=_a.c_cc[VMIN];saveeol=_a.c_cc[VTIME];}\ ++ _a.c_cc[VMIN]=1;_a.c_cc[VTIME]=1;_a.c_lflag &= ~(ICANON|ECHO|ECHOE|ECHOK|ECHONL) ++#define unraw(_a) _a.c_cc[VMIN]=saveeof;_a.c_cc[VTIME]=saveeol;_a.c_lflag |= ICANON|ECHO|ECHOE|ECHOK|ECHONL ++ + #else /* not SYSV */ + + #ifndef BSD +@@ -345,7 +356,7 @@ + } + + /* +- * long lrint() Read one integer from input buffer ++ * long lrint_x() Read one integer from input buffer + * + * +---------+---------+---------+---------+ + * | high | | | low | +@@ -357,7 +368,7 @@ + * The save order is low order first, to high order (4 bytes total) + * Returns the int read + */ +-long lrint() ++long lrint_x() + { + unsigned long i; + i = 255 & lgetc(); i |= (255 & lgetc()) << 8; diff --git a/games/freebsd-games/files/patch-quiz b/games/freebsd-games/files/patch-quiz new file mode 100644 index 000000000000..9f4832ba2ae0 --- /dev/null +++ b/games/freebsd-games/files/patch-quiz @@ -0,0 +1,175 @@ +Index: index +=================================================================== +RCS file: /ncvs/src/games/quiz/datfiles/index,v +retrieving revision 1.1.1.1 +diff -u -r1.1.1.1 index +--- quiz/datfiles/index 4 Sep 1994 04:03:09 -0000 1.1.1.1 ++++ quiz/datfiles/index 20 Sep 2002 23:49:50 -0000 +@@ -21,7 +21,7 @@ + /usr/local/local/share/games/quiz.db/murders:victim:killer + /usr/local/local/share/games/quiz.db/poetry:poem{-}line:next:poem:author + /usr/local/local/share/games/quiz.db/posneg:pos{itive}:neg{ative} +-/usr/local/local/share/games/quiz.db/pres:pres{ident}:term:succ{essor} ++/usr/local/local/share/games/quiz.db/pres:pres{ident}:term:vice:succ{essor} + /usr/local/local/share/games/quiz.db/province:province:cap{ital} + /usr/local/local/share/games/quiz.db/seq-easy:easy{-}{seq{uence}}:next:name + /usr/local/local/share/games/quiz.db/seq-hard:hard{-}{seq{uence}}:next:name +Index: pres +=================================================================== +RCS file: /ncvs/src/games/quiz/datfiles/pres,v +retrieving revision 1.1.1.1 +diff -u -r1.1.1.1 pres +--- quiz/datfiles/pres 4 Sep 1994 04:03:10 -0000 1.1.1.1 ++++ quiz/datfiles/pres 20 Sep 2002 23:38:18 -0000 +@@ -1,38 +1,83 @@ +-{G{eorge} }Washington:1789-{17}97:{J{ohn} }Adams +-{J{ohn} }Adams:1797-1801:{T{homas} }Jefferson +-{T{homas} }Jefferson:1801-{{18}0}9:{J{ames} }Madison +-{J{ames} }Madison:1809-{18}17:{J{ames} }Monroe +-{J{ames} }Monroe:1817-1825:{J{ohn} }{Q{uincy} }Adams +-{J{ohn} }{Q{uincy} }Adams:1825-{{18}2}9:{A{ndrew} }Jackson +-{A{ndrew} }Jackson:1829-{18}37:{M{artin} }Van Buren +-{M{artin} }Van Buren:1837-{18}41:{W{illiam|m} }{H{enry} }Harrison +-{W{illiam|m} }{H{enry} }Harrison:1841:{J{ohn} }Tyler +-{J{ohn} }Tyler:1841-{{18}4}5:{J{ames} }{K{nox} }Polk +-{J{ames} }{K{nox} }Polk:1845-{{18}4}9:{Z{achary} }Taylor +-{Z{achary} }Taylor:1849-{18}50:{M{illard} }Fillmore +-{M{illard} }Fillmore:1850-{{18}5}3:{F{ranklin} }Pierce +-{F{ranklin} }Pierce:1853-{{18}5}7:{J{ames} }Buchanan +-{J{ames} }Buchanan:1857-{18}61:{A{braham|be} }Lincoln +-{A{braham|be} }Lincoln:1861-{{18}6}5:{A{ndrew} }Johnson +-{A{ndrew} }Johnson:1865-{{18}6}9:{U{lysses} }{S{impson} }Grant +-{U{lysses} }{S{impson} }Grant:1869-{18}77:{R{utherford} }{B{irchard} }Hayes +-{R{utherford} }{B{irchard} }Hayes:1877-{18}81:{J{ames} }{A{bram} }Garfield +-{J{ames} }{A{bram} }Garfield:1881:{C{hester} }{A{lan} }Arthur +-{C{hester} }{A{lan} }Arthur:1881-{{18}8}5:{G{rover} }Cleveland{ (1st term)} +-{G{rover} }Cleveland{ (1st term)}:1885-{{18}8}9:{B{enjamin} }Harrison +-{B{enjamin} }Harrison:1889-{18}93:{G{rover} }Cleveland{ (2nd term)} +-{G{rover} }Cleveland{ (2nd term)}:1893-{18}97:{W{illiam|m} }McKinley +-{W{illiam|m} }McKinley:1897-1901:{T{heodore|eddy} }Roosevelt|TR +-{T{heodore|eddy} }Roosevelt|TR:1901-{{19}0}9:{W{illiam|m} }{H{oward} }Taft +-{W{illiam|m} }{H{oward} }Taft:1909-{19}13:{W{oodrow} }Wilson +-{W{oodrow} }Wilson:1913-{19}21:{W{arren} }{G{amaliel} }Harding +-{W{arren} }{G{amaliel} }Harding:1921-{{19}2}3:{C{alvin} }Coolidge +-{C{alvin} }Coolidge:1923-{{19}2}9:{H{erbert} }Hoover +-{H{erbert} }Hoover:1929-{19}33:{F{ranklin} }{D{elano} }Roosevelt|FDR +-{F{ranklin} }{D{elano} }Roosevelt|FDR:1933-{19}45:{H{arry} }{S }Truman +-{H{arry} }{S }Truman:1945-{19}53:{D{wight} }{D{avid} }Eisenhower +-{D{wight} }{D{avid} }Eisenhower:1953-{19}61:{J{ohn} }{F{itzgerald} }Kennedy|JFK +-{J{ohn} }{F{itzgerald} }Kennedy|JFK:1961-{{19}6}3:{L{yndon} }{B{aines} }Johnson|LBJ +-{L{yndon} }{B{aines} }Johnson|LBJ:1963-{{19}6}9:{R{ichard} }{M{ilhouse} }Nixon +-{R{ichard} }{M{ilhouse} }Nixon:1969-{19}74:{G{erald} }{R{obert} }Ford +-{G{erald} }{R{obert} }Ford:1974-: ++{G{eorge} }Washington:1789-{17}97:{J{ohn} }Adams:{J{ohn} }Adams ++{J{ohn} }Adams:1797-1801:{T{homas} }Jefferson:{T{homas} }Jefferson ++{T{homas} }Jefferson:1801-{{18}0}9:{A{aron} }Burr|{G{eorge} }Clinton:\ ++{J{ames} }Madison ++{J{ames} }Madison:1809-{18}17:{G{eorge} }Clinton|{E{lbridge} }Gerry:\ ++{J{ames} }Monroe ++{J{ames} }Monroe:1817-1825:\ ++{D{aniel} }{D{.} }Tompkins:{J{ohn} }{Q{uincy} }Adams ++{J{ohn} }{Q{uincy} }Adams:1825-{{18}2}9:{J{ohn} }{C{aldwell} }Calhoun:\ ++{A{ndrew} }Jackson ++{A{ndrew} }Jackson:1829-{18}37:\ ++{J{ohn} }{C{aldwell} }Calhoun|{M{artin} }Van Buren:{M{artin} }Van Buren ++{M{artin} }Van Buren:1837-{18}41:\ ++{R{ichard} }{M{entor} }Johnson:{W{illiam|m} }{H{enry} }Harrison ++{W{illiam|m} }{H{enry} }Harrison:1841:{J{ohn} }Tyler:{J{ohn} }Tyler ++{J{ohn} }Tyler:1841-{{18}4}5:[N|n]one{ (1841-5)}:{J{ames} }{K{nox} }Polk ++{J{ames} }{K{nox} }Polk:1845-{{18}4}9:\ ++{G{eorge} }{M{ifflin} }Dallas:{Z{achary} }Taylor ++{Z{achary} }Taylor:1849-{18}50:{M{illard} }Fillmore:{M{illard} }Fillmore ++{M{illard} }Fillmore:1850-{{18}5}3:[N|n]one{ (1850-3)}:{F{ranklin} }Pierce ++{F{ranklin} }Pierce:1853-{{18}5}7:\ ++{W{illiam|m} }{R{ufus} }{de Vane }King:{J{ames} }Buchanan ++{J{ames} }Buchanan:1857-{18}61:\ ++{J{ohn} }{C{abell} }Breckinridge:{A{braham|be} }Lincoln ++{A{braham|be} }Lincoln:1861-{{18}6}5:\ ++{H{annibal} }Hamlin|{A{ndrew} }Johnson:{A{ndrew} }Johnson ++{A{ndrew} }Johnson:1865-{{18}6}9:[N|n]one{ (1865-9)}:\ ++{U{lysses} }{S{impson} }Grant ++{U{lysses} }{S{impson} }Grant:1869-{18}77:\ ++{S{chuyler} }Colfax|{H{enry} }Wilson:{R{utherford} }{B{irchard} }Hayes ++{R{utherford} }{B{irchard} }Hayes:1877-{18}81:\ ++{W{illiam|m} }{A{lmon} }Wheeler:{J{ames} }{A{bram} }Garfield ++{J{ames} }{A{bram} }Garfield:1881:\ ++{C{hester} }{A{lan} }Arthur:{C{hester} }{A{lan} }Arthur ++{C{hester} }{A{lan} }Arthur:1881-{{18}8}5:[N|n]one{ (1881-5)}:\ ++{G{rover} }Cleveland{ (1st term)} ++{G{rover} }Cleveland{ (1st term)}:1885-{{18}8}9:\ ++{T{homas} }{A{ndrews} }Hendricks:{B{enjamin} }Harrison ++{B{enjamin} }Harrison:1889-{18}93:\ ++{L{evi} }{P{arsons} }Morton:{G{rover} }Cleveland{ (2nd term)} ++{G{rover} }Cleveland{ (2nd term)}:1893-{18}97:\ ++{A{dlai} }{E{wing} }Stevenson:{W{illiam|m} }McKinley ++{W{illiam|m} }McKinley:1897-1901:\ ++{G{arret} }{A{ugustus} }Hobart|{T{heodore|eddy} }Roosevelt|TR:\ ++{T{heodore|eddy} }Roosevelt|TR ++{T{heodore|eddy} }Roosevelt|TR:1901-{{19}0}9:\ ++{C{harles} }{W{arren} }Fairbanks:{W{illiam|m} }{H{oward} }Taft ++{W{illiam|m} }{H{oward} }Taft:1909-{19}13:\ ++{J{ames} }{S{choolcraft} }Sherman:{W{oodrow} }Wilson ++{W{oodrow} }Wilson:1913-{19}21:\ ++{T{homas} }{R{iley} }Marshall:{W{arren} }{G{amaliel} }Harding ++{W{arren} }{G{amaliel} }Harding:1921-{{19}2}3:{C{alvin} }Coolidge:\ ++{C{alvin} }Coolidge ++{C{alvin} }Coolidge:1923-{{19}2}9:\ ++{C{harles} }{G{ates} }Dawes:{H{erbert} }{C{lark} }Hoover ++{H{erbert} }{C{lark} }Hoover:1929-{19}33:\ ++{C{harles} }Curtis:{F{ranklin} }{D{elano} }Roosevelt|FDR ++{F{ranklin} }{D{elano} }Roosevelt|FDR:1933-{19}45:\ ++{J{ohn} }{N{ance} }Garner|{H{enry} }{A{gard} }Wallace|{H{arry} }{S }Truman:\ ++{H{arry} }{S }Truman ++{H{arry} }{S }Truman:1945-{19}53:\ ++{A{lben} }{W{illiam} }Barkley:{D{wight} }{D{avid} }Eisenhower ++{D{wight} }{D{avid} }Eisenhower:1953-{19}61:\ ++{R{ichard} }{M{ilhous} }Nixon:{J{ohn} }{F{itzgerald} }Kennedy|JFK ++{J{ohn} }{F{itzgerald} }Kennedy|JFK:1961-{{19}6}3:\ ++{L{yndon} }{B{aines} }Johnson|LBJ:{L{yndon} }{B{aines} }Johnson|LBJ ++{L{yndon} }{B{aines} }Johnson|LBJ:1963-{{19}6}9:\ ++{H{ubert} }{H{oratio} }Humphrey:{R{ichard} }{M{ilhous} }Nixon ++{R{ichard} }{M{ilhous} }Nixon:1969-{19}74:\ ++{S{piro} }{T{heodore} }Agnew|{G{erald} }{R{udolph} }Ford:\ ++{G{erald} }{R{udolph} }Ford ++{G{erald} }{R{udolph} }Ford:1974-{{19}7}7:\ ++{N{elson} }{A{ldrich} }Rockefeller:{J{ames} }{E{arl} }Carter{{,} J{unio}r} ++{J{ames} }{E{arl} }Carter{{,} J{unio}r}:1977-{19}81:\ ++{W{alter} }{F{rederick} }Mondale:{R{onald} }{W{ilson} }Reagan ++{R{onald} }{W{ilson} }Reagan:1981-{{19}8}9:\ ++{G{eorge} }{H{erbert} }{W{alker} }Bush:{G{eorge} }{H{erbert} }{W{alker} }Bush ++{G{eorge} }{H{erbert} }{W{alker} }Bush:1989-{19}93:\ ++{J{ames} }{D{anforth|an} }Quayle:{W{illiam|m} }{J{efferson} }Clinton ++{W{illiam|m} }{J{efferson} }Clinton:1993-2001:\ ++{A{lbert} }{A{rnold} }Gore{{,} J{unio}r}:{G{eorge} }{W{alker} }Bush{{,} J{unio}r} ++{G{eorge} }{W{alker} }Bush{{,} J{unio}r}:2001-:\ ++{R{ichard} }{B{ruce} }Cheney: + + + + +--- quiz/datfiles/pres Sat Sep 21 01:38:18 2002 ++++ quiz/datfiles/pres.new Sat Sep 21 20:55:47 2002 +@@ -70,14 +70,17 @@ + {S{piro} }{T{heodore} }Agnew|{G{erald} }{R{udolph} }Ford:\ + {G{erald} }{R{udolph} }Ford + {G{erald} }{R{udolph} }Ford:1974-{{19}7}7:\ +-{N{elson} }{A{ldrich} }Rockefeller:{J{ames} }{E{arl} }Carter{{,} J{unio}r} +-{J{ames} }{E{arl} }Carter{{,} J{unio}r}:1977-{19}81:\ ++{N{elson} }{A{ldrich} }Rockefeller:\ ++{J{ames} }{E{arl} }{(Jimmy) }Carter{{,} J{unio}r}|Jimmy Carter ++{J{ames} }{E{arl} }{(Jimmy) }Carter{{,} J{unio}r}|Jimmy Carter:1977-{19}81:\ + {W{alter} }{F{rederick} }Mondale:{R{onald} }{W{ilson} }Reagan + {R{onald} }{W{ilson} }Reagan:1981-{{19}8}9:\ + {G{eorge} }{H{erbert} }{W{alker} }Bush:{G{eorge} }{H{erbert} }{W{alker} }Bush + {G{eorge} }{H{erbert} }{W{alker} }Bush:1989-{19}93:\ +-{J{ames} }{D{anforth|an} }Quayle:{W{illiam|m} }{J{efferson} }Clinton +-{W{illiam|m} }{J{efferson} }Clinton:1993-2001:\ +-{A{lbert} }{A{rnold} }Gore{{,} J{unio}r}:{G{eorge} }{W{alker} }Bush{{,} J{unio}r} ++{J{ames} }{D{anforth|an} }Quayle:\ ++{W{illiam|m} }{J{efferson} }{(Bill) }Clinton|Bill Clinton ++{W{illiam|m} }{J{efferson} }{(Bill) }Clinton|Bill Clinton:1993-2001:\ ++{A{l{bert}} }{A{rnold} }Gore{{,} J{unio}r}:\ ++{G{eorge} }{W{alker} }Bush{{,} J{unio}r} + {G{eorge} }{W{alker} }Bush{{,} J{unio}r}:2001-:\ +-{R{ichard} }{B{ruce} }Cheney: ++{R{ichard} }{B{ruce} }{(Dick) }Cheney|Dick Cheney: diff --git a/games/freebsd-games/files/patch-rogue_Makefile b/games/freebsd-games/files/patch-rogue_Makefile new file mode 100644 index 000000000000..3a819d26158f --- /dev/null +++ b/games/freebsd-games/files/patch-rogue_Makefile @@ -0,0 +1,11 @@ +--- rogue/Makefile.orig Sun May 27 21:36:53 2007 ++++ rogue/Makefile Sun May 27 21:40:48 2007 +@@ -2,7 +2,7 @@ + # $FreeBSD$ + + PROG= rogue +-CFLAGS+=-DUNIX -fwritable-strings ++CFLAGS+=-DUNIX + SRCS= hit.c init.c inventory.c level.c machdep.c main.c \ + message.c monster.c move.c object.c pack.c play.c random.c ring.c \ + room.c save.c score.c spec_hit.c throw.c trap.c use.c zap.c diff --git a/games/freebsd-games/files/patch-snake_snake_move.c b/games/freebsd-games/files/patch-snake_snake_move.c new file mode 100644 index 000000000000..03f96cdc9885 --- /dev/null +++ b/games/freebsd-games/files/patch-snake_snake_move.c @@ -0,0 +1,24 @@ +Index: snake/snake/move.c +@@ -677,10 +674,10 @@ + + gtty(0, &orig); + new=orig; +- new.sg_flags &= ~(ECHO|CRMOD|ALLDELAY|XTABS); +- new.sg_flags |= CBREAK; ++ new.c_lflag &= ~(ECHO|ICRNL|OXTABS); ++ new.c_lflag &= ~ICANON; + signal(SIGINT,stop); +- ospeed = orig.sg_ospeed; ++ ospeed = cfgetospeed(&orig); + #ifdef TIOCGLTC + ioctl(0, TIOCGLTC, &olttyc); + nlttyc = olttyc; +@@ -689,7 +686,7 @@ + #endif + raw(); + +- if ((orig.sg_flags & XTABS) == XTABS) TA=0; ++ if ((orig.c_lflag & OXTABS) == OXTABS) TA=0; + putpad(KS); + putpad(TI); + point(&cursor,0,LINES-1); diff --git a/games/freebsd-games/files/patch-snake_snake_snake.c b/games/freebsd-games/files/patch-snake_snake_snake.c new file mode 100644 index 000000000000..11c001d38bf6 --- /dev/null +++ b/games/freebsd-games/files/patch-snake_snake_snake.c @@ -0,0 +1,10 @@ +Index: snake/snake/snake.c +@@ -183,7 +181,7 @@ + snrand(&money); + snrand(&snake[0]); + +- if ((orig.sg_ospeed < B9600) || ++ if ((cfgetospeed(&orig) < B9600) || + ((! CM) && (! TA))) fast=0; + for(i=1;i<6;i++) + chase (&snake[i], &snake[i-1]); diff --git a/games/freebsd-games/files/patch-snake_snake_snake.h b/games/freebsd-games/files/patch-snake_snake_snake.h new file mode 100644 index 000000000000..a89166ac21f3 --- /dev/null +++ b/games/freebsd-games/files/patch-snake_snake_snake.h @@ -0,0 +1,25 @@ +Index: snake/snake/snake.h +@@ -38,10 +38,13 @@ + # include <stdio.h> + # include <assert.h> + # include <sys/types.h> +-# include <sgtty.h> ++# include <termios.h> + # include <signal.h> + # include <math.h> + ++#define gtty(_a,_b) tcgetattr(_a,_b) ++#define stty(_a,_b) tcsetattr(_a,TCSANOW,_b) ++ + #define ESC '\033' + + struct tbuffer { +@@ -72,7 +75,7 @@ + int col, line; + }; + struct point cursor; +-struct sgttyb orig, new; ++struct termios orig, new; + #ifdef TIOCLGET + struct ltchars olttyc, nlttyc; + #endif diff --git a/games/freebsd-games/files/patch-trek_main.c b/games/freebsd-games/files/patch-trek_main.c new file mode 100644 index 000000000000..c6880a8a5893 --- /dev/null +++ b/games/freebsd-games/files/patch-trek_main.c @@ -0,0 +1,33 @@ +Index: trek/main.c +@@ -47,10 +47,12 @@ + + # include "trek.h" + # include <stdio.h> +-# include <sgtty.h> ++# include <termios.h> + # include <setjmp.h> + # include <stdlib.h> + ++# define gtty(_a,_b) tcgetattr(_a,_b) ++ + # define PRIO 00 /* default priority */ + + int Mother = 51 + (51 << 8); +@@ -163,7 +165,7 @@ + int prio; + int ac; + char **av; +- struct sgttyb argp; ++ struct termios argp; + + /* revoke */ + setgid(getgid()); +@@ -176,7 +178,7 @@ + prio = PRIO; + if (gtty(1, &argp) == 0) + { +- if ((argp.sg_ispeed ) < B1200) ++ if ((cfgetispeed(&argp)) < B1200) + Etc.fast++; + } + while (ac > 1 && av[0][0] == '-') diff --git a/games/freebsd-games/pkg-descr b/games/freebsd-games/pkg-descr new file mode 100644 index 000000000000..4f0e98eb0b0c --- /dev/null +++ b/games/freebsd-games/pkg-descr @@ -0,0 +1,6 @@ +This is a port of the FreeBSD "standard" games as they were just +before they were removed from the base system. + +This source was formerly a part of the FreeBSD base system, and this +package is based on the final version of that source code, so it +includes all previous FreeBSD customizations. diff --git a/games/freebsd-games/pkg-plist b/games/freebsd-games/pkg-plist new file mode 100644 index 000000000000..4c0ebf9239e3 --- /dev/null +++ b/games/freebsd-games/pkg-plist @@ -0,0 +1,108 @@ +@comment $FreeBSD$ +bin/adventure +bin/arithmetic +bin/atc +bin/backgammon +bin/teachgammon +bin/battlestar +bin/bs +bin/canfield +bin/cfscores +bin/cribbage +bin/fish +bin/hack +bin/hangman +bin/larn +bin/mille +bin/phantasia +bin/piano +bin/pig +bin/quiz +bin/robots +bin/rogue +bin/sail +bin/snake +bin/snscore +bin/trek +bin/worm +bin/wump +share/games/atc/Game_List +share/games/atc/Killer +share/games/atc/crossover +share/games/atc/default +share/games/atc/easy +share/games/atc/game_2 +@dirrm share/games/atc +share/games/larn/larnmaze +share/games/larn/larnopts +share/games/larn/larn.help +@dirrm share/games/larn +share/games/quiz.db/africa +share/games/quiz.db/america +share/games/quiz.db/areas +share/games/quiz.db/arith +share/games/quiz.db/asia +share/games/quiz.db/babies +share/games/quiz.db/bard +share/games/quiz.db/chinese +share/games/quiz.db/collectives +share/games/quiz.db/ed +share/games/quiz.db/elements +share/games/quiz.db/europe +share/games/quiz.db/flowers +share/games/quiz.db/greek +share/games/quiz.db/inca +share/games/quiz.db/index +share/games/quiz.db/latin +share/games/quiz.db/locomotive +share/games/quiz.db/midearth +share/games/quiz.db/morse +share/games/quiz.db/murders +share/games/quiz.db/poetry +share/games/quiz.db/posneg +share/games/quiz.db/pres +share/games/quiz.db/province +share/games/quiz.db/seq-easy +share/games/quiz.db/seq-hard +share/games/quiz.db/sexes +share/games/quiz.db/sov +share/games/quiz.db/spell +share/games/quiz.db/state +share/games/quiz.db/trek +share/games/quiz.db/ucc +@dirrm share/games/quiz.db +share/games/cribbage.instr +share/games/fish.instr +share/games/wump.info +@dirrm share/games +@cwd /var/games +@dirrm atc +@dirrm battlestar +hackdir/perm +hackdir/record +hackdir/rumors +hackdir/help +hackdir/hh +hackdir/data +@dirrm hackdir/save +@dirrm hackdir +larn/lscore12.0 +larn/llog12.0 +@dirrm larn +phantasia/characs +phantasia/gold +phantasia/lastdead +phantasia/mess +phantasia/monsters +phantasia/motd +phantasia/scoreboard +phantasia/void +@dirrm phantasia +battlestar.log +cfscores +criblog +robots_roll +rogue.scores +saillog +snakerawscores +snake.log |