ports/184861: games/znibbles: Fix build with clang
KATO Tsuguru
tkato432 at yahoo.com
Mon Dec 16 18:10:17 UTC 2013
>Number: 184861
>Category: ports
>Synopsis: games/znibbles: Fix build with clang
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Dec 16 18:10:16 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: KATO Tsuguru
>Release: FreeBSD 8.4-RELEASE-p4 i386
>Organization:
>Environment:
>Description:
- Fix build with clang
- Add DESKTOP_ENTRIES
New file:
files/patch-src__Motif__MotifInterface.C
files/patch-src__Motif__textarea.C
>How-To-Repeat:
>Fix:
diff -urN /usr/ports/games/znibbles/Makefile games/znibbles/Makefile
--- /usr/ports/games/znibbles/Makefile 2013-11-16 18:14:55.000000000 +0900
+++ games/znibbles/Makefile 2013-12-17 00:00:00.000000000 +0900
@@ -3,7 +3,7 @@
PORTNAME= znibbles
PORTVERSION= 0.0.7
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= games
MASTER_SITES= http://old.koalateam.com/ftp/pub/games/znibbles/ \
http://www.jfouffa.com/vmallet/archives/
@@ -11,29 +11,28 @@
MAINTAINER= ports at FreeBSD.org
COMMENT= Multi-player networked nibbles game
-LICENSE= GPLv2 GPLv3
-LICENSE_COMB= dual
+LICENSE= GPLv2 # (or later)
OPTIONS_DEFINE= GTK1
OPTIONS_DEFAULT= GTK1
USES= motif
-WANT_GNOME= yes
GNU_CONFIGURE= yes
PLIST_FILES= bin/nibbles bin/znibbles bin/znibblesX \
man/man6/nibbles.6.gz man/man6/znibbles.6.gz \
man/man6/znibblesX.6.gz
+DESKTOP_ENTRIES="ZNibblesX" "" "" "znibblesX" "" ""
+
GTK1_USE= GNOME=gtk12
-GTK1_PLIST_FILES= man/man6/gznibbles.6.gz bin/gznibbles
+GTK1_PLIST_FILES= bin/gznibbles man/man6/gznibbles.6.gz
GTK1_CONFIGURE_ENABLE= gtk
.include <bsd.port.options.mk>
post-extract:
@${RM} -f ${WRKSRC}/src/getopt.h
-# @${LN} -sf /usr/include/getopt.h ${WRKSRC}/src
post-patch:
@${REINPLACE_CMD} -e \
diff -urN /usr/ports/games/znibbles/files/patch-src__Motif__MotifInterface.C games/znibbles/files/patch-src__Motif__MotifInterface.C
--- /usr/ports/games/znibbles/files/patch-src__Motif__MotifInterface.C 1970-01-01 09:00:00.000000000 +0900
+++ games/znibbles/files/patch-src__Motif__MotifInterface.C 2013-12-17 00:00:00.000000000 +0900
@@ -0,0 +1,214 @@
+--- src/Motif/MotifInterface.C.orig
++++ src/Motif/MotifInterface.C
+@@ -32,7 +32,7 @@
+ # include <config.h>
+ #endif
+
+-#include <iostream.h>
++#include <iostream>
+
+ #include <unistd.h>
+ #include <stdlib.h>
+@@ -131,7 +131,7 @@
+ display_version();
+
+ if (two_key)
+- cout << "Two-key mode enabled" << endl;
++ std::cout << "Two-key mode enabled" << std::endl;
+
+
+ // connect pipe_handler to SIGPIPE signal
+@@ -147,8 +147,8 @@
+ exit(2);
+ }
+
+- cout << "Connecting to ZNibbles server: " \
+- << options.get_host_name() << ":" << options.get_port() << "... " << endl;
++ std::cout << "Connecting to ZNibbles server: " \
++ << options.get_host_name() << ":" << options.get_port() << "... " << std::endl;
+
+ // create and bind socket to any port
+ port = 0;
+@@ -158,7 +158,7 @@
+ }
+
+ if (debug)
+- cout << "Client socket created on port: " << ntohs(client_address.sin_port) << endl;
++ std::cout << "Client socket created on port: " << ntohs(client_address.sin_port) << std::endl;
+
+ // Build server address
+ server_address.sin_family = AF_INET;
+@@ -175,7 +175,7 @@
+
+ display_play_help();
+
+- cout << "Connection accepted\n" << endl;
++ std::cout << "Connection accepted\n" << std::endl;
+
+ hack_socket_client = socket_client; // hack for signal handling
+ action.sa_handler = stop_handler;
+@@ -185,7 +185,7 @@
+
+ init_messages(options.get_message_file());
+
+- cout << "initializing interface..." << endl;
++ std::cout << "initializing interface..." << std::endl;
+ make(argc, argv);
+ }
+
+@@ -262,54 +262,54 @@
+
+ void MotifInterface::display_version()
+ {
+- cerr << "ZNibbles v" VERSION " - A little silly game - "
++ std::cerr << "ZNibbles v" VERSION " - A little silly game - "
+ << "(c) Vincent Mallet 1997, 1998, 1999 - vmallet at enst.fr"
+- << endl << endl;
++ << std::endl << std::endl;
+ }
+
+ void MotifInterface::display_version_short()
+ {
+- cout << "ZNibbles Motif Client " VERSION << endl;
++ std::cout << "ZNibbles Motif Client " VERSION << std::endl;
+ }
+
+ void MotifInterface::display_help(char *name)
+ {
+- cout << "Usage: " << name << " [OPTION].. PLAYERNAME" << endl;
+- cout << endl;
+- cout << "Start a ZNibbles Motif client and connect to the specified nibbles server." << endl;
+- cout << endl;
+- cout << " -n, --host-name=HOST connect to server HOST [default is localhost]" << endl;
+- cout << " -p, --port=NUM connect to port NUM of server [default is 5051]" << endl;
+- cout << " -m, --message-file=FILE load predefined messages from file FILE" << endl;
+- cout << " -t, --twokey control worm with only two keys, LEFT and RIGHT" << endl;
+- cout << " -i, --enable-stdin enable standard input for sending messages" << endl;
+- cout << " -d, --debug enable debug output" << endl;
+- cout << " -V, --version print version number, then exit" << endl;
+- cout << " -h, --help show this message and exit" << endl;
+- cout << endl;
+- cout << "Report bugs to <vmallet at enst.fr>." << endl;
++ std::cout << "Usage: " << name << " [OPTION].. PLAYERNAME" << std::endl;
++ std::cout << std::endl;
++ std::cout << "Start a ZNibbles Motif client and connect to the specified nibbles server." << std::endl;
++ std::cout << std::endl;
++ std::cout << " -n, --host-name=HOST connect to server HOST [default is localhost]" << std::endl;
++ std::cout << " -p, --port=NUM connect to port NUM of server [default is 5051]" << std::endl;
++ std::cout << " -m, --message-file=FILE load predefined messages from file FILE" << std::endl;
++ std::cout << " -t, --twokey control worm with only two keys, LEFT and RIGHT" << std::endl;
++ std::cout << " -i, --enable-stdin enable standard input for sending messages" << std::endl;
++ std::cout << " -d, --debug enable debug output" << std::endl;
++ std::cout << " -V, --version print version number, then exit" << std::endl;
++ std::cout << " -h, --help show this message and exit" << std::endl;
++ std::cout << std::endl;
++ std::cout << "Report bugs to <vmallet at enst.fr>." << std::endl;
+ }
+
+
+
+ void MotifInterface::display_play_help()
+ {
+- cout << endl;
+- cout << "Welcome to ZNibbles!" << endl;
+- cout << endl;
+- cout << "Valid keys while playing:" << endl
+- << endl
+- << " Up, Down, Left, Right: move worm 1" << endl
+- << endl
+- << " p/u : pause/unpause game" << endl
+- << endl
+- << " P/U : pause/unpause _your_ worm" << endl
+- << endl
+- << " 1, 2, ... 0 : send predefined messages to other players" << endl
+- << endl
+- << " Ctrl+Q : quit game" << endl
+- << endl
+- << " Have fun!" << endl;
++ std::cout << std::endl;
++ std::cout << "Welcome to ZNibbles!" << std::endl;
++ std::cout << std::endl;
++ std::cout << "Valid keys while playing:" << std::endl
++ << std::endl
++ << " Up, Down, Left, Right: move worm 1" << std::endl
++ << std::endl
++ << " p/u : pause/unpause game" << std::endl
++ << std::endl
++ << " P/U : pause/unpause _your_ worm" << std::endl
++ << std::endl
++ << " 1, 2, ... 0 : send predefined messages to other players" << std::endl
++ << std::endl
++ << " Ctrl+Q : quit game" << std::endl
++ << std::endl
++ << " Have fun!" << std::endl;
+ }
+
+
+@@ -318,7 +318,7 @@
+
+ void MotifInterface::pipe_handler(int sig)
+ {
+- cerr << "--- Lost Server Connection! ---" << endl;
++ std::cerr << "--- Lost Server Connection! ---" << std::endl;
+ sig++; // warnings..
+ dead_server = 1;
+ }
+@@ -326,7 +326,7 @@
+
+ void MotifInterface::stop_handler(int sig)
+ {
+- cerr << "--- Quitting game! ---" << endl;
++ std::cerr << "--- Quitting game! ---" << std::endl;
+
+ if (hack_socket_client) {
+ struct timeval tv;
+@@ -391,11 +391,11 @@
+ char buf[300];
+
+ if (priv) {
+- // cout << "Got *private* Message: '" << msg << "'" << endl;
++ // std::cout << "Got *private* Message: '" << msg << "'" << std::endl;
+ sprintf(buf, "[Private] %s> %s\n", from.get_name(), msg);
+ }
+ else {
+- // cout << "Message: " << from.name << "> " << msg << endl;
++ // std::cout << "Message: " << from.name << "> " << msg << std::endl;
+ sprintf(buf, "%s> %s\n", from.get_name(), msg);
+ }
+ textarea.add_line(buf);
+@@ -545,7 +545,7 @@
+ case VOID_TRAME:
+ {
+ if (mythis.debug)
+- cout << "got VOID_TRAME " << endl;
++ std::cout << "got VOID_TRAME " << std::endl;
+ mt.get_char();
+ char *p = mt.get_string();
+ if (p && strcmp(p, "w") == 0)
+@@ -595,14 +595,14 @@
+
+ case QUIT_GAME:
+ if (mythis.debug)
+- cout << "Got QUIT_GAME" << endl;
+- cout << "Client shutting down.... " << endl;
++ std::cout << "Got QUIT_GAME" << std::endl;
++ std::cout << "Client shutting down.... " << std::endl;
+ done = 1;
+ break;
+
+ default:
+ if (mythis.debug)
+- cout << "got unknown frame type: " << (int) mt.peek_char() << endl;
++ std::cout << "got unknown frame type: " << (int) mt.peek_char() << std::endl;
+ break;
+ }
+ }
+@@ -661,7 +661,7 @@
+ void MotifInterface::join_game()
+ {
+ if (debug)
+- cout << "Sending welcome message..." << endl;
++ std::cout << "Sending welcome message..." << std::endl;
+
+ t.put_char(JOIN_GAME);
+ t.put_string(own_name);
diff -urN /usr/ports/games/znibbles/files/patch-src__Motif__textarea.C games/znibbles/files/patch-src__Motif__textarea.C
--- /usr/ports/games/znibbles/files/patch-src__Motif__textarea.C 1970-01-01 09:00:00.000000000 +0900
+++ games/znibbles/files/patch-src__Motif__textarea.C 2013-12-17 00:00:00.000000000 +0900
@@ -0,0 +1,20 @@
+--- src/Motif/textarea.C.orig
++++ src/Motif/textarea.C
+@@ -33,7 +33,7 @@
+ #include <Xm/ScrollBar.h>
+ #include <Xm/Text.h>
+
+-#include <iostream.h>
++#include <iostream>
+ #include "string.h"
+
+ #include "motifutil.H"
+@@ -92,7 +92,7 @@
+ XmTextSetCursorPosition(widget, XmTextGetLastPosition(widget));
+ XmTextShowPosition(widget, XmTextGetLastPosition(widget));
+ if (length > 9500) {
+- cout << "textarea warning!" << endl;
++ std::cout << "textarea warning!" << std::endl;
+ bbuf[0] = '\0';
+ }
+ }
diff -urN /usr/ports/games/znibbles/pkg-descr games/znibbles/pkg-descr
--- /usr/ports/games/znibbles/pkg-descr 2013-11-06 22:00:54.000000000 +0900
+++ games/znibbles/pkg-descr 2013-12-17 00:00:00.000000000 +0900
@@ -1,14 +1,15 @@
-ZNibbles is a multi-player networked game. It is based on the old nibbles
-game: you've got a worm, eat nibbles and get your worm growing. Several
-players can play together, each of them controlling its own worm on its own
-computer.
+ZNibbles is a multi-player networked game. It is based on the old
+nibbles game: you've got a worm, eat nibbles and get your worm growing.
+Several players can play together, each of them controlling its own worm
+on its own computer.
-There is theoretically an unlimited number of simultaneous players, it's more
-a matter of network speed. It has been tested with more than 10 players and it
-was real fun :) ZNibbles is written for unix. It has been tested under Linux,
-SunOS, Solaris and Irix. The game can run either directly on top of X11, use
-the GTK+ toolkit (get it on the GTK+ site) or use the Motif toolkit (get a good
-Motif free implementation called LessTif)
+There is theoretically an unlimited number of simultaneous players, it's
+more a matter of network speed. It has been tested with more than 10
+players and it was real fun :) ZNibbles is written for unix. It has been
+tested under Linux, SunOS, Solaris and Irix. The game can run either
+directly on top of X11, use the GTK+ toolkit (get it on the GTK+ site)
+or use the Motif toolkit (get a good Motif free implementation called
+LessTif)
Once compiled, you get the files:
@@ -16,6 +17,7 @@
gznibbles : the ZNibbles GTK+ client
znibblesX : the ZNibbless X11-only client (poor)
-Run "nibbles" first as the ZNibbles server, and then run its clients to play.
+Run "nibbles" first as the ZNibbles server, and then run its clients to
+play.
WWW: http://www.jfouffa.com/vmallet/ZNibbles.html
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list