games/stockfish: Added (UCI chess engine).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Johannes Schoepfer 2016-11-03 17:07:32 +07:00 committed by Willy Sudiarto Raharjo
parent cda6abcc4c
commit 50c50f9033
4 changed files with 142 additions and 0 deletions

12
games/stockfish/README Normal file
View file

@ -0,0 +1,12 @@
Stockfish is a free UCI chess engine derived from Glaurung 2.1. It is not a
complete chess program and requires some UCI-compatible GUI (e.g. XBoard with
PolyGlot, eboard, Arena, Sigma Chess, Shredder, Chess Partner or Fritz) in
order to be used comfortably. Read the documentation for your GUI of choice
for information about how to use Stockfish with it.
This version of Stockfish supports up to 128 cores. The engine defaults to one
search thread, so it is therefore recommended to inspect the value of the
Threads UCI parameter, and to make sure it equals the number of CPU cores on
your computer.
This version of Stockfish has support for Syzygybases.

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The \"handy ruler\" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
stockfish: stockfish (UCI chess engine)
stockfish:
stockfish: Stockfish is a free UCI chess engine derived from Glaurung 2.1.,
stockfish: requireing some UCI-compatible GUI (e.g. XBoard with PolyGlot or
stockfish: eboard).
stockfish: It has support for Syzygybases and supports up to 128 cores.
stockfish: The engine defaults to one search thread, so it is therefore
stockfish: recommended to inspect the value of the Threads UCI parameter, and
stockfish: to make sure it equals the number of CPU cores on your computer.
stockfish:
stockfish: https://stockfishchess.org/

View file

@ -0,0 +1,101 @@
#!/bin/sh
# Slackware build script for stockfish
# Copyright 2016 Johannes Schoepfer
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=stockfish
VERSION=${VERSION:-8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM
unzip $CWD/$PRGNAM-$VERSION-src.zip
cd $PRGNAM-$VERSION-src
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
cd src
# More optimized, but may not run on all x86_64 hardware
# [ "$ARCH" = x86_64 ] && grep -w popcnt /proc/cpuinfo && ARCH=x86-64-modern
export CXXFLAGS="$SLKCFLAGS"
case $ARCH in
x86_64) make profile-build ARCH=x86-64 ;;
x86-64-modern) make profile-build ARCH=$ARCH ;;
i?86) make profile-build ARCH=x86-32 ;;
arm) make profile-build ARCH=armv7 ;;
*) make profile-build ARCH=general-32 ;;
esac
make strip
make PREFIX="$PKG/usr" install
cd ..
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
# Docs
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
mv AUTHORS Copying.txt Readme.md $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cd $PKG
/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="stockfish"
VERSION="8"
HOMEPAGE="https://stockfishchess.org/"
DOWNLOAD="https://stockfish.s3.amazonaws.com/stockfish-8-src.zip"
MD5SUM="fa9797045a76f9b76596d7a0d5ca7b69"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Johannes Schoepfer"
EMAIL="<slackbuilds[at]schoepfer[dot]info>"