Accepting request 94250 from home:jreidinger:branches:games

- update gnuchess to official version 6.0.1
- clean up patches
- change generation of recent book dat from source during build

OBS-URL: https://build.opensuse.org/request/show/94250
OBS-URL: https://build.opensuse.org/package/show/games/gnuchess?expand=0&rev=6
This commit is contained in:
Dirk Stoecker 2011-12-01 07:36:10 +00:00 committed by Git OBS Bridge
parent 7bf6b3d358
commit 884267f62b
16 changed files with 76 additions and 185 deletions

View File

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

View File

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

3
book_1.02.pgn.bz2 Normal file
View File

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

View File

@ -14,10 +14,13 @@ echo -e "\nDone."
#echo -e "\nDone.\n"
echo -e "\nGenerating book...\n"
src/gnuchess <<EOF
book add book.pgn
quit
expect <<EOF
set timeout 360
spawn src/gnuchess
expect "White" { send "book add book.pgn\n" }
expect "all done!" { send "quit\n" }
EOF
mv -v book.bin src/book.bin
echo -e "\nDone.\n"
echo "Books are ready!"

View File

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

3
gnuchess-6.0.1.tar.bz2 Normal file
View File

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

View File

@ -1,10 +0,0 @@
--- 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

@ -1,17 +0,0 @@
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,39 +0,0 @@
--- 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.
*/
-void (*getline) (char *);
+void (*my_getline) (char *);
#define MAXSTR 128
extern char inputstr[MAXSTR];
--- 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);
- getline(prompt);
+ my_getline(prompt);
input_status = INPUT_AVAILABLE;
pthread_cond_signal(&input_cond);
pthread_mutex_unlock(&input_mutex);
@@ -182,13 +182,13 @@
{
#ifdef HAVE_LIBREADLINE
if (isatty(STDIN_FILENO)) {
- getline = getline_readline;
+ my_getline = getline_readline;
using_history();
} else {
- getline = getline_standard;
+ my_getline = getline_standard;
}
#else
- getline = getline_standard;
+ my_getline = getline_standard;
#endif
/* Start input thread */
pthread_create(&input_thread, NULL, input_func, NULL);

View File

@ -1,10 +0,0 @@
--- 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

@ -1,21 +0,0 @@
--- 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,11 +0,0 @@
--- 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;
+pthread_t input_thread;
/* Mutex and condition variable for thread communication */

View File

@ -0,0 +1,18 @@
--- src/components.cc.old 2011-11-29 09:48:53.000000000 +0000
+++ src/components.cc 2011-11-29 09:56:31.000000000 +0000
@@ -65,6 +65,7 @@
InitEngine();
/* Start adapter main loop */
adapter::main_adapter( 0, 0 );
+ return 0;
}
/*
@@ -100,6 +101,7 @@
{
/* Start engine main loop */
engine::main_engine( 0, 0 );
+ return 0;
}
/*

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Nov 29 12:08:41 UTC 2011 - jreidinger@suse.com
- update gnuchess to official version 6.0.1
- clean up patches
- change generation of recent book dat from source during build
-------------------------------------------------------------------
Wed Aug 4 17:37:37 UTC 2010 - packman@links2linux.de

View File

@ -1,31 +1,45 @@
#
# spec file for package gnuchess
#
# Copyright (c) 2011 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/
#
Name: gnuchess
Version: 5.07.94.1b
Version: 6.0.1
Release: 1
License: GPLv2+
Summary: GNU Chess Program (enhanced version)
Summary: GNU Chess Program
Url: http://alpha.uhasselt.be/Research/Algebra/Toga/gnuchess-release/
Group: Amusements/Games/Board/Chess
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
Source1: book_1.02.pgn.bz2
#Source2: book.dat.bz2
Source3: genbook.sh
Source4: gnuchess.6
Source5: xgnuchess
Patch0: gnuchess-nonstatic.diff
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
Patch0: gnuchess-return-nonvoid.patch
BuildRequires: bison
BuildRequires: flex
BuildRequires: readline-devel
BuildRequires: gcc-c++
BuildRequires: expect
Requires(post): info
Requires(preun):info
Provides: chess_backend
Provides: gchess
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -34,51 +48,39 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
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.
See http://alpha.uhasselt.be/Research/Algebra/Toga/ for more information.
%prep
%setup -q
%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p0
%patch4 -p0
%patch5 -p0
%patch0
%build
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 CFLAGS="%{optflags} -pthread"
make %{?_smp_mflags}
sed -i 's/^Book[[:space:]]*=[[:space:]]*false/Book = true/;s/^OwnBook[[:space:]]=[[:space:]]*false/OwnBook = true/' src/gnuchess.ini
sh %{SOURCE3} %{SOURCE1}
%install
if [ -f %{SOURCE2} ] ; then
bzcat %{SOURCE2} >book.dat
else
sh %{SOURCE3} %{SOURCE1}
fi
rm -rf doc/CVS
%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 %{buildroot}
%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%preun
if [ $1 = 0 ] ; then
if [ -f %{_infodir}/%{name}.info.gz ] ; then
%install_info --info-dir=%{_infodir} --delete %{_infodir}/%{name}.info.gz
fi
fi
%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README TODO doc
%doc AUTHORS COPYING ChangeLog NEWS README TODO
%{_bindir}/*
%{_mandir}/man*/*
%{_infodir}/gnuchess.info.gz
%{_datadir}/gnuchess
%changelog

View File

@ -1,28 +0,0 @@
#! /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 "$@" &