- updated gnuchess to (unofficial) version 5.07.94.1b

- updated to most recent book.dat
- removed obsolete getline patch
- added patches to fix a few rpmlint-warnings/errors
- added gnuchess-add_new_bookpath.diff so gnuchess finds the default
  opening book in /usr/share/gnuchess

- updated to (unofficial) version 5.07.9b by M. Vandenbergh
- added script "xgnuchess" to start xboard with gnuchess
  as first and second chess engine
- patches refreshed
- description updated

OBS-URL: https://build.opensuse.org/package/show/games/gnuchess?expand=0&rev=5
This commit is contained in:
Pavol Rusnak
2011-04-15 12:14:20 +00:00
committed by Git OBS Bridge
parent f964456bc7
commit 7bf6b3d358
11 changed files with 160 additions and 65 deletions

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f62afd86117da524883b505a29f4a0a0c9ea40797ef2952fb22e990644421cf
size 2536707
oid sha256:19a3b1d0411de6fe81596a24f206dab4f46541e9d776c74738d07a179e98180a
size 2536941

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:433bd983dff7ff9cdd0fcaf9ebd5dd815badac611feaa2c0928b0ca4dd9efd03
size 263250

View File

@@ -0,0 +1,10 @@
--- src/book.c.orig 2010-08-04 20:11:16.000000000 +0200
+++ src/book.c 2010-08-04 20:12:15.000000000 +0200
@@ -135,6 +135,7 @@
static char const * bookbin[] = {
"book.dat",
+ "/usr/share/gnuchess/book.dat",
"/usr/share/games/gnuchess/book.dat",
"/usr/lib/games/gnuchess/book.dat",
NULL

View File

@@ -0,0 +1,17 @@
Index: src/book.c
===================================================================
--- src/book.c.orig
+++ src/book.c
@@ -343,9 +343,11 @@ int BookBuilderOpen(void)
}
digest_bits = MAX_DIGEST_BITS;
/* We use read_book() here only to allocate memory */
- if (read_book(wfp) == BOOK_ENOMEM) {
+ if (read_book(rfp) == BOOK_ENOMEM) {
+ fclose(rfp);
return BOOK_ENOMEM;
}
+ fclose(rfp);
}
return BOOK_SUCCESS;
}

View File

@@ -1,6 +1,6 @@
--- src/common.h
+++ src/common.h
@@ -745,7 +745,7 @@
--- src/common.h.orig 2009-10-26 09:54:40.000000000 +0100
+++ src/common.h 2010-01-11 19:58:43.000000000 +0100
@@ -752,7 +752,7 @@
* Input routine, initialized to one of the specific
* input routines. The given argument is the prompt.
*/
@@ -9,9 +9,9 @@
#define MAXSTR 128
extern char inputstr[MAXSTR];
--- src/input.c
+++ src/input.c
@@ -127,7 +127,7 @@
--- src/input.c.orig 2009-09-28 15:39:17.000000000 +0200
+++ src/input.c 2010-01-11 19:58:43.000000000 +0100
@@ -136,7 +136,7 @@
(RealGameCnt+1)/2 + 1 );
}
pthread_mutex_lock(&input_mutex);
@@ -20,7 +20,7 @@
input_status = INPUT_AVAILABLE;
pthread_cond_signal(&input_cond);
pthread_mutex_unlock(&input_mutex);
@@ -173,13 +173,13 @@
@@ -182,13 +182,13 @@
{
#ifdef HAVE_LIBREADLINE
if (isatty(STDIN_FILENO)) {

View File

@@ -0,0 +1,10 @@
--- src/game.c.orig 2010-08-04 20:03:13.000000000 +0200
+++ src/game.c 2010-08-04 20:04:02.000000000 +0200
@@ -1,6 +1,7 @@
// includes
#include <string.h>
+#include <unistd.h>
#include "common.h"
#include "game.h"

View File

@@ -0,0 +1,21 @@
--- src/book.c.orig 2010-08-04 19:58:11.000000000 +0200
+++ src/book.c 2010-08-04 19:59:08.000000000 +0200
@@ -560,7 +560,7 @@
static FILE* BookFileOpen(const char *file){
FILE* rfp;
rfp = fopen(file, "rb");
- if (rfp == NULL) return;
+ if (rfp == NULL) return 0;
OutputConsole("Read opening book (%s)...\n", file);
if (!check_magic(rfp)) {
Output( " File %s does not conform to the current format.\n"
--- src/timer.c.orig 2010-08-04 20:00:20.000000000 +0200
+++ src/timer.c 2010-08-04 20:00:54.000000000 +0200
@@ -5,6 +5,7 @@
TimerStart(timer__t *timer){
gettimeofday (timer, NULL);
+ return 0;
}

View File

@@ -1,7 +1,7 @@
--- src/input.c
+++ src/input.c
@@ -92,7 +92,7 @@
fgets(inputstr, MAXSTR, stdin);
--- src/input.c.orig 2009-09-28 15:39:17.000000000 +0200
+++ src/input.c 2010-01-11 19:57:34.000000000 +0100
@@ -99,7 +99,7 @@
}
}
-static pthread_t input_thread;

View File

@@ -1,3 +1,21 @@
-------------------------------------------------------------------
Wed Aug 4 17:37:37 UTC 2010 - packman@links2linux.de
- updated gnuchess to (unofficial) version 5.07.94.1b
- updated to most recent book.dat
- removed obsolete getline patch
- added patches to fix a few rpmlint-warnings/errors
- added gnuchess-add_new_bookpath.diff so gnuchess finds the default
opening book in /usr/share/gnuchess
-------------------------------------------------------------------
Mon Jan 11 00:00:00 UTC 2010 - packman@links2linux.de
- updated to (unofficial) version 5.07.9b by M. Vandenbergh
- added script "xgnuchess" to start xboard with gnuchess
as first and second chess engine
- patches refreshed
- description updated
-------------------------------------------------------------------
Fri Oct 16 11:16:01 CEST 2009 - marek.belisko@open-nandra.com

View File

@@ -1,74 +1,60 @@
#
# spec file for package gnuchess (Version 5.07)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: gnuchess
BuildRequires: bison flex readline-devel
Url: http://www.gnu.org/software/chess/chess.html
Version: 5.07.94.1b
Release: 1
License: GPLv2+
Summary: GNU Chess Program (enhanced version)
Url: http://alpha.uhasselt.be/Research/Algebra/Toga/gnuchess-release/
Group: Amusements/Games/Board/Chess
Provides: chess_backend
Provides: gchess
AutoReqProv: on
Version: 5.07
Release: 145
Summary: GNU Chess Program
Source: %{name}-%{version}.tar.bz2
Source0: %{name}-%{version}.tar.bz2
# WARNING: Don't forget to re-generate book.dat manually before submit!
# Simply remove the source and build, updated book will be generated.
Source1: book_1.01.pgn.bz2
Source2: book.dat.bz2
Source3: genbook.sh
Source4: gnuchess.6
Source5: xgnuchess
Patch0: gnuchess-nonstatic.diff
Patch1: gnuchess-getline.diff
# PATCH-FIX-OPENSUSE gnuchess-5.07-fix-missing-fclose.patch bnc#534576
Patch2: gnuchess-5.07-fix-missing-fclose.patch
Patch1: gnuchess-no-return-in-nonvoid-function.diff
Patch2: gnuchess-missing-includes_implicit-fortify-decl.diff
Patch3: gnuchess-add_new_bookpath.diff
Patch4: gnuchess-getline.diff
Patch5: gnuchess-fix-missing-fclose.diff
BuildRequires: bison
BuildRequires: flex
BuildRequires: readline-devel
Provides: chess_backend
Provides: gchess
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
A worthy chess opponent that runs in text mode. Find an X11 interface
in the xboard package.
This version includes some enhancements be Michel Vandenbergh, it is not an official release
from the GNU project.
Development on the official version seems to have stalled for several years now and this version also contains a few bug fixes.
Authors:
--------
Hans Eric Sandstrom <hes@log-sv.se>
Stuart Cracraft <cracraft@rice-chex.ai.mit.edu>
Mike McGann <mwm@hslrswi.hasler.ascom.ch>
Philippe Schnoebelen <phs@lifia.imag.fr>
Tim Mann <mann@src.dec.com>
See http://alpha.uhasselt.be/Research/Algebra/Toga/ for more information.
%prep
%setup
%patch0
%patch1
%setup -q
%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p0
%build
CFLAGS="$RPM_OPT_FLAGS"
./configure --prefix=%{_prefix} \
--mandir=%{_mandir} \
--datadir=%{_datadir}
export CFLAGS="%{optflags} -pthread"
%configure
sed '/\/usr\/lib\/games\/gnuchess\/book\.dat/d;s:/usr/share/games:%{_datadir}:' <src/book.h >src/book.h~
mv src/book.h~ src/book.h
make
make CFLAGS="%{optflags} -pthread"
%install
if [ -f %{SOURCE2} ] ; then
@@ -77,20 +63,22 @@ else
sh %{SOURCE3} %{SOURCE1}
fi
rm -rf doc/CVS
make DESTDIR=$RPM_BUILD_ROOT install
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man6
cp %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6
mkdir -p $RPM_BUILD_ROOT%{_datadir}/gnuchess
cp book.dat $RPM_BUILD_ROOT%{_datadir}/gnuchess
%make_install
mkdir -p %{buildroot}%{_mandir}/man6
cp %{SOURCE4} %{buildroot}%{_mandir}/man6
mkdir -p %{buildroot}%{_datadir}/gnuchess
cp book.dat %{buildroot}%{_datadir}/gnuchess
# install xgnuchess
install -m 755 %{SOURCE5} %{buildroot}/%{_bindir}
%clean
rm -rf $RPM_BUILD_ROOT
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%{_prefix}/bin/*
%doc AUTHORS COPYING ChangeLog NEWS README TODO doc
%{_bindir}/*
%{_mandir}/man*/*
%{_datadir}/gnuchess
%doc AUTHORS COPYING ChangeLog NEWS README TODO doc
%changelog

28
xgnuchess Normal file
View File

@@ -0,0 +1,28 @@
#! /bin/sh
#
# Run xboard with gnuchess as chess program.
#
# modified from "xcrafty" originally from:
#
# Steffen Winterfeldt <wfeldt@suse.de>
#
# Copyright (c) 1999 SuSE GmbH Nuernberg, Germany. All rights reserved.
#
[ "$DISPLAY" ] || {
echo >&2 "This is not a text mode application!"
exit 63
}
emsg="You\'ll have to install package \'xboard\' first to run xgnuchess."
which xboard >/dev/null 2>&1 || {
if tty -s ; then
sh -c "echo >&2 $emsg"
else
xterm +sb -T "xgnuchess error" -bg white -fg red -e sh -c "echo $emsg ; read"
fi
exit 42
}
exec xboard -size bulky -fcp gnuchessx -scp gnuchessx "$@" &