Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Dec 2013 02:49:08 +0900
From:      KATO Tsuguru <tkato432@yahoo.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/184861: games/znibbles: Fix build with clang
Message-ID:  <20131217024908.51ff699bc0c4973c52869cee@yahoo.com>
Resent-Message-ID: <201312161810.rBGIAHnF016289@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@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@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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131217024908.51ff699bc0c4973c52869cee>