homebrew-core/Formula/gnu-chess.rb

61 lines
2.0 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

require 'formula'
class GnuChess < Formula
url 'http://ftpmirror.gnu.org/chess/gnuchess-5.07.tar.gz'
mirror 'http://ftp.gnu.org/gnu/chess/gnuchess-5.07.tar.gz'
homepage 'http://www.gnu.org/software/chess/'
md5 '259da00aa559e5624c65279484fccaf7'
def patches
# v4 of the gcc compiler uncovered an error in the code that should be corrected in
# the 5.08 version of gnuchess.
#
# The error:
# input.c:95: error: static declaration of input_thread follows non-static declaration
#
# The patch removes 'static' from the declaration in input.c. See msg at
# http://www.mail-archive.com/bug-gnu-chess@gnu.org/msg00218.html
DATA
end
def install
# Opening book for gnuchess. This can be put in the doc directory and the
# user can optionally add the opening book. The README has details on
# adding the opening book.
book_url = "http://ftpmirror.gnu.org/chess/book_1.01.pgn.gz"
ohai "Downloading #{book_url}"
curl book_url, "-O"
system "./configure", "--disable-debug", "--disable-dependency-tracking", "--prefix=#{prefix}"
system "make"
ENV.j1 # Prevents a "file already exists" warning
system "make install"
doc.install Dir['doc/*']
doc.install ['TODO', 'book_1.01.pgn.gz', 'book']
end
def caveats; <<-EOS.undent
The README file contains a manual for use:
#{doc}/README
This formula also downloads the additional opening book. The opening
book is a gzipped PGN file that can be added using gnuchess commands.
The book_*.pgn.gz file is located in the same directory as the README.
See the README for using the `book add' command.
EOS
end
end
__END__
diff --git a/src/input.c b/src/input.c
index 1fb9be3..5f0ff79 100644
--- a/src/input.c
+++ b/src/input.c
@@ -92,7 +92,7 @@ void getline_standard(char *p)
fgets(inputstr, MAXSTR, stdin);
}
-static pthread_t input_thread;
+pthread_t input_thread;
/* Mutex and condition variable for thread communication */