From 5c55d5ea440e1f04f4f5ee6cc1dd7d204a7e28dd Mon Sep 17 00:00:00 2001 From: Toyam Cox Date: Mon, 11 May 2020 19:18:26 -0400 Subject: [PATCH] New package: netrek-client-cow-3.3.1 --- .../patches/to-latest-2020-05-10.patch | 2562 +++++++++++++++++ srcpkgs/netrek-client-cow/template | 26 + 2 files changed, 2588 insertions(+) create mode 100644 srcpkgs/netrek-client-cow/patches/to-latest-2020-05-10.patch create mode 100644 srcpkgs/netrek-client-cow/template diff --git a/srcpkgs/netrek-client-cow/patches/to-latest-2020-05-10.patch b/srcpkgs/netrek-client-cow/patches/to-latest-2020-05-10.patch new file mode 100644 index 00000000000..f457fda7077 --- /dev/null +++ b/srcpkgs/netrek-client-cow/patches/to-latest-2020-05-10.patch @@ -0,0 +1,2562 @@ +diff --git a/COW.DOC b/COW.DOC +index ca5c8d9..85c5107 100644 +--- a/COW.DOC ++++ b/COW.DOC +@@ -123,9 +123,7 @@ have unique defaults files. + + 3.1.4 VERIFICATION OPTIONS + +- The "-o" option instructs the client to use the old reserved.c verification +-to identify itself to the server. Upgraded RSA servers will require that the +-client use RSA verification. This is selected using the "-R" option. ++ [deleted] + + 3.1.5 RECORD GAME OPTION + +@@ -204,10 +202,6 @@ software. + periods. You must reconnect before this timeout expires or + your slot will be given to someone else, you won't be able + to reconnect. On most servers it is around 6 minutes long. +- +- Note to experts: The server will reverify clients using whatever +- available means it has, including RSA or reserved.c when a ghostbust +- occurs and therefore whenever this feature is used. + + 3.1.11 ESOTERIC OPTIONS + +@@ -410,12 +404,12 @@ you cannot change the colors. + If you have any comments, mail them to kantner@hot.caltech.edu + + *** Shell escape tool +-You may execute any Unix shell comand within the client. Read your mail +-now within the client. To do so, just send a message to the destination +-"!" and you get a shell prompt. Enter the comand and its output will ++You may execute any Unix shell command within the client. Read your mail ++now within the client. To do so, just send a message to the destination ++"!" and you get a shell prompt. Enter the command and its output will + be displayed in the tools window. Works also with macros to "!". + You may disable it in the .xtrekrc for security reasons with shellTools: off +-CAUTION: The client will be blocked for the time the comand is executed. ++CAUTION: The client will be blocked for the time the command is executed. + Also some programs suspend the client if it is started in the background. + + *** Fast quit +@@ -462,7 +456,6 @@ borg, AFAIK.) For instance: + COW 3.00pl0, linux, 03/03/98, RMCSE365AmTsr + The letters in the fourth field indicate which #ifdefs were specified + at compile time. Possibilities are: +-R: RSA supported + M: Macros + D: Debugging information + C: Corrupted packet handling +@@ -615,9 +608,6 @@ port.rio: 4566 + + showmotd: (on/off) display motd if in wait queue + +-useRSA: (on/off) default setting for whether the client should use RSA +- verification. +- + autoquit: (integer) length of time to wait on team selection screen + before Auto-quit exits for you. + +@@ -1700,37 +1690,13 @@ responds. The default for this option is: + COW has the best and easiest to use installation procedure a client + ever had. + +-1 *** If you are compiling COW and do not intend to release the client +- *** for public distribution with an RSA blessing, simply type: +- + make + + In case you will need some additional flags for your compiler or linker, + edit the "sample_key.def" file and change the corresponding parameters + at the bottom. + +-2 *** If you are compiling COW with the intention of releasing a client +- *** for public distribution with an RSA blessing, read below. +- +-First, please contact cow@netrek.org so we know about +-the existance of the client and where other people might obtain it. +- +-Make sure that you have MP or GMP available on your system. +-If you do not have the GMP installation, you need to obtain it. +-It should be available from gatekeeper.dec.com. +- +-To install it do the following: +- +-1) Take the sample_key.def file as a basis to generate an own RSA key +- definition file. +-2) Edit the Makefile and set KEYDEF to the name of the new generated file. +-3) make +- If you don't have already a key a new key will be generated. +-4) make distkey +- Sends a mail to the RSA key keeper to get your key installed +- at the servers. +-5) you are done! watch that GPA hit the floor!! +- ++You are done! watch that GPA hit the floor!! + + cow@netrek.org always likes to receive bug reports for + the client and if you have any suggestion for how to improve the +diff --git a/Makefile b/Makefile +index efb02ba..be412fd 100644 +--- a/Makefile ++++ b/Makefile +@@ -2,13 +2,6 @@ + # No editables below this point. # + ######################################################################## + +--include key.mk +- +-KEYGOD = clientkeys@clientkeys.netrek.org +-MAIL = mail +- +-include $(KEYDEF) +- + PACKAGE=netrek-client-cow + VERSION=$(shell ./name) + DVERSION=$(shell head -1 debian/changelog|cut -f2 -d\(|cut -f1 -d\)) +@@ -18,37 +11,27 @@ all: netrek-client-cow + netrek-client-cow: system.mk netrekI + + netrekI:: +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) netrek-client-cow ++ $(MAKE) -f system.mk netrek-client-cow + + netrek.shared: name system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) S=SHARED netrek.shared ++ $(MAKE) -f system.mk S=SHARED netrek.shared + + profile: +- $(MAKE) -f system.mk OPT="-ggdb3 -pg -a" EXTRALINKFLAGS="-ggdb3 -pg -a" KEYDEF=$(KEYDEF) netrek-client-cow +- +-convert: mkkey $(KEYFILE) $(KEYSH) +- ./mkkey -h $(KEYSH) $(KEYFILE) "Client Of Win" \ +- $(DESC) $(MAKER) $(COMMENT) +- +-newkey: mkkey +- until ./mkkey $(KEYFILE) "Client Of Win" $(DESC) $(MAKER) $(COMMENT) "inl,standard2"; do sleep 1; done +- +-mkkey: system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) mkkey ++ $(MAKE) -f system.mk OPT="-ggdb3 -pg -a" EXTRALINKFLAGS="-ggdb3 -pg -a" netrek-client-cow + + clean: + rm -f *.o $(OBJ) $(SHAREDTARGET) + + reallyclean: clean +- rm -f netrek-client-cow randomize mkkey rsa_box*.c name mkcflags \ +- config.h system.mk config.status config.log config.cache key.mail \ +- null netrek.shared lib* cflags.c key.cow.linux* key.mk \ ++ rm -f netrek-client-cow name mkcflags \ ++ config.h system.mk config.status config.log config.cache \ ++ null netrek.shared lib* cflags.c \ + po/Makefile po/Makefile.in + + distclean: clean reallyclean + + tags: system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) tags ++ $(MAKE) -f system.mk tags + + names: name + @echo "PACKAGE=$(PACKAGE)" +@@ -76,54 +59,43 @@ distbin: name netrek-client-cow + -rm -f $(PACKAGE)-$(VERSION).$(ARCH).gz + gzip -9 $(PACKAGE)-$(VERSION).$(ARCH) + +-distkey: netrek-client-cow $(KEYFILE) +- echo "This is an automatic generated mail." >key.mail +- echo "Please add the following $(ARCH) COW key to the metaserver:" >>key.mail +- echo "" >>key.mail +- cat $(KEYFILE) >>key.mail +- echo "" >>key.mail +- ./netrek-client-cow -v >>key.mail +- cat key.mail | $(MAIL) $(KEYGOD) +- + name: name.c version.h patchlevel.h + $(CC) $(CFLAGS) -o name name.c + + depend: system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) depend ++ $(MAKE) -f system.mk depend + +-system.mk: Makefile system.mk.in config.h.in configure install.sh $(KEYDEF) ++system.mk: Makefile system.mk.in config.h.in configure install.sh + ./configure $(CONFFLAGS) +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) depend ++ $(MAKE) -f system.mk depend + + install.sh: + touch install.sh + + XTREKRC: system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) xtrekrc ++ $(MAKE) -f system.mk xtrekrc + mv xtrekrc XTREKRC + +-configure: configure.in +- rm -f configure +- $(AUTOCONF) configure.in > configure +- chmod +x configure ++configure: configure.ac ++ $(AUTOCONF) + + unproto: system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) unproto ++ $(MAKE) -f system.mk unproto + + proto: system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) proto ++ $(MAKE) -f system.mk proto + + indent: system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) indent ++ $(MAKE) -f system.mk indent + + to_unix: system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) to_unix ++ $(MAKE) -f system.mk to_unix + + to_dos: system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) to_dos ++ $(MAKE) -f system.mk to_dos + + install: system.mk +- $(MAKE) -f system.mk KEYDEF=$(KEYDEF) install ++ $(MAKE) -f system.mk install + + package: + fakeroot dpkg-buildpackage -Igtk -Ipygtk -Ipyqt +diff --git a/README.releasing b/README.releasing +index 155683c..e1d5398 100644 +--- a/README.releasing ++++ b/README.releasing +@@ -27,7 +27,7 @@ mv netrek-client-cow-${VERSION}.tar.gz .. + + cd /tmp + md5sum netrek-client-cow-${VERSION}.tar.gz +-0ff5366d35a8bce1d4139aa29bead7cc netrek-client-cow-3.3.0.tar.gz ++b4f686e37b694050e701e4b36f605008 netrek-client-cow-3.3.1.tar.gz + + # test build the .tar.gz + cd /tmp +@@ -40,8 +40,7 @@ make + # release + cd /tmp + cp netrek-client-cow-${VERSION}.tar.gz ~/public_html/external/mine/netrek/ +-cd ~/public_html/external/ +-. to-au ++upw + http://quozl.linux.org.au/netrek/ + + # orion upload +diff --git a/autogen.sh b/autogen.sh +old mode 100644 +new mode 100755 +diff --git a/camera.c b/camera.c +index 994dcde..e2f67fe 100644 +--- a/camera.c ++++ b/camera.c +@@ -22,13 +22,11 @@ static int initialised = 0; + + void camera_init(Display *arg_disp, Window arg_window) { + if (initialised) return; +- int depth; + disp = arg_disp; + tw = arg_window; + + scr = ScreenOfDisplay(disp, DefaultScreen(disp)); + vis = DefaultVisual(disp, XScreenNumberOfScreen(scr)); +- depth = DefaultDepth(disp, XScreenNumberOfScreen(scr)); + cm = DefaultColormap(disp, XScreenNumberOfScreen(scr)); + rw = RootWindow(disp, XScreenNumberOfScreen(scr)); + +diff --git a/config.h.in b/config.h.in +index 56596c3..c8eea7a 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -24,9 +24,6 @@ + */ + + +-/* RSA - New RSA reserved packets stuff */ +-/* #define RSA - Defined in the Makefile */ +- + #define RCD /* RCD - Support Reciever variable + distresses */ + +diff --git a/configure.in b/configure.ac +similarity index 70% +rename from configure.in +rename to configure.ac +index 086e4ca..ce956ee 100644 +--- a/configure.in ++++ b/configure.ac +@@ -5,10 +5,6 @@ AC_INIT(name.c) + AC_CANONICAL_SYSTEM + AC_CONFIG_HEADER(config.h) + +-AC_MSG_CHECKING(your key) +-AC_ARG_WITH(key, [ --with-key key definition file],KEYDEF=$withval,KEYDEF=sample_key.def) +-AC_SUBST(KEYDEF) +- + AC_PROG_INSTALL + + AC_PROG_CC +@@ -152,117 +148,6 @@ INCS="$INCS $XINCLUDES" + AC_SUBST(INCS) + LIBS="$LIBS $XLIBSW" + +-#-------------------------------------------------------------------- +-# Check for gmp and mp +-#-------------------------------------------------------------------- +- +-AC_ARG_WITH(gmp,[ --with-gmp GMP Dir], MPINC="-I$withval/include" MPLIB="-L$withval/lib -lgmp" search=false, MPINC=nope MPLIB=nope) +-if test "$MPINC" = nope; then +- AC_MSG_CHECKING(for mp.h) +- AC_EGREP_CPP(GNU_MP,[ +-#include +-__GNU_MP__ +-], +- [gnu_mp_ok=yes], +- [gnu_mp_ok=no]) +- if test "x$gnu_mp_ok" = xyes; then +- MPINC=nope +- search=true +- AC_MSG_RESULT(yes) +- else +- MPINC="" +- search=false +- AC_MSG_RESULT(no) +- fi +-fi +- +-AC_MSG_CHECKING(for gmp.h) +- +-if test "$MPINC" = nope; then +- dirs="$srcdir/gmp-2.0.2 /usr/unsupported/include /usr/local/include \ +- /usr/gnu/include /usr/gnu/include/mp /usr/local/gnu/include \ +- /usr/local/gnu/include/mp /usr/include/gnu /usr/local/lib/gmp-2.0.2" +- for i in $dirs; do +- if test -r $i/gmp.h; then +- MPINC="-I$i" +- fi +- done +-fi +- +-if test "$MPINC" = nope; then +- +-# mp not supported with new mkkey. +- AC_TRY_CPP([#include ], MPINC=nope , MPINC=nope) +- +- if test "$MPINC" = nope; then +- MPINC="# -I." +- NORSA="#" +- AC_MSG_RESULT(no) +- else +- AC_MSG_RESULT(yes) +- fi +-else +- AC_MSG_RESULT(yes) +-fi +- +-AC_SUBST(MPINC) +- +-# Checking for GMP 2 +-SAVEINCS="$INCS" +-INCS="$INCS $XINCLUDES" +-AC_EGREP_CPP("gmp=.*[[02-9]]", [ +- #include +- gmp=__GNU_MP__ +- ],AC_DEFINE(HAVE_GMP2_H)) +-INCS="$SAVEINCS" +- +-if test "$MPLIB" = nope; then +- if test "$search" = true; then +- MPLIB=nope +- else +- AC_CHECK_LIB(mp, main, MPLIB="-lmp", MPLIB=" ") +- AC_CHECK_LIB(gmp, main, MPLIB="$MPLIB -lgmp", MPLIB=nope) +- fi +- if test "$MPLIB" = nope; then +- dirs="$srcdir/gmp-2.0.2 /usr/unsupported/lib /usr/local/lib /usr/gnu/lib \ +- /usr/local/gnu/lib /usr/lib/gnu /usr/local/lib/gmp-2.0.2" +- for i in $dirs; do +- if test -r $i/libmp.a; then +- MPLIB="-L$i -lmp" +- fi +- if test -r $i/libgmp.a; then +- MPLIB="-L$i -lgmp" +- AC_MSG_RESULT(yes) +- fi +- done +- fi +-fi +-if test "$MPLIB" = nope; then +- AC_CHECK_LIB(mp, main, MPLIB=bsdmp, MPLIB=nope) +- if test "$MPLIB" = bsdmp; then +- echo "Sorry COW requires gmp not mp for RSA." +- MPLIB="# -L. -lmp -lgmp" +- NORSA="#" +- fi +- if test "$MPLIB" = nope; then +- echo Warning mp or gmp library not found, turning RSA off. +- MPLIB="# -L. -lmp -lgmp" +- NORSA="#" +- fi +-fi +-AC_SUBST(MPLIB) +- +-if ! test -r "$srcdir/mkkey.c"; then +- echo +- echo Warning RSA utilities for COW build not found in source, turning RSA off. +- NORSA="#" +- echo +-fi +- +-AC_SUBST(RSAINC) +-AC_SUBST(RSALIB) +-AC_SUBST(NORSA) +- + #-------------------------------------------------------------------- + # Check for the existence of various libraries. The order here + # is important, so that then end up in the right order in the +@@ -291,6 +176,12 @@ AC_REPLACE_FUNCS(usleep setstate strdup rint) + # Check for system dependent programs + #-------------------------------------------------------------------- + ++#-------------------------------------------------------------------- ++# Check for Imlib ++#-------------------------------------------------------------------- ++AC_SEARCH_LIBS([imlib_load_image], [Imlib2], [], ++ [AC_MSG_ERROR([Could not find Imlib2])]) ++ + #-------------------------------------------------------------------- + # Check for SDL + #-------------------------------------------------------------------- +@@ -307,9 +198,7 @@ if test x$no_sdl != xyes; then + fi + fi + +-AM_GNU_GETTEXT([external]) +- + #-------------------------------------------------------------------- + # Emit output + #-------------------------------------------------------------------- +-AC_OUTPUT(system.mk key.mk po/Makefile.in) ++AC_OUTPUT(system.mk) +diff --git a/cow.html b/cow.html +index 43879df..db99302 100644 +--- a/cow.html ++++ b/cow.html +@@ -866,12 +866,12 @@ Still, they're there! + + [Note: This is not yet implemented in WinCOW ] +

+- You may execute any Unix shell comand within the client. Read your mail +-now within the client. To do so, just send a message to the destination +-"!" and you get a shell prompt. Enter the comand and it's output will ++ You may execute any Unix shell command within the client. Read your mail ++now within the client. To do so, just send a message to the destination ++"!" and you get a shell prompt. Enter the command and it's output will + be displayed in the tools window. Works also with macros to "!". + You may disable it in the .xtrekrc for security reasons with shellTools: off +-CAUTION: The client will be blocked for the time the comand is executed. ++CAUTION: The client will be blocked for the time the command is executed. + Also some programs suspend the client if it is started in the background. + + +diff --git a/cowapi.h b/cowapi.h +index 811a4ef..28dd7e6 100644 +--- a/cowapi.h ++++ b/cowapi.h +@@ -73,17 +73,6 @@ extern int takeNearest; + extern unsigned LONG netaddr; + #endif + +-#ifdef RSA +-extern int RSA_Client; +-extern char key_name[]; +-extern char client_type[]; +-extern char client_arch[]; +-extern char client_creator[]; +-extern char client_comments[]; +-extern char client_key_date[]; +- +-#endif +- + #ifdef TOOLS + extern char *wwwlink; + extern char *upgradeURL; +diff --git a/cowmain.c b/cowmain.c +index 27eb29e..99f4984 100644 +--- a/cowmain.c ++++ b/cowmain.c +@@ -145,7 +145,7 @@ char *str; + + if (!server_count) + { +- fprintf(stderr, _("No server list, cannot resolve id\n")); ++ fprintf(stderr, "No server list, cannot resolve id\n"); + return -1; + } + +@@ -163,7 +163,7 @@ char *str; + } + if (i == server_count) + { +- fprintf(stderr, _("Specified server not found.\n")); ++ fprintf(stderr, "Specified server not found.\n"); + return -1; + } + +@@ -662,7 +662,7 @@ int cowmain(char *server, int port, char *name) + serverName = server; + } + +- SRANDOM(getpid() * time((LONG *) 0)); ++ SRANDOM(getpid() * time(NULL)); + + if (!passive) + { +diff --git a/data.h b/data.h +index a37b2d5..90da063 100644 +--- a/data.h ++++ b/data.h +@@ -129,18 +129,6 @@ extern unsigned LONG netaddr; /* for blessing */ + + extern int messageon; + +-#ifdef RSA +-extern char testdata[]; +-extern int RSA_Client; +-extern char key_name[]; +-extern char client_type[]; +-extern char client_arch[]; +-extern char client_creator[]; +-extern char client_comments[]; +-extern char client_key_date[]; +- +-#endif +- + #ifdef META + extern char *metaserver; + extern int metaport; +diff --git a/defs.h b/defs.h +index 53af2f9..2a57e6a 100644 +--- a/defs.h ++++ b/defs.h +@@ -2,8 +2,6 @@ + #define _h_defs + + #include "copyright.h" +-#include "gettext.h" +-#define _(string) gettext (string) + + /* #$!@$#% length of address field of messages */ + #define ADDRLEN 10 +@@ -91,9 +89,6 @@ + * tractor beam */ + + +-/* RSA stuff */ +-#define RSA_VERSION "RSA v2.0 CLIENT" /* string must begin with +- * characters "RSA" */ + #define KEY_SIZE 32 + #define RESERVED_SIZE 16 + #define NAME_LEN 16 +diff --git a/dmessage.c b/dmessage.c +index 34b35b4..76e79b1 100644 +--- a/dmessage.c ++++ b/dmessage.c +@@ -35,7 +35,7 @@ void dmessage(char *message, unsigned char flags, unsigned char from, unsigned c + register int len; + W_Color color; + char timebuf[10]; +- LONG curtime; ++ time_t curtime; + struct tm *tm; + int take, destroy, team, kill, killp, killa, bomb, conq; + struct distress dist; +diff --git a/getname.c b/getname.c +index 2d6e419..be5071b 100644 +--- a/getname.c ++++ b/getname.c +@@ -415,7 +415,7 @@ void getname(char *defname, char *defpasswd) + break; + } + +- events(0); ++ events(); + + if (automatic) { + timeout.tv_sec = 0; +@@ -498,7 +498,7 @@ void getname(char *defname, char *defpasswd) + } + + if (FD_ISSET(W_Socket(), &readfds)) +- while (W_EventsQueuedCk()) events(0); ++ while (W_EventsQueuedCk()) events(); + + if (time(0) != lasttime) { + lasttime++; +diff --git a/gettext.h b/gettext.h +deleted file mode 100644 +index 209921e..0000000 +--- a/gettext.h ++++ /dev/null +@@ -1,271 +0,0 @@ +-/* Convenience header for conditional use of GNU . +- Copyright (C) 1995-1998, 2000-2002, 2004-2006 Free Software Foundation, Inc. +- +- This program is free software; you can redistribute it and/or modify it +- under the terms of the GNU General Public License as published +- by the Free Software Foundation; either version 2, or (at your option) +- any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Library General Public License for more details. +- +- You should have received a copy of the GNU General Public +- License along with this program; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +- USA. */ +- +-#ifndef _LIBGETTEXT_H +-#define _LIBGETTEXT_H 1 +- +-/* NLS can be disabled through the configure --disable-nls option. */ +-#if ENABLE_NLS +- +-/* Get declarations of GNU message catalog functions. */ +-# include +- +-/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by +- the gettext() and ngettext() macros. This is an alternative to calling +- textdomain(), and is useful for libraries. */ +-# ifdef DEFAULT_TEXT_DOMAIN +-# undef gettext +-# define gettext(Msgid) \ +- dgettext (DEFAULT_TEXT_DOMAIN, Msgid) +-# undef ngettext +-# define ngettext(Msgid1, Msgid2, N) \ +- dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N) +-# endif +- +-#else +- +-/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which +- chokes if dcgettext is defined as a macro. So include it now, to make +- later inclusions of a NOP. We don't include +- as well because people using "gettext.h" will not include , +- and also including would fail on SunOS 4, whereas +- is OK. */ +-#if defined(__sun) +-# include +-#endif +- +-/* Many header files from the libstdc++ coming with g++ 3.3 or newer include +- , which chokes if dcgettext is defined as a macro. So include +- it now, to make later inclusions of a NOP. */ +-#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) +-# include +-# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H +-# include +-# endif +-#endif +- +-/* Disabled NLS. +- The casts to 'const char *' serve the purpose of producing warnings +- for invalid uses of the value returned from these functions. +- On pre-ANSI systems without 'const', the config.h file is supposed to +- contain "#define const". */ +-# define gettext(Msgid) ((const char *) (Msgid)) +-# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid)) +-# define dcgettext(Domainname, Msgid, Category) \ +- ((void) (Category), dgettext (Domainname, Msgid)) +-# define ngettext(Msgid1, Msgid2, N) \ +- ((N) == 1 \ +- ? ((void) (Msgid2), (const char *) (Msgid1)) \ +- : ((void) (Msgid1), (const char *) (Msgid2))) +-# define dngettext(Domainname, Msgid1, Msgid2, N) \ +- ((void) (Domainname), ngettext (Msgid1, Msgid2, N)) +-# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ +- ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N)) +-# define textdomain(Domainname) ((const char *) (Domainname)) +-# define bindtextdomain(Domainname, Dirname) \ +- ((void) (Domainname), (const char *) (Dirname)) +-# define bind_textdomain_codeset(Domainname, Codeset) \ +- ((void) (Domainname), (const char *) (Codeset)) +- +-#endif +- +-/* A pseudo function call that serves as a marker for the automated +- extraction of messages, but does not call gettext(). The run-time +- translation is done at a different place in the code. +- The argument, String, should be a literal string. Concatenated strings +- and other string expressions won't work. +- The macro's expansion is not parenthesized, so that it is suitable as +- initializer for static 'char[]' or 'const char[]' variables. */ +-#define gettext_noop(String) String +- +-/* The separator between msgctxt and msgid in a .mo file. */ +-#define GETTEXT_CONTEXT_GLUE "\004" +- +-/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a +- MSGID. MSGCTXT and MSGID must be string literals. MSGCTXT should be +- short and rarely need to change. +- The letter 'p' stands for 'particular' or 'special'. */ +-#ifdef DEFAULT_TEXT_DOMAIN +-# define pgettext(Msgctxt, Msgid) \ +- pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +-#else +-# define pgettext(Msgctxt, Msgid) \ +- pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +-#endif +-#define dpgettext(Domainname, Msgctxt, Msgid) \ +- pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES) +-#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \ +- pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category) +-#ifdef DEFAULT_TEXT_DOMAIN +-# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ +- npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +-#else +-# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \ +- npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +-#endif +-#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ +- npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES) +-#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \ +- npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category) +- +-#ifdef __GNUC__ +-__inline +-#else +-#ifdef __cplusplus +-inline +-#endif +-#endif +-static const char * +-pgettext_aux (const char *domain, +- const char *msg_ctxt_id, const char *msgid, +- int category) +-{ +- const char *translation = dcgettext (domain, msg_ctxt_id, category); +- if (translation == msg_ctxt_id) +- return msgid; +- else +- return translation; +-} +- +-#ifdef __GNUC__ +-__inline +-#else +-#ifdef __cplusplus +-inline +-#endif +-#endif +-static const char * +-npgettext_aux (const char *domain, +- const char *msg_ctxt_id, const char *msgid, +- const char *msgid_plural, unsigned long int n, +- int category) +-{ +- const char *translation = +- dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); +- if (translation == msg_ctxt_id || translation == msgid_plural) +- return (n == 1 ? msgid : msgid_plural); +- else +- return translation; +-} +- +-/* The same thing extended for non-constant arguments. Here MSGCTXT and MSGID +- can be arbitrary expressions. But for string literals these macros are +- less efficient than those above. */ +- +-#include +- +-#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \ +- (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \ +- /* || __STDC_VERSION__ >= 199901L */ ) +- +-#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS +-#include +-#endif +- +-#define pgettext_expr(Msgctxt, Msgid) \ +- dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES) +-#define dpgettext_expr(Domainname, Msgctxt, Msgid) \ +- dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES) +- +-#ifdef __GNUC__ +-__inline +-#else +-#ifdef __cplusplus +-inline +-#endif +-#endif +-static const char * +-dcpgettext_expr (const char *domain, +- const char *msgctxt, const char *msgid, +- int category) +-{ +- size_t msgctxt_len = strlen (msgctxt) + 1; +- size_t msgid_len = strlen (msgid) + 1; +- const char *translation; +-#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS +- char msg_ctxt_id[msgctxt_len + msgid_len]; +-#else +- char buf[1024]; +- char *msg_ctxt_id = +- (msgctxt_len + msgid_len <= sizeof (buf) +- ? buf +- : (char *) malloc (msgctxt_len + msgid_len)); +- if (msg_ctxt_id != NULL) +-#endif +- { +- memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); +- msg_ctxt_id[msgctxt_len - 1] = '\004'; +- memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); +- translation = dcgettext (domain, msg_ctxt_id, category); +-#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS +- if (msg_ctxt_id != buf) +- free (msg_ctxt_id); +-#endif +- if (translation != msg_ctxt_id) +- return translation; +- } +- return msgid; +-} +- +-#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \ +- dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) +-#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \ +- dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES) +- +-#ifdef __GNUC__ +-__inline +-#else +-#ifdef __cplusplus +-inline +-#endif +-#endif +-static const char * +-dcnpgettext_expr (const char *domain, +- const char *msgctxt, const char *msgid, +- const char *msgid_plural, unsigned long int n, +- int category) +-{ +- size_t msgctxt_len = strlen (msgctxt) + 1; +- size_t msgid_len = strlen (msgid) + 1; +- const char *translation; +-#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS +- char msg_ctxt_id[msgctxt_len + msgid_len]; +-#else +- char buf[1024]; +- char *msg_ctxt_id = +- (msgctxt_len + msgid_len <= sizeof (buf) +- ? buf +- : (char *) malloc (msgctxt_len + msgid_len)); +- if (msg_ctxt_id != NULL) +-#endif +- { +- memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1); +- msg_ctxt_id[msgctxt_len - 1] = '\004'; +- memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len); +- translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category); +-#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS +- if (msg_ctxt_id != buf) +- free (msg_ctxt_id); +-#endif +- if (!(translation == msg_ctxt_id || translation == msgid_plural)) +- return translation; +- } +- return (n == 1 ? msgid : msgid_plural); +-} +- +-#endif /* _LIBGETTEXT_H */ +diff --git a/inform.c b/inform.c +index 1c419ac..37b66cc 100644 +--- a/inform.c ++++ b/inform.c +@@ -39,7 +39,6 @@ void inform(W_Window ww, int x, int y, char key) + register struct player *j; + register struct planet *k; + int mx, my; +- double dist; + struct obtype *gettarget(W_Window ww, int x, int y, int targtype), *target; + int windowWidth, windowHeight; + float KillsPerHour, LossesPerHour; /* SB info window changed to +@@ -215,8 +214,6 @@ void inform(W_Window ww, int x, int y, char key) + 2, foreColor); + W_MapWindow(infow); + k = &planets[target->o_num]; +- dist = hypot((double) (me->p_x - k->pl_x), +- (double) (me->p_y - k->pl_y)); + if ((k->pl_info & me->p_team) + + #ifdef RECORDGAME +diff --git a/interface.c b/interface.c +index 52903a8..537d9e4 100644 +--- a/interface.c ++++ b/interface.c +@@ -102,8 +102,9 @@ void repair_off(void) + + void repeat_message(void) + { +- if (++lastm == MAXMESSAGE); +- lastm = 0; ++ if (++lastm == MAXMESSAGE) { ++ lastm = 0; ++ } + } + + void cloak(void) +diff --git a/key.mk.in b/key.mk.in +deleted file mode 100644 +index b5b80b3..0000000 +--- a/key.mk.in ++++ /dev/null +@@ -1 +0,0 @@ +-KEYDEF = @KEYDEF@ +diff --git a/local.c b/local.c +index 3487571..2c30e6d 100644 +--- a/local.c ++++ b/local.c +@@ -1292,7 +1292,7 @@ static void DrawMisc(void) { + } + + +-inline void local(void) ++extern void local(void) + /* + * Draw out the 'tactical' map + */ +@@ -1310,7 +1310,7 @@ inline void local(void) + } + + +-inline void clearLocal(void) ++extern void clearLocal(void) + /* + * Clear the local map (intelligently rather than just simply wiping + * the map). +diff --git a/local.h b/local.h +index 18f0bcc..77391ce 100644 +--- a/local.h ++++ b/local.h +@@ -14,21 +14,17 @@ + #define PHASER_UPDATE_FUSE 11 /* Ignore phaser if no update in this time */ + #define PLASMA_UPDATE_FUSE 6 /* Ignore plasma if no update in this time */ + +- + /* Global Functions */ +- +-inline void clearLocal(void); ++ ++extern void clearLocal(void); + /* + Clear the local map (intelligently rather than just simply wiping + the map). + */ + +-inline void local(void); ++extern void local(void); + /* + Draw out the 'tactical' map. + */ + +- +- + #endif /* Not defined h_local */ +- +diff --git a/main.c b/main.c +index c8f488a..4fe35f5 100644 +--- a/main.c ++++ b/main.c +@@ -8,7 +8,6 @@ + #include + #include INC_SYS_TIME + #include +-#include "gettext.h" + + #ifdef TOOLS + #include +@@ -75,8 +74,6 @@ int main2(int argc, char **argv) + program = argv[0]; + + setlocale(LC_ALL, ""); +- bindtextdomain("netrek-client-cow", "po/"); +- textdomain("netrek-client-cow"); + + #ifdef WINDOWMAKER + wm_argv=argv; +@@ -220,7 +217,7 @@ int main2(int argc, char **argv) + case 'm': /* use multiple metaservers by UDP */ + if (usemeta && usemeta != 1) + { +- fputs(_("The options -k and -m and -M are mutually exclusive\n"), ++ fputs("The options -k and -m and -M are mutually exclusive\n", + stderr); + err++; + } +@@ -230,7 +227,7 @@ int main2(int argc, char **argv) + case 'k': /* use metaserver cache from prior -M usage */ + if (usemeta && usemeta != 2) + { +- fputs(_("The options -k and -m and -M are mutually exclusive\n"), ++ fputs("The options -k and -m and -M are mutually exclusive\n", + stderr); + err++; + } +@@ -240,7 +237,7 @@ int main2(int argc, char **argv) + case 'M': /* use single metaserver by TCP */ + if (usemeta && usemeta != 3) + { +- fputs(_("The options -k, -m and -M are mutually exclusive\n"), ++ fputs("The options -k, -m and -M are mutually exclusive\n", + stderr); + err++; + } +@@ -254,20 +251,20 @@ int main2(int argc, char **argv) + * * * negative here * to + * flag * * that it should + * override * * xtrekrc */ +- printf(_("Using standard binary verification\n")); ++ printf("Using standard binary verification\n"); + break; + case 'R': + RSA_Client = -2; /* will be reset leter, set + * * * negative here * to + * flag * * that it should + * override * * xtrekrc */ +- printf(_("Using RSA verification\n")); ++ printf("Using RSA verification\n"); + break; + #else + case 'R': +- printf(_("This client does not support RSA verification\n")); ++ printf("This client does not support RSA verification\n"); + case 'o': +- printf(_("Using standard binary verification\n")); ++ printf("Using standard binary verification\n"); + break; + #endif + +@@ -297,7 +294,7 @@ int main2(int argc, char **argv) + case 'U': + if ((baseLocalPort = atoi(*argv)) == 0) + { +- fprintf(stderr, _("Error: -U requires a port number\n")); ++ fprintf(stderr, "Error: -U requires a port number\n"); + exit(1); + } + argc--; +@@ -315,7 +312,7 @@ int main2(int argc, char **argv) + { + ghoststart++; + ghost_pno = atoi(*argv); +- printf(_("Emergency restart being attempted...\n")); ++ printf("Emergency restart being attempted...\n"); + argv++; + argc--; + } +@@ -337,8 +334,8 @@ int main2(int argc, char **argv) + break; + case 'v': + printf("%s\n", cowid); +- printf(_("Compile options used: %s\n"), cflags); +- printf(_("Compiled on %s by %s\n"), cdate, cwho); ++ printf("Compile options used: %s\n", cflags); ++ printf("Compiled on %s by %s\n", cdate, cwho); + printf("%s\n", cbugs); + + #ifdef RSA +@@ -358,7 +355,7 @@ int main2(int argc, char **argv) + + #ifdef IGNORE_SIGNALS_SEGV_BUS + case 'i': +- printf(_("Ignoring signals SIGSEGV and SIGBUS\n")); ++ printf("Ignoring signals SIGSEGV and SIGBUS\n"); + ignore_signals = -1; + break; + #endif +@@ -391,7 +388,7 @@ int main2(int argc, char **argv) + break; + + default: +- fprintf(stderr, _("%s: unknown option '%c'\n"), name, *ptr); ++ fprintf(stderr, "%s: unknown option '%c'\n", name, *ptr); + err++; + break; + } +diff --git a/manifest b/manifest +index 42023f1..ff5b476 100644 +--- a/manifest ++++ b/manifest +@@ -160,7 +160,7 @@ TODO + netrekrc.example + autogen.sh + config.h.in +-configure.in ++configure.ac + system.mk.in + configure + config.sub +@@ -179,8 +179,6 @@ cow.png + cow.desktop + cow.spec + lurk.py +-gettext.h +-po + INSTALL.SGI + beeplite.h + censor.h +diff --git a/map.c b/map.c +index 75b3d00..d5f7aae 100644 +--- a/map.c ++++ b/map.c +@@ -465,7 +465,7 @@ static void gu_update() + + /* add words for some of the gameup flags */ + strcpy(gu_text, " "); +- if (!context->gameup & GU_UNSAFE) { ++ if (!(context->gameup & GU_UNSAFE)) { + strcat(gu_text, "SAFE-IDLE "); + eager++; + } +diff --git a/netrek-client-cow.spec b/netrek-client-cow.spec +new file mode 100644 +index 0000000..bc143c3 +--- /dev/null ++++ b/netrek-client-cow.spec +@@ -0,0 +1,46 @@ ++Name: netrek-client-cow ++Version: 3.3.1 ++Release: %mkrel 1 ++Summary: Netrek client ++License: MIT ++Group: Games/Other ++Source0: http://netrek.org/files/COW/%{name}-%{version}.tar.gz ++URL: http://www.netrek.org ++ ++BuildRequires: SDL_mixer-devel ++BuildRequires: SDL-devel ++BuildRequires: imlib2-devel ++BuildRequires: libxxf86vm-devel ++BuildRequires: gmp-devel ++ ++ ++%description ++This is a client for the multiplayer game of Netrek, supporting sound, ++color bitmaps recording and playback of games. The game itself has ++existed for over 20 years, and has a solid playerbase, including some ++people who have been playing for nearly as long as the game has existed. ++ ++ ++%prep ++%setup -q ++ ++%build ++%configure ++%make ++ ++%install ++%makeinstall ++ ++%clean ++rm -rf %{buildroot} ++ ++%files ++%doc CHANGES README.* TODO *.DOC COPYING XTREKRC.example ++%doc cow.html index.orig.html newbie.html cow.css stars.gif netrekrc.example ++%{_gamesbindir}/%{name} ++%{_datadir}/pixmaps/%{name}/* ++%{_datadir}/applications/%{name}.desktop ++ ++%changelog ++* Wed Feb 29 2012 Johnny A. Solbu 3.3.1-1 ++- Initial release +diff --git a/netrekrc.example b/netrekrc.example +index 20dbd53..bc64830 100644 +--- a/netrekrc.example ++++ b/netrekrc.example +@@ -43,16 +43,14 @@ name: guest + #password: oggtpau + + ############################################################################### +-# this sets the default server and port (and verification scheme) ++# this sets the default server and port + + server: se.netrek.org + port: 2592 +-useRSA: on + + # you can also make nicknames like: + server.bronco: bronco.ece.cmu.edu + port.bronco: 2592 +-useRSA.bronco.ece.cmu.edu: on + + server.hockey: hockey.netrek.org + port.hockey: 2592 +diff --git a/parsemeta.c b/parsemeta.c +index 6dc31a1..345c7ac 100644 +--- a/parsemeta.c ++++ b/parsemeta.c +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #include "Wlib.h" + #include "defs.h" +@@ -996,7 +997,7 @@ void metawindow() + static int lastHeight = 0; + + if (!metaWin) { +- height = 250 + metaHeight * (W_Textheight + 8) + 4 * (metaHeight - 1); ++ height = 350 + metaHeight * (W_Textheight + 8) + 4 * (metaHeight - 1); + metaWin = W_MakeWindow("Netrek Server List", 0, 0, 716, height, NULL, 2, + foreColor); + W_SetBackgroundImage(metaWin, "Misc/map_back.png"); +diff --git a/playback.c b/playback.c +index 7afdc0f..4957d0a 100644 +--- a/playback.c ++++ b/playback.c +@@ -148,11 +148,11 @@ int + outmessage[i] = '\0'; + } + +- SRANDOM(time(0)); ++ SRANDOM(time(NULL)); + + initDefaults(deffile); + +- SRANDOM(getpid() * time((LONG *) 0)); ++ SRANDOM(getpid() * time(NULL)); + + newwin(display_host, name); + +diff --git a/po/ChangeLog b/po/ChangeLog +deleted file mode 100644 +index 3b9f48e..0000000 +--- a/po/ChangeLog ++++ /dev/null +@@ -1,12 +0,0 @@ +-2009-03-16 gettextize +- +- * Makefile.in.in: New file, from gettext-0.17. +- * Rules-quot: New file, from gettext-0.17. +- * boldquot.sed: New file, from gettext-0.17. +- * en@boldquot.header: New file, from gettext-0.17. +- * en@quot.header: New file, from gettext-0.17. +- * insert-header.sin: New file, from gettext-0.17. +- * quot.sed: New file, from gettext-0.17. +- * remove-potcdate.sin: New file, from gettext-0.17. +- * POTFILES.in: New file. +- +diff --git a/po/Makefile.in.in b/po/Makefile.in.in +deleted file mode 100644 +index fecf500..0000000 +--- a/po/Makefile.in.in ++++ /dev/null +@@ -1,429 +0,0 @@ +-# Makefile for PO directory in any package using GNU gettext. +-# Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper +-# +-# This file can be copied and used freely without restrictions. It can +-# be used in projects which are not available under the GNU General Public +-# License but which still want to provide support for the GNU gettext +-# functionality. +-# Please note that the actual code of GNU gettext is covered by the GNU +-# General Public License and is *not* in the public domain. +-# +-# Origin: gettext-0.17 +-GETTEXT_MACRO_VERSION = 0.17 +- +-PACKAGE = @PACKAGE@ +-VERSION = @VERSION@ +-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +- +-SHELL = /bin/sh +-@SET_MAKE@ +- +-srcdir = @srcdir@ +-top_srcdir = @top_srcdir@ +-VPATH = @srcdir@ +- +-prefix = @prefix@ +-exec_prefix = @exec_prefix@ +-datarootdir = @datarootdir@ +-datadir = @datadir@ +-localedir = @localedir@ +-gettextsrcdir = $(datadir)/gettext/po +- +-INSTALL = @INSTALL@ +-INSTALL_DATA = @INSTALL_DATA@ +- +-# We use $(mkdir_p). +-# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as +-# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, +-# @install_sh@ does not start with $(SHELL), so we add it. +-# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined +-# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake +-# versions, $(mkinstalldirs) and $(install_sh) are unused. +-mkinstalldirs = $(SHELL) @install_sh@ -d +-install_sh = $(SHELL) @install_sh@ +-MKDIR_P = @MKDIR_P@ +-mkdir_p = @mkdir_p@ +- +-GMSGFMT_ = @GMSGFMT@ +-GMSGFMT_no = @GMSGFMT@ +-GMSGFMT_yes = @GMSGFMT_015@ +-GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) +-MSGFMT_ = @MSGFMT@ +-MSGFMT_no = @MSGFMT@ +-MSGFMT_yes = @MSGFMT_015@ +-MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) +-XGETTEXT_ = @XGETTEXT@ +-XGETTEXT_no = @XGETTEXT@ +-XGETTEXT_yes = @XGETTEXT_015@ +-XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) +-MSGMERGE = msgmerge +-MSGMERGE_UPDATE = @MSGMERGE@ --update +-MSGINIT = msginit +-MSGCONV = msgconv +-MSGFILTER = msgfilter +- +-POFILES = @POFILES@ +-GMOFILES = @GMOFILES@ +-UPDATEPOFILES = @UPDATEPOFILES@ +-DUMMYPOFILES = @DUMMYPOFILES@ +-DISTFILES.common = Makefile.in.in remove-potcdate.sin \ +-$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) +-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ +-$(POFILES) $(GMOFILES) \ +-$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) +- +-POTFILES = \ +- +-CATALOGS = @CATALOGS@ +- +-# Makevars gets inserted here. (Don't remove this line!) +- +-.SUFFIXES: +-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update +- +-.po.mo: +- @echo "$(MSGFMT) -c -o $@ $<"; \ +- $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ +- +-.po.gmo: +- @lang=`echo $* | sed -e 's,.*/,,'`; \ +- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ +- echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ +- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo +- +-.sin.sed: +- sed -e '/^#/d' $< > t-$@ +- mv t-$@ $@ +- +- +-all: check-macro-version all-@USE_NLS@ +- +-all-yes: stamp-po +-all-no: +- +-# Ensure that the gettext macros and this Makefile.in.in are in sync. +-check-macro-version: +- @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ +- || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ +- exit 1; \ +- } +- +-# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no +-# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because +-# we don't want to bother translators with empty POT files). We assume that +-# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. +-# In this case, stamp-po is a nop (i.e. a phony target). +- +-# stamp-po is a timestamp denoting the last time at which the CATALOGS have +-# been loosely updated. Its purpose is that when a developer or translator +-# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, +-# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent +-# invocations of "make" will do nothing. This timestamp would not be necessary +-# if updating the $(CATALOGS) would always touch them; however, the rule for +-# $(POFILES) has been designed to not touch files that don't need to be +-# changed. +-stamp-po: $(srcdir)/$(DOMAIN).pot +- test ! -f $(srcdir)/$(DOMAIN).pot || \ +- test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) +- @test ! -f $(srcdir)/$(DOMAIN).pot || { \ +- echo "touch stamp-po" && \ +- echo timestamp > stamp-poT && \ +- mv stamp-poT stamp-po; \ +- } +- +-# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', +-# otherwise packages like GCC can not be built if only parts of the source +-# have been downloaded. +- +-# This target rebuilds $(DOMAIN).pot; it is an expensive operation. +-# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. +-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed +- if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ +- package_gnu='GNU '; \ +- else \ +- package_gnu=''; \ +- fi; \ +- if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ +- msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ +- else \ +- msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ +- fi; \ +- case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ +- '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ +- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ +- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ +- --files-from=$(srcdir)/POTFILES.in \ +- --copyright-holder='$(COPYRIGHT_HOLDER)' \ +- --msgid-bugs-address="$$msgid_bugs_address" \ +- ;; \ +- *) \ +- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ +- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ +- --files-from=$(srcdir)/POTFILES.in \ +- --copyright-holder='$(COPYRIGHT_HOLDER)' \ +- --package-name="$${package_gnu}@PACKAGE@" \ +- --package-version='@VERSION@' \ +- --msgid-bugs-address="$$msgid_bugs_address" \ +- ;; \ +- esac +- test ! -f $(DOMAIN).po || { \ +- if test -f $(srcdir)/$(DOMAIN).pot; then \ +- sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ +- sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ +- if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ +- rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ +- else \ +- rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ +- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ +- fi; \ +- else \ +- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ +- fi; \ +- } +- +-# This rule has no dependencies: we don't need to update $(DOMAIN).pot at +-# every "make" invocation, only create it when it is missing. +-# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. +-$(srcdir)/$(DOMAIN).pot: +- $(MAKE) $(DOMAIN).pot-update +- +-# This target rebuilds a PO file if $(DOMAIN).pot has changed. +-# Note that a PO file is not touched if it doesn't need to be changed. +-$(POFILES): $(srcdir)/$(DOMAIN).pot +- @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ +- if test -f "$(srcdir)/$${lang}.po"; then \ +- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ +- echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ +- cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ +- else \ +- $(MAKE) $${lang}.po-create; \ +- fi +- +- +-install: install-exec install-data +-install-exec: +-install-data: install-data-@USE_NLS@ +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ +- for file in $(DISTFILES.common) Makevars.template; do \ +- $(INSTALL_DATA) $(srcdir)/$$file \ +- $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- for file in Makevars; do \ +- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- else \ +- : ; \ +- fi +-install-data-no: all +-install-data-yes: all +- $(mkdir_p) $(DESTDIR)$(datadir) +- @catalogs='$(CATALOGS)'; \ +- for cat in $$catalogs; do \ +- cat=`basename $$cat`; \ +- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ +- dir=$(localedir)/$$lang/LC_MESSAGES; \ +- $(mkdir_p) $(DESTDIR)$$dir; \ +- if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ +- $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ +- echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ +- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ +- if test -n "$$lc"; then \ +- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ +- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ +- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ +- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ +- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ +- for file in *; do \ +- if test -f $$file; then \ +- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ +- fi; \ +- done); \ +- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ +- else \ +- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ +- :; \ +- else \ +- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ +- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ +- fi; \ +- fi; \ +- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ +- ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ +- ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ +- cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ +- echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ +- fi; \ +- done; \ +- done +- +-install-strip: install +- +-installdirs: installdirs-exec installdirs-data +-installdirs-exec: +-installdirs-data: installdirs-data-@USE_NLS@ +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ +- else \ +- : ; \ +- fi +-installdirs-data-no: +-installdirs-data-yes: +- $(mkdir_p) $(DESTDIR)$(datadir) +- @catalogs='$(CATALOGS)'; \ +- for cat in $$catalogs; do \ +- cat=`basename $$cat`; \ +- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ +- dir=$(localedir)/$$lang/LC_MESSAGES; \ +- $(mkdir_p) $(DESTDIR)$$dir; \ +- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ +- if test -n "$$lc"; then \ +- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ +- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ +- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ +- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ +- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ +- for file in *; do \ +- if test -f $$file; then \ +- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ +- fi; \ +- done); \ +- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ +- else \ +- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ +- :; \ +- else \ +- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ +- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ +- fi; \ +- fi; \ +- fi; \ +- done; \ +- done +- +-# Define this as empty until I found a useful application. +-installcheck: +- +-uninstall: uninstall-exec uninstall-data +-uninstall-exec: +-uninstall-data: uninstall-data-@USE_NLS@ +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- for file in $(DISTFILES.common) Makevars.template; do \ +- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ +- done; \ +- else \ +- : ; \ +- fi +-uninstall-data-no: +-uninstall-data-yes: +- catalogs='$(CATALOGS)'; \ +- for cat in $$catalogs; do \ +- cat=`basename $$cat`; \ +- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ +- for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ +- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ +- done; \ +- done +- +-check: all +- +-info dvi ps pdf html tags TAGS ctags CTAGS ID: +- +-mostlyclean: +- rm -f remove-potcdate.sed +- rm -f stamp-poT +- rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po +- rm -fr *.o +- +-clean: mostlyclean +- +-distclean: clean +- rm -f Makefile Makefile.in POTFILES *.mo +- +-maintainer-clean: distclean +- @echo "This command is intended for maintainers to use;" +- @echo "it deletes files that may require special tools to rebuild." +- rm -f stamp-po $(GMOFILES) +- +-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) +-dist distdir: +- $(MAKE) update-po +- @$(MAKE) dist2 +-# This is a separate target because 'update-po' must be executed before. +-dist2: stamp-po $(DISTFILES) +- dists="$(DISTFILES)"; \ +- if test "$(PACKAGE)" = "gettext-tools"; then \ +- dists="$$dists Makevars.template"; \ +- fi; \ +- if test -f $(srcdir)/$(DOMAIN).pot; then \ +- dists="$$dists $(DOMAIN).pot stamp-po"; \ +- fi; \ +- if test -f $(srcdir)/ChangeLog; then \ +- dists="$$dists ChangeLog"; \ +- fi; \ +- for i in 0 1 2 3 4 5 6 7 8 9; do \ +- if test -f $(srcdir)/ChangeLog.$$i; then \ +- dists="$$dists ChangeLog.$$i"; \ +- fi; \ +- done; \ +- if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ +- for file in $$dists; do \ +- if test -f $$file; then \ +- cp -p $$file $(distdir) || exit 1; \ +- else \ +- cp -p $(srcdir)/$$file $(distdir) || exit 1; \ +- fi; \ +- done +- +-update-po: Makefile +- $(MAKE) $(DOMAIN).pot-update +- test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) +- $(MAKE) update-gmo +- +-# General rule for creating PO files. +- +-.nop.po-create: +- @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ +- echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ +- exit 1 +- +-# General rule for updating PO files. +- +-.nop.po-update: +- @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ +- if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ +- tmpdir=`pwd`; \ +- echo "$$lang:"; \ +- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ +- echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ +- cd $(srcdir); \ +- if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ +- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ +- rm -f $$tmpdir/$$lang.new.po; \ +- else \ +- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ +- :; \ +- else \ +- echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ +- exit 1; \ +- fi; \ +- fi; \ +- else \ +- echo "msgmerge for $$lang.po failed!" 1>&2; \ +- rm -f $$tmpdir/$$lang.new.po; \ +- fi +- +-$(DUMMYPOFILES): +- +-update-gmo: Makefile $(GMOFILES) +- @: +- +-Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ +- cd $(top_builddir) \ +- && $(SHELL) ./config.status $(subdir)/$@.in po-directories +- +-force: +- +-# Tell versions [3.59,3.63) of GNU make not to export all variables. +-# Otherwise a system limit (for SysV at least) may be exceeded. +-.NOEXPORT: +diff --git a/po/Makevars b/po/Makevars +deleted file mode 100644 +index 4db9059..0000000 +--- a/po/Makevars ++++ /dev/null +@@ -1,41 +0,0 @@ +-# Makefile variables for PO directory in any package using GNU gettext. +- +-# Usually the message domain is the same as the package name. +-DOMAIN = $(PACKAGE) +- +-# These two variables depend on the location of this directory. +-subdir = po +-top_builddir = .. +- +-# These options get passed to xgettext. +-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ +- +-# This is the copyright holder that gets inserted into the header of the +-# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +-# package. (Note that the msgstr strings, extracted from the package's +-# sources, belong to the copyright holder of the package.) Translators are +-# expected to transfer the copyright for their translations to this person +-# or entity, or to disclaim their copyright. The empty string stands for +-# the public domain; in this case the translators are expected to disclaim +-# their copyright. +-COPYRIGHT_HOLDER = Chris Guthrie, Kevin P. Smith, Scott Silvey, Eric Mehlhaff, Kevin Powell, Nick Trown, Jeff Nelson, Kurt Siegl, Lars Bernhardsson, Nathan Doss, Michael Kantner, James Cameron +- +-# This is the email address or URL to which the translators shall report +-# bugs in the untranslated strings: +-# - Strings which are not entire sentences, see the maintainer guidelines +-# in the GNU gettext documentation, section 'Preparing Strings'. +-# - Strings which use unclear terms or require additional context to be +-# understood. +-# - Strings which make invalid assumptions about notation of date, time or +-# money. +-# - Pluralisation problems. +-# - Incorrect English spelling. +-# - Incorrect formatting. +-# It can be your email address, or a mailing list address where translators +-# can write to without being subscribed, or the URL of a web page through +-# which the translators can contact you. +-MSGID_BUGS_ADDRESS = netrek-dev@us.netrek.org +- +-# This is the list of locale categories, beyond LC_MESSAGES, for which the +-# message catalogs shall be used. It is usually empty. +-EXTRA_LOCALE_CATEGORIES = +diff --git a/po/POTFILES.in b/po/POTFILES.in +deleted file mode 100644 +index ab20dcb..0000000 +--- a/po/POTFILES.in ++++ /dev/null +@@ -1,2 +0,0 @@ +-# List of source files which contain translatable strings. +-main.c +diff --git a/po/Rules-quot b/po/Rules-quot +deleted file mode 100644 +index 9c2a995..0000000 +--- a/po/Rules-quot ++++ /dev/null +@@ -1,47 +0,0 @@ +-# Special Makefile rules for English message catalogs with quotation marks. +- +-DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot +- +-.SUFFIXES: .insert-header .po-update-en +- +-en@quot.po-create: +- $(MAKE) en@quot.po-update +-en@boldquot.po-create: +- $(MAKE) en@boldquot.po-update +- +-en@quot.po-update: en@quot.po-update-en +-en@boldquot.po-update: en@boldquot.po-update-en +- +-.insert-header.po-update-en: +- @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ +- if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ +- tmpdir=`pwd`; \ +- echo "$$lang:"; \ +- ll=`echo $$lang | sed -e 's/@.*//'`; \ +- LC_ALL=C; export LC_ALL; \ +- cd $(srcdir); \ +- if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ +- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ +- rm -f $$tmpdir/$$lang.new.po; \ +- else \ +- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ +- :; \ +- else \ +- echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ +- exit 1; \ +- fi; \ +- fi; \ +- else \ +- echo "creation of $$lang.po failed!" 1>&2; \ +- rm -f $$tmpdir/$$lang.new.po; \ +- fi +- +-en@quot.insert-header: insert-header.sin +- sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header +- +-en@boldquot.insert-header: insert-header.sin +- sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header +- +-mostlyclean: mostlyclean-quot +-mostlyclean-quot: +- rm -f *.insert-header +diff --git a/po/TODO b/po/TODO +deleted file mode 100644 +index 80f06a3..0000000 +--- a/po/TODO ++++ /dev/null +@@ -1,55 +0,0 @@ +-http://www.gnu.org/software/gettext/FAQ.html#integrating_howto +- +-# Add an invocation of AM_GNU_GETTEXT([external]) to the package's +- configure.{ac,in} file. [DONE] +- +-# Invoke \u201cgettextize --copy\u201d. It will do most of the +- autoconf/automake related work for you. [DONE] +- +- Please add the files gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 +- lib-prefix.m4 nls.m4 po.m4 progtest.m4 from the +- /usr/share/aclocal directory to your aclocal.m4 file. +- +- cat +- /usr/share/aclocal/{gettext.m4,iconv.m4,lib-ld.m4,lib-link.m4,lib-prefix.m4,nls.m4,po.m4,progtest.m4} +- >> aclocal.m4 +- +-# Add the gettext.h file to the package's source directory, and +- include it in all source files that contain translatable strings or +- do output via printf or fprintf. [DONE] +- +-# In the source file defining the main() function of the program, add +- these lines to the header +- +-#include +-#include "gettext.h" +- +-and these lines near the beginning of the main() function: +- +-setlocale (LC_ALL, ""); +-bindtextdomain (PACKAGE, LOCALEDIR); +-textdomain (PACKAGE); +- +-[DONE] +- +-# Mark all strings that should be translated with _(), like this: +- _("No errors found."). While doing this, try to turn the strings +- into good English, one entire sentence per string, not more than one +- paragraph per string, and use format strings instead of string +- concatenation. This is needed so that the translators can provide +- accurate translations. [PARTLY DONE] +- +-# In every source file containing translatable strings, add these +- lines to the header: +- +-#include "gettext.h" +-#define _(string) gettext (string) +- +-# In the freshly created po/ directory, set up the POTFILES.in file, +- and do a \u201cmake update-po\u201d. Then distribute the generated +- .pot file to your nearest translation project. +- +-[PARTLY DONE] +- +-# Shortly before a release, integrate the translators' .po files into +- the po/ directory and do \u201cmake update-po\u201d again. +diff --git a/po/boldquot.sed b/po/boldquot.sed +deleted file mode 100644 +index 4b937aa..0000000 +--- a/po/boldquot.sed ++++ /dev/null +@@ -1,10 +0,0 @@ +-s/"\([^"]*\)"/“\1”/g +-s/`\([^`']*\)'/‘\1’/g +-s/ '\([^`']*\)' / ‘\1’ /g +-s/ '\([^`']*\)'$/ ‘\1’/g +-s/^'\([^`']*\)' /‘\1’ /g +-s/“”/""/g +-s/“/“/g +-s/”/”/g +-s/‘/‘/g +-s/’/’/g +diff --git a/po/en@boldquot.header b/po/en@boldquot.header +deleted file mode 100644 +index fedb6a0..0000000 +--- a/po/en@boldquot.header ++++ /dev/null +@@ -1,25 +0,0 @@ +-# All this catalog "translates" are quotation characters. +-# The msgids must be ASCII and therefore cannot contain real quotation +-# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +-# and double quote (0x22). These substitutes look strange; see +-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +-# +-# This catalog translates grave accent (0x60) and apostrophe (0x27) to +-# left single quotation mark (U+2018) and right single quotation mark (U+2019). +-# It also translates pairs of apostrophe (0x27) to +-# left single quotation mark (U+2018) and right single quotation mark (U+2019) +-# and pairs of quotation mark (0x22) to +-# left double quotation mark (U+201C) and right double quotation mark (U+201D). +-# +-# When output to an UTF-8 terminal, the quotation characters appear perfectly. +-# When output to an ISO-8859-1 terminal, the single quotation marks are +-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +-# grave/acute accent (by libiconv), and the double quotation marks are +-# transliterated to 0x22. +-# When output to an ASCII terminal, the single quotation marks are +-# transliterated to apostrophes, and the double quotation marks are +-# transliterated to 0x22. +-# +-# This catalog furthermore displays the text between the quotation marks in +-# bold face, assuming the VT100/XTerm escape sequences. +-# +diff --git a/po/en@quot.header b/po/en@quot.header +deleted file mode 100644 +index a9647fc..0000000 +--- a/po/en@quot.header ++++ /dev/null +@@ -1,22 +0,0 @@ +-# All this catalog "translates" are quotation characters. +-# The msgids must be ASCII and therefore cannot contain real quotation +-# characters, only substitutes like grave accent (0x60), apostrophe (0x27) +-# and double quote (0x22). These substitutes look strange; see +-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html +-# +-# This catalog translates grave accent (0x60) and apostrophe (0x27) to +-# left single quotation mark (U+2018) and right single quotation mark (U+2019). +-# It also translates pairs of apostrophe (0x27) to +-# left single quotation mark (U+2018) and right single quotation mark (U+2019) +-# and pairs of quotation mark (0x22) to +-# left double quotation mark (U+201C) and right double quotation mark (U+201D). +-# +-# When output to an UTF-8 terminal, the quotation characters appear perfectly. +-# When output to an ISO-8859-1 terminal, the single quotation marks are +-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to +-# grave/acute accent (by libiconv), and the double quotation marks are +-# transliterated to 0x22. +-# When output to an ASCII terminal, the single quotation marks are +-# transliterated to apostrophes, and the double quotation marks are +-# transliterated to 0x22. +-# +diff --git a/po/insert-header.sin b/po/insert-header.sin +deleted file mode 100644 +index b26de01..0000000 +--- a/po/insert-header.sin ++++ /dev/null +@@ -1,23 +0,0 @@ +-# Sed script that inserts the file called HEADER before the header entry. +-# +-# At each occurrence of a line starting with "msgid ", we execute the following +-# commands. At the first occurrence, insert the file. At the following +-# occurrences, do nothing. The distinction between the first and the following +-# occurrences is achieved by looking at the hold space. +-/^msgid /{ +-x +-# Test if the hold space is empty. +-s/m/m/ +-ta +-# Yes it was empty. First occurrence. Read the file. +-r HEADER +-# Output the file's contents by reading the next line. But don't lose the +-# current line while doing this. +-g +-N +-bb +-:a +-# The hold space was nonempty. Following occurrences. Do nothing. +-x +-:b +-} +diff --git a/po/quot.sed b/po/quot.sed +deleted file mode 100644 +index 0122c46..0000000 +--- a/po/quot.sed ++++ /dev/null +@@ -1,6 +0,0 @@ +-s/"\([^"]*\)"/“\1”/g +-s/`\([^`']*\)'/‘\1’/g +-s/ '\([^`']*\)' / ‘\1’ /g +-s/ '\([^`']*\)'$/ ‘\1’/g +-s/^'\([^`']*\)' /‘\1’ /g +-s/“”/""/g +diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin +deleted file mode 100644 +index 2436c49..0000000 +--- a/po/remove-potcdate.sin ++++ /dev/null +@@ -1,19 +0,0 @@ +-# Sed script that remove the POT-Creation-Date line in the header entry +-# from a POT file. +-# +-# The distinction between the first and the following occurrences of the +-# pattern is achieved by looking at the hold space. +-/^"POT-Creation-Date: .*"$/{ +-x +-# Test if the hold space is empty. +-s/P/P/ +-ta +-# Yes it was empty. First occurrence. Remove the line. +-g +-d +-bb +-:a +-# The hold space was nonempty. Following occurrences. Do nothing. +-x +-:b +-} +diff --git a/senddist.c b/senddist.c +index 3f615f6..cc7786e 100644 +--- a/senddist.c ++++ b/senddist.c +@@ -153,7 +153,7 @@ int pmacro(int mnum, char who, W_Event * data) + if (keys[0] != '\0') + { + if ((pm = INDEX((char *) keys, who))) +- who = macroKeys[((int) pm) - ((int) keys)].dest; ++ who = macroKeys[pm - (char *) keys].dest; + } + #endif + +diff --git a/short.c b/short.c +index b230acb..1557e03 100644 +--- a/short.c ++++ b/short.c +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + + #include "Wlib.h" + #include "defs.h" +@@ -916,7 +917,7 @@ void handleSMessage(struct mesg_s_spacket *packet) + char addrbuf[9]; + + if (debug) +- printf("Length of Message is: %d total Size %d \n", strlen(&packet->mesg), (int) packet->length); ++ printf("Length of Message is: %zd total Size %d \n", strlen(&packet->mesg), (int) packet->length); + if (packet->m_from >= MAXPLAYER) + packet->m_from = 255; + +@@ -1734,7 +1735,7 @@ void handleSWarning(struct warning_s_spacket *packet) + case DGHOSTKILL: + { + struct mesg_spacket msg; +- ushort damage; ++ unsigned short damage; + + damage = (unsigned char) karg3; + damage |= (unsigned char) (karg4 & 0xff) << 8; +@@ -1979,7 +1980,7 @@ unsigned char *sbuf; + struct phaser_s_spacket *packet = (struct phaser_s_spacket *) &sbuf[0]; + + /* not nice but.. */ +- register int pnum, status, target, x, y, dir; ++ register int pnum, status, target = 0, x = 0, y = 0, dir = 0; + + status = packet->status & 0x0f; + pnum = packet->pnum & 0x3f; +diff --git a/smessage.c b/smessage.c +index 27a41fc..eb79f6f 100644 +--- a/smessage.c ++++ b/smessage.c +@@ -128,7 +128,7 @@ void smessage(char ichar) + if (keys[0] != '\0') + { + if ((pm = INDEX((char *) keys, ichar))) +- ichar = macroKeys[((int) pm) - ((int) keys)].dest; ++ ichar = macroKeys[pm - (char *) keys].dest; + } + #endif + +diff --git a/socket.c b/socket.c +index fff454d..6943636 100644 +--- a/socket.c ++++ b/socket.c +@@ -782,6 +782,7 @@ tryagain: + { + perror("unable to get peername"); + serverName = "nowhere"; ++ printf("Connection from server\n"); + } + else + { +@@ -791,14 +792,15 @@ tryagain: + { + serverName = (char *) malloc(strlen(hp->h_name) + 1); + strcpy(serverName, hp->h_name); ++ printf("Connection from server %s (%s)\n", serverName, inet_ntoa(addr.sin_addr)); + } + else + { + serverName = (char *) malloc(strlen(inet_ntoa(addr.sin_addr)) + 1); + strcpy(serverName, inet_ntoa(addr.sin_addr)); ++ printf("Connection from server %s\n", serverName); + } + } +- printf("Connection from server %s (0x%lx)\n", serverName, serveraddr); + + } + +@@ -1258,7 +1260,7 @@ static int doRead(int asock) + "next byte %d (0x%02x)\n", *bufptr, *bufptr); + + fprintf(stderr, "protocol buffer dump, bytes %d, [bufptr] at %d :\n", +- count, bufptr - buf); ++ count, (int) (bufptr - buf)); + for (i = 0; i < count; i++) { + if (i == (bufptr - buf)) { + fprintf(stderr, "[%02x]", (unsigned int) buf[i] & 0xff); +@@ -2242,11 +2244,10 @@ void handleFlags(struct flags_spacket *packet) + } + #endif + +- if (players[(unsigned char) packet->pnum].p_flags != ntohl(packet->flags) ++ if (pl->p_flags != ntohl(packet->flags) + + #ifdef INCLUDE_VISTRACT +- || players[(unsigned char) packet->pnum].p_tractor != +- ((short) packet->tractor & (~0x40)) ++ || pl->p_tractor != ((short) packet->tractor & (~0x40)) + #endif + + ) +@@ -2257,16 +2258,16 @@ void handleFlags(struct flags_spacket *packet) + else + return; + +- players[(unsigned char) packet->pnum].p_flags = ntohl(packet->flags); ++ pl->p_flags = ntohl(packet->flags); + + #ifdef INCLUDE_VISTRACT + if (packet->tractor & 0x40) { +- players[(unsigned char) packet->pnum].p_tractor = ++ pl->p_tractor = + (short) packet->tractor & (~0x40); /* ATM visible tractors */ + } else + #endif /* INCLUDE_VISTRACT */ + +- players[(unsigned char) packet->pnum].p_tractor = -1; ++ pl->p_tractor = -1; + } + + void handleKills(struct kills_spacket *packet) +@@ -2849,7 +2850,7 @@ handleGeneric32_b (struct generic_32_spacket_b *packet) + idling = 0; + } + } else { +- if (!context->gameup & GU_UNSAFE) { ++ if (!(context->gameup & GU_UNSAFE)) { + if (!idling) { + if (rate < 0) { + warning("Safe idle start."); +@@ -3496,7 +3497,7 @@ static int openUdpConn(void) + } + } + serveraddr = addr.sin_addr.s_addr; +- UDPDIAG(("Found serveraddr == 0x%lx\n", serveraddr)); ++ UDPDIAG(("Found serveraddr == %s\n", inet_ntoa(addr.sin_addr))); + } + return 0; + } +@@ -3510,7 +3511,8 @@ int connUdpConn() + addr.sin_family = AF_INET; + addr.sin_port = htons(udpServerPort); + +- UDPDIAG(("Connecting to host 0x%lx on port %d\n", serveraddr, udpServerPort)); ++ UDPDIAG(("Connecting to host %s on port %d\n", ++ inet_ntoa(addr.sin_addr), udpServerPort)); + if (connect(udpSock, (struct sockaddr *) &addr, sizeof(addr)) < 0) + { + perror("netrek: unable to connect UDP socket"); +@@ -3582,8 +3584,7 @@ static int recvUdpConn(void) + { + /* safe? */ + serveraddr = from.sin_addr.s_addr; +- UDPDIAG(("Warning: from 0x%x, but server is 0x%lx\n", +- from.sin_addr.s_addr, serveraddr)); ++ UDPDIAG(("Warning: from different IP\n")); + } + if (from.sin_family != AF_INET) + { +@@ -3707,8 +3708,8 @@ void handleSequence(struct sequence_spacket *packet) + recent_count += (newseq - sequence) - 1; + if (udpWin) + udprefresh(UDP_DROPPED); +- UDPDIAG(("sequence=%ld, newseq=%ld, we lost some\n", +- sequence, newseq)); ++ UDPDIAG(("sequence=%d, newseq=%d, we lost some\n", ++ (int) sequence, (int) newseq)); + } + sequence = newseq; + /* S_P2 */ +@@ -3722,12 +3723,12 @@ void handleSequence(struct sequence_spacket *packet) + /* reject */ + if (packet->type == SP_SC_SEQUENCE) + { +- V_UDPDIAG(("(ignoring repeat %ld)\n", newseq)); ++ V_UDPDIAG(("(ignoring repeat %d)\n", (int) newseq)); + } + else + { +- UDPDIAG(("sequence=%ld, newseq=%ld, ignoring transmission\n", +- sequence, newseq)); ++ UDPDIAG(("sequence=%d, newseq=%d, ignoring transmission\n", ++ (int) sequence, (int) newseq)); + } + /* the remaining packets will be dropped and we shouldn't count the + * * * SP_SEQUENCE packet either */ +diff --git a/sound.c b/sound.c +index bb765ac..a8c33d2 100644 +--- a/sound.c ++++ b/sound.c +@@ -888,7 +888,9 @@ static char *DATAFILE(const char* wav) { + * Load the .wave files into the sounds array + */ + static int loadSounds(void) { ++#ifdef SOUND_WARN_MISSING + int i; ++#endif + + sounds[CLOAK_WAV] = Mix_LoadWAV(DATAFILE("nt_cloaked.wav")); + sounds[ENTER_SHIP_WAV] = Mix_LoadWAV(DATAFILE("nt_enter_ship.wav")); +@@ -955,6 +957,7 @@ void Init_Sound(void) { + + #if defined(sgi) + int err; ++#elif defined(HAVE_SDL) + #else + char buf[PATH_MAX]; + #endif +@@ -1062,6 +1065,11 @@ void Init_Sound(void) { + + Mix_AllocateChannels(16); + ++ if (getdefault("soundvol") != NULL) { ++ int vol = atoi(getdefault("soundvol")); ++ Mix_Volume(-1, vol); ++ } ++ + /* If we successfully loaded the wav files, so shut-off + sound_init and play the introduction */ + if (loadSounds()) { +@@ -1242,7 +1250,9 @@ void Engine_Sound(int speed, int maxspeed) { + #define SOUND_INIT MESSAGE_SOUND + 2 + #define SOUND_DONE MESSAGE_SOUND + 3 + ++#if !defined(HAVE_SDL) + static void soundrefresh(int i); ++#endif + + int sound_window_height(void) { + #if defined(HAVE_SDL) +diff --git a/string_util.c b/string_util.c +index 43e81de..57122f6 100644 +--- a/string_util.c ++++ b/string_util.c +@@ -53,6 +53,14 @@ char *ftoa(float fval, char *result, int pad, int iprec, int dprec) + int i, ival; + float val = fval; + ++ if (fval < 0) { ++ for (i = 0; i <= iprec + dprec + 1; i++) { ++ result[i] = '?'; ++ } ++ result[iprec + dprec + 1] = '\0'; ++ return result; ++ } ++ + if ((iprec + dprec) != 0) + result[iprec + dprec + 1] = '\0'; + +diff --git a/string_util.h b/string_util.h +index 1a1cc39..f9120fc 100644 +--- a/string_util.h ++++ b/string_util.h +@@ -20,6 +20,7 @@ char *itoapad (int val, char *result, int pad, int prec); + (if pad is false). + + WARNING: val must be <= 100000000 (size < 9). ++ Does not work for negative numbers. + */ + + +diff --git a/system.mk.in b/system.mk.in +index 0dbc9b2..d002b92 100644 +--- a/system.mk.in ++++ b/system.mk.in +@@ -10,34 +10,24 @@ datarootdir=@datarootdir@ + + DESTDIR= + BINDIR=${prefix}/games +-DOCDIR=${datarootdir}/doc/${PACKAGE} + PIXMAPDIR=${datarootdir}/pixmaps/${PACKAGE} + APPDIR=${datarootdir}/applications + + SHELL = /bin/sh + CC = @CC@ + LN = @LN_S@ ++CWHO = \"`whoami`@`hostname -f`\" + + PROTOIZE = protoize + UNPROTOIZE = unprotoize + INDENT = indent -i2 -bap -bacc -bad -nbc -bl -nip -di8\ + -npsl -nce -cli0.5 -ci4 -npcs -fca -ncdb -sc -cd50 -c50 + TOUCH = touch +-RM = rm -f +- +-RSA_FLAGS = @NORSA@ -DRSA +-RSASRC = @NORSA@ rsa_box.c rsa_box_0.c rsa_box_1.c rsa_box_2.c \ +- rsa_box_3.c rsa_box_4.c rsa_box_5.c rsa_box_6.c \ +- rsa_box_7.c rsa_box_8.c rsa_box_9.c rsa_box_10.c +-RSAOBJ = @NORSA@ rsa_box.o rsa_box_0.o rsa_box_1.o rsa_box_2.o \ +- rsa_box_3.o rsa_box_4.o rsa_box_5.o rsa_box_6.o \ +- rsa_box_7.o rsa_box_8.o rsa_box_9.o rsa_box_10.o +-MPINC = @MPINC@ +-LMP = @MPLIB@ ++RM = rm -f + + # Other libraries neeeded. (All systems need -lX11 -lm) + +-LIBS = @LIBS@ ++LIBS = @LIBS@ + INCS = @INCS@ + + # Flags for optimizing +@@ -48,7 +38,7 @@ OPT = -g -Wall + # Flags for shared libraries + + SL_CFLAGS = -fPIC +-SL_LDFLAGS = -shared $(LIBRARIES) -lc ++SL_LDFLAGS = -shared $(LIBRARIES) -lc + SL_LIB = libcow.so.`./name 1` + SL_LIBFLAGS = -Wl,-soname,$(SL_LIB) + +@@ -65,38 +55,34 @@ RANDOMOBJ = @LIBOBJS@ + # No editables below this point. + ############################################################################### + +- +-include $(KEYDEF) +- +- +-ROBJ = check.o colors.o data.o death.o defaults.o dmessage.o\ +- enter.o findslot.o getname.o getship.o helpwin.o inform.o\ +- interface.o newwin.o option.o planetlist.o macrowin.o\ +- map.o playerlist.o ranklist.o reserved.o sintab.o\ +- smessage.o socket.o playback.o stats.o util.o war.o warning.o\ +- udpopt.o ping.o pingstats.o rotate.o lagmeter.o parsemeta.o\ +- netstat.o netstatopt.o spopt.o dashboard.o dashboard3.o \ +- short.o distress.o senddist.o defwin.o tools.o sound.o\ +- docwin.o cflags.o beeplite.o feature.o\ +- string_util.o local.o censor.o cowmain.o camera.o myf.o +- +-RSRC = check.c colors.c data.c death.c defaults.c dmessage.c\ +- enter.c findslot.c getname.c getship.c helpwin.c inform.c\ +- input.c interface.c newwin.c option.c planetlist.c\ +- macrowin.c map.c playerlist.c ranklist.c redraw.c\ +- smessage.c parsemeta.c socket.c playback.c stats.c util.c war.c\ +- warning.c udpopt.c sintab.c ping.c pingstats.c rotate.c\ +- lagmeter.c netstat.c netstatopt.c spopt.c dashboard.c dashboard3.c \ +- short.c distress.c senddist.c defwin.c tools.c sound.c\ +- docwin.c cflags.c beeplite.c feature.c reserved.c\ +- string_util.c local.c censor.c cowmain.c camera.c myf.c +- +- +-INCLUDES = struct.h packets.h defs.h copyright.h bitmaps.h data.h\ +- oldbitmaps.h tngbitmaps.h hullbitmaps.h rabbitbitmaps.h\ +- sound.h audio.h litebitmaps.h +- +-INPUTOBJ = input.o redraw.o ++ROBJ = check.o colors.o data.o death.o defaults.o dmessage.o \ ++ enter.o findslot.o getname.o getship.o helpwin.o inform.o \ ++ interface.o newwin.o option.o planetlist.o macrowin.o \ ++ map.o playerlist.o ranklist.o reserved.o sintab.o \ ++ smessage.o socket.o playback.o stats.o util.o war.o \ ++ warning.o udpopt.o ping.o pingstats.o rotate.o lagmeter.o \ ++ parsemeta.o netstat.o netstatopt.o spopt.o dashboard.o \ ++ dashboard3.o short.o distress.o senddist.o defwin.o tools.o \ ++ sound.o docwin.o cflags.o beeplite.o feature.o string_util.o \ ++ local.o censor.o cowmain.o camera.o myf.o ++ ++RSRC = check.c colors.c data.c death.c defaults.c dmessage.c \ ++ enter.c findslot.c getname.c getship.c helpwin.c inform.c \ ++ input.c interface.c newwin.c option.c planetlist.c \ ++ macrowin.c map.c playerlist.c ranklist.c redraw.c \ ++ smessage.c parsemeta.c socket.c playback.c stats.c util.c \ ++ war.c warning.c udpopt.c sintab.c ping.c pingstats.c \ ++ rotate.c lagmeter.c netstat.c netstatopt.c spopt.c \ ++ dashboard.c dashboard3.c short.c distress.c senddist.c \ ++ defwin.c tools.c sound.c docwin.c cflags.c beeplite.c \ ++ feature.c reserved.c string_util.c local.c censor.c \ ++ cowmain.c camera.c myf.c ++ ++INCLUDES = struct.h packets.h defs.h copyright.h bitmaps.h data.h \ ++ oldbitmaps.h tngbitmaps.h hullbitmaps.h rabbitbitmaps.h \ ++ sound.h audio.h litebitmaps.h ++ ++INPUTOBJ = input.o redraw.o + MAINOBJ = main.o + MAINSRC = main.c + +@@ -106,55 +92,34 @@ X11SRC = @NOX11@ x11window.c x11sprite.c audio.c + WIN32OBJ = @NOWIN32@ gnu_win32.o winsprite.o winsndlib.o + WIN32SRC = @NOWIN32@ gnu_win32.c winsprite.c winsndlib.c + +-SDL_CFLAGS = @SDL_CFLAGS@ + SDL_CONFIG = @SDL_CONFIG@ ++SDL_CFLAGS = @SDL_CFLAGS@ + SDL_LIBS = @SDL_LIBS@ + SDL_MIXER_LIBS = @SDL_MIXER_LIBS@ + + # full screen support + XXF86VM_LIBS = -lXxf86vm +-# camera snapshot support +-IMLIB2_LIBS = $(shell imlib2-config --libs) + + SHARED = $(SL_CFLAGS) +-INCDIRS = $(MPINC) $(INCS) ++INCDIRS = $(INCS) + CFLAGS ?= $(OPT) +-CFLAGS += $(EXTRACFLAGS) $(RSA_FLAGS) $(INCDIRS) ++CFLAGS += $(INCDIRS) + LDFLAGS ?= -g +-LDFLAGS += $(EXTRALINKFLAGS) +-LIBRARIES = $(LMP) $(LIBS) $(EXTRALIBS) $(SDL_LIBS) $(SDL_MIXER_LIBS) $(XXF86VM_LIBS) $(IMLIB2_LIBS) ++LIBRARIES = $(LIBS) $(EXTRALIBS) $(SDL_LIBS) $(SDL_MIXER_LIBS) $(XXF86VM_LIBS) + +-netrek-client-cow: $(RSAOBJ) $(PMAKE) null $(ROBJ) $(MAINOBJ) $(INPUTOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) cflags.c +- $(CC) $(LDFLAGS) -o netrek-client-cow $(ROBJ) $(RSAOBJ) $(INPUTOBJ) \ +- $(MAINOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) $(LIBRARIES) ++netrek-client-cow: $(PMAKE) null $(ROBJ) $(MAINOBJ) $(INPUTOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) cflags.c ++ $(CC) $(LDFLAGS) -o netrek-client-cow $(ROBJ) $(INPUTOBJ) $(MAINOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) $(LIBRARIES) + + netrek.shared: done.libcow $(MAINOBJ) $(COWAPI) + $(CC) $(LDFLAGS) $(MAINOBJ) -L. -lcow $(LIBS) -o netrek.shared + +-done.libcow: $(PMAKE) $(ROBJ) $(RSAOBJ) $(INPUTOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) +- $(CC) $(ROBJ) $(RSAOBJ) $(INPUTOBJ) \ ++done.libcow: $(PMAKE) $(ROBJ) $(INPUTOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) ++ $(CC) $(ROBJ) $(INPUTOBJ) \ + $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) $(SL_LDFLAGS) $(SL_LIBFLAGS) -o $(COWLIB) + $(RM) $(SL_LIB) + $(LN) $(COWLIB) $(SL_LIB) + $(TOUCH) done.libcow + +-#rsa_box.c: mkkey $(SECKEYFILE) +-$(RSASRC): mkkey $(SECKEYFILE) +- -$(RM) $(RSASRC) +- ./mkkey -c -k $(SECKEYFILE) +- $(TOUCH) $(RSASRC) +- @echo "int sock = -1;" >>rsa_box_1.c +- +-$(SECKEYFILE): +- @echo generating a new client key +- $(MAKE) newkey +- +-mkkey: mkkey.c $(RANDOMOBJ) defs.h +- $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(MPINC) $(MPLIB) -o mkkey mkkey.c $(RANDOMOBJ) $(LIBRARIES) +- +-randomize: randomize.c $(RANDOMOBJ) defs.h +- $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o randomize randomize.c $(RANDOMOBJ) $(LIBRARIES) +- + sound.o: sound.c + $(CC) $(CPPFLAGS) $(CFLAGS) $(SDL_CFLAGS) -c sound.c + +@@ -171,20 +136,20 @@ cflags.c: mkcflags + mkcflags: mkcflags.c system.mk null patchlevel.h version.h + $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o mkcflags mkcflags.c $(LIBRARIES) + +-tags: $(RSRC) $(RSASRC) +- ctags $(RSRC) $(RSASRC) $(INCLUDES) ++tags: $(RSRC) ++ ctags $(RSRC) $(INCLUDES) + +-depend: cflags.c null $(RSASRC) +- -makedepend -f system.mk $(RSA_FLAGS) $(RSRC) $(RSASRC) $(MAINSRC) \ ++depend: cflags.c null ++ -makedepend -f system.mk $(RSRC) $(MAINSRC) \ + $(X11SRC) name.c $(INCDIRS) + +-proto: cflags.c null $(RSASRC) ++proto: cflags.c null + $(PROTOIZE) $(RSRC) $(MAINSRC) $(X11SRC) $(WIN32SRC) + +-unproto: cflags.c null $(RSASRC) ++unproto: cflags.c null + $(UNPROTOIZE) $(RSRC) $(MAINSRC) $(X11SRC) $(WIN32SRC) + +-indent: cflags.c null $(RSASRC) ++indent: cflags.c null + $(INDENT) $(RSRC) $(MAINSRC) $(INCLUDES) $(X11SRC) $(WIN32SRC) + + to_unix: $(RSRC) $(INCLUDES) $(MAINSRC) $(X11SRC) +@@ -200,12 +165,10 @@ to_dos: $(RSRC) $(INCLUDES) $(MAINSRC) $(X11SRC) $(WIN32SRC) + install: netrek-client-cow + mkdir -p $(DESTDIR)$(BINDIR) + install netrek-client-cow $(DESTDIR)$(BINDIR) +- mkdir -p $(DESTDIR)$(DOCDIR) +- cp $(KEYFILE) $(DESTDIR)$(DOCDIR) + mkdir -p $(DESTDIR)$(PIXMAPDIR) + cp -pr pixmaps/* $(DESTDIR)$(PIXMAPDIR)/ + mkdir -p $(DESTDIR)$(APPDIR) +- install netrek-client-cow.desktop $(DESTDIR)$(APPDIR)/ ++ cp netrek-client-cow.desktop $(DESTDIR)$(APPDIR)/ + + null: + @echo "/* This file is intentionally empty */" >null +diff --git a/x11sprite.c b/x11sprite.c +index 3bd8746..4a4ce40 100644 +--- a/x11sprite.c ++++ b/x11sprite.c +@@ -645,7 +645,7 @@ void *S_Torp(int torpno) + else + { + sprite = &torpImg[remap[players[this->t_owner].p_team]][0]; +- sprite->view = ++sprite->view % sprite->nviews; ++ sprite->view = (sprite->view + 1) % sprite->nviews; + // FIXME: torps rotate faster with higher client update rates + } + +@@ -684,7 +684,7 @@ void *S_Plasma(int plasmatorpno) + else + { + sprite = &plasmaImg[remap[players[this->pt_owner].p_team]][0]; +- sprite->view = ++sprite->view % sprite->nviews; ++ sprite->view = (sprite->view + 1) % sprite->nviews; + } + + if ((sprite->image == NoPixmapError) || (pixFlags & NO_WEP_PIX)) +diff --git a/x11window.c b/x11window.c +index 04814b7..bfe7a82 100644 +--- a/x11window.c ++++ b/x11window.c +@@ -3667,11 +3667,7 @@ int video_mode_dotclock, video_mode_list_size; + static void video_mode_off() + { + if (video_mode_current != video_mode_original) { +- int x; +- x = XF86VidModeSwitchToMode(W_Display, W_Screen, video_mode_original); +-#if DEBUG > 0 +- fprintf(stderr, "video_mode_off: XF86VidModeSwitchToMode: %d\n", x); +-#endif ++ XF86VidModeSwitchToMode(W_Display, W_Screen, video_mode_original); + video_mode_current = video_mode_original; + } + } +@@ -3727,13 +3723,9 @@ static void video_mode_on() + /* if there is a mode line for 1024x768 then use it */ + for (line=0; line < video_mode_list_size; line++) { + XF86VidModeModeInfo *mode = video_mode_list[line]; +- if (mode->hdisplay == (small_screen ? 800 : 1024) && ++ if (mode->hdisplay == (small_screen ? 800 : 1024) && + mode->vdisplay == (small_screen ? 600 : 768)) { +- int x; +- x = XF86VidModeSwitchToMode(W_Display, W_Screen, mode); +-#if DEBUG > 0 +- fprintf(stderr, "video_mode_on: XF86VidModeSwitchToMode: %d\n", x); +-#endif ++ XF86VidModeSwitchToMode(W_Display, W_Screen, mode); + /*! @bug: if this is done on a non-local display, the X error + XF86VidModeClientNotLocal occurs. */ + video_mode_current = mode; diff --git a/srcpkgs/netrek-client-cow/template b/srcpkgs/netrek-client-cow/template new file mode 100644 index 00000000000..42b4a672aff --- /dev/null +++ b/srcpkgs/netrek-client-cow/template @@ -0,0 +1,26 @@ +# Template file for 'netrek-client-cow' +pkgname=netrek-client-cow +version=3.3.1 +revision=1 +build_style=gnu-configure +hostmakedepends="" +makedepends="libX11-devel imlib2-devel libXxf86vm-devel gmp-devel + SDL_mixer-devel SDL-devel libXpm-devel" +depends="" +short_desc="Netrek Client (C and X11)" +maintainer="Toyam Cox " +license="MIT, custom" +homepage="https://www.netrek.org/" +distfiles="http://quozl.netrek.org/netrek/netrek-client-cow-${version}.tar.gz" +checksum=a9e969bc5aa2a884481f81e8997e725ca18eedba01c018d7e7d383e85f183ae2 +patch_args="-Np1" + +post_install() { + vlicense COPYING + vlicense copyright.h + vlicense copyright2.h +} + +# REMARKS: +# Source tracked at https://github.com/quozl/netrek-client-cow +# Custom is a sort of public domain declaration