Bug 171792 - patch: allow games/xmille to select starting player randomly
Summary: patch: allow games/xmille to select starting player randomly
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Antoine Brodin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-19 21:40 UTC by david
Modified: 2013-05-27 19:00 UTC (History)
0 users

See Also:


Attachments
file.diff (816 bytes, patch)
2012-09-19 21:40 UTC, david
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description david 2012-09-19 21:40:04 UTC
	As written, the human player always starts a game of xmille.

	The attached patch causes xmille to select the human player
	or itself to start, more-or-less randomly.

Fix: Since the port already has a files/patch-mille.c, we could patch
	that patchfile, thus:
How-To-Repeat: 	Play a few games of xmille, and note that you always start --
	never the computer.  Or examine the code, in mille.c:53 - 54:

	        Play = PLAYER;
		init_ui ();
Comment 1 Antoine Brodin freebsd_committer freebsd_triage 2013-05-26 15:21:19 UTC
Responsible Changed
From-To: freebsd-ports-bugs->antoine

I will have a look at this.
Comment 2 dfilter service freebsd_committer freebsd_triage 2013-05-27 18:49:58 UTC
Author: antoine
Date: Mon May 27 17:49:44 2013
New Revision: 319277
URL: http://svnweb.freebsd.org/changeset/ports/319277

Log:
  - Randomize starting player [1]
  - Trim Makefile header
  - Unbreak with clang using -Wno-error=return-type  (this is early K&R code)
  - Respect PREFIX
  
  PR:		ports/171792 [1]
  Submitted by:	David Wolfskill [1]
  Approved by:	eadler (mentor)

Modified:
  head/games/xmille/Makefile
  head/games/xmille/files/patch-mille.c

Modified: head/games/xmille/Makefile
==============================================================================
--- head/games/xmille/Makefile	Mon May 27 17:18:29 2013	(r319276)
+++ head/games/xmille/Makefile	Mon May 27 17:49:44 2013	(r319277)
@@ -1,15 +1,11 @@
-# New ports collection makefile for:    xmille
-# Date created:         30 Dec 1994
-# Whom:                 swallace
-#
+# Created by: swallace
 # $FreeBSD$
-#
 
 PORTNAME=	xmille
 PORTVERSION=	2.0
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	games
-MASTER_SITES=	${MASTER_SITE_XCONTRIB}
+MASTER_SITES=	XCONTRIB
 MASTER_SITE_SUBDIR=	games
 DISTNAME=	${PORTNAME}
 
@@ -21,10 +17,16 @@ WRKSRC=		${WRKDIR}/Mille
 USE_IMAKE=	yes
 USE_XORG=	x11 xext
 MAN1=		xmille.1
+MANCOMPRESSED=	no
 PLIST_FILES=	bin/xmille
 MAKE_JOBS_UNSAFE=	yes
+CFLAGS+=	-Wno-error=return-type
 
 post-extract:
 	@${FIND} ${WRKSRC} -name '*.[ao]' -delete
 
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/xmille ${PREFIX}/bin
+	${INSTALL_MAN} ${WRKSRC}/xmille.man ${MANPREFIX}/man/man1/xmille.1
+
 .include <bsd.port.mk>

Modified: head/games/xmille/files/patch-mille.c
==============================================================================
--- head/games/xmille/files/patch-mille.c	Mon May 27 17:18:29 2013	(r319276)
+++ head/games/xmille/files/patch-mille.c	Mon May 27 17:49:44 2013	(r319277)
@@ -1,5 +1,5 @@
---- mille.c.orig	Thu Mar 28 14:29:31 1996
-+++ mille.c	Fri Jun 15 02:27:49 2007
+--- ./mille.c.orig	1996-03-28 06:29:31.000000000 +0100
++++ ./mille.c	2013-05-26 18:05:50.000000000 +0200
 @@ -1,16 +1,17 @@
  # include	"mille.h"
  # include	<signal.h>
@@ -21,6 +21,33 @@
  
  main(ac, av)
  reg int		ac;
+@@ -49,8 +50,6 @@
+ 		/* NOTREACHED */
+ 	}
+ 	setbuf(stdout, _sobuf);
+-	Play = PLAYER;
+-	init_ui ();
+ # ifndef PROF
+ #ifdef sun
+ 	srandom(getpid());
+@@ -60,6 +59,8 @@
+ # else
+ 	srand(0);
+ # endif
++	Play = random()&01 ? COMP : PLAYER;
++	init_ui();
+ 	signal(SIGINT, rub);
+ 	for (;;) {
+ 		if (!restore || (Player[PLAYER].total >= 5000
+@@ -73,7 +74,7 @@
+ 		}
+ 		do {
+ 			if (!restore)
+-				Handstart = Play = other(Handstart);
++				Handstart = other(Handstart);
+ 			if (!restore || On_exit) {
+ 				shuffle();
+ 				init();
 @@ -123,9 +124,9 @@
   *	Routine to trap rubouts, and make sure they really want to
   * quit.
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Antoine Brodin freebsd_committer freebsd_triage 2013-05-27 18:57:08 UTC
State Changed
From-To: open->closed

Patch committed, thanks!