[gentoo-commits] repo/proj/guru:dev commit in: games-board/fairy-stockfish/

2022-10-28 Thread Sergey Torokhov
commit: 21befb198b04c1c9ca68073919710a3122d81fab
Author: Sergey Torokhov  yandex  ru>
AuthorDate: Fri Oct 28 22:09:12 2022 +
Commit: Sergey Torokhov  yandex  ru>
CommitDate: Fri Oct 28 22:09:12 2022 +
URL:https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=21befb19

games-board/fairy-stockfish: drop old 14 version

Signed-off-by: Sergey Torokhov  yandex.ru>

 games-board/fairy-stockfish/Manifest   |  1 -
 .../fairy-stockfish/fairy-stockfish-14.ebuild  | 99 --
 2 files changed, 100 deletions(-)

diff --git a/games-board/fairy-stockfish/Manifest 
b/games-board/fairy-stockfish/Manifest
index 9f011abcb..678f64cf1 100644
--- a/games-board/fairy-stockfish/Manifest
+++ b/games-board/fairy-stockfish/Manifest
@@ -1,4 +1,3 @@
-DIST fairy-stockfish-14.tar.gz 326041 BLAKE2B 
16c8f07e60a2df19d0c87c5acb2a5d0e9fe3ffcba5791ac36a7a35eebaaa01296f86a9cfbecc2916744c73c3d3f6f4ae03f2ea74759bfa96cb92c32f30b4
 SHA512 
7b684009447ddc0083cf356b1859215c11817a81892d887c1e47d34b26da5338a2f12846fac804995a2d21903ccc74132870a71bec46644ac0a8bba453ba7666
 DIST fairy-stockfish-14.0.1.tar.gz 330996 BLAKE2B 
18bfe84edae242800f1e75d76d674012680972e44ba341ac429f90e39d075883fc66a808c2b85ed3c3a5aaabec2a290d0c0b2f47076b6cadc92519673ebcbfe9
 SHA512 
267837285c735ad7579233b6b6635c227b28727be1c63edb471b54b74f69330003aa3c6abf0667a0697868e8fd059c0ba23b3956ead269708abf61764bd33f3d
 DIST janggi-85de3dae670a.nnue 11261915 BLAKE2B 
97436ab482e4754cc7f13fea66dcacb2a6cf57876467b0756bc6360ed9bac281e4ec19b31abb0743973f4a5e01ac3b2f669bb973e667657b171582adfc79da24
 SHA512 
7aee208cb68952ef2fc1365de7c2dc5e2778af59f98a8adbf4d63225e6838133976b9d6c2cdf8ac5342f79259cf47ffc1a2e3e5a83747d77b804399da09e2604
 DIST xiangqi-83f16c17fe26.nnue 11261915 BLAKE2B 
3c77b4827331fdfa23bbc5d09d232e2d1c039dbd1fdbf4c22a1a78fa250f48f65d25fd01f222a7bd74e0da8b5b90be9a114f13fa6edcbee30b08420ce81530b9
 SHA512 
2111284ea97d5b08af0f444dd5d8a9277edc6f8b5feb3da36165de22f67cdba8c39172294cc5a5c308ac17bae50cf4c7ce1ed2a345a33ec29a39ee1ed37120fe

diff --git a/games-board/fairy-stockfish/fairy-stockfish-14.ebuild 
b/games-board/fairy-stockfish/fairy-stockfish-14.ebuild
deleted file mode 100644
index 49ad646e9..0
--- a/games-board/fairy-stockfish/fairy-stockfish-14.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Chess variant engine derived from Stockfish to support fairy 
chess variants"
-HOMEPAGE="https://github.com/ianfab/Fairy-Stockfish;
-
-MY_PV=$(ver_rs 1 _)
-
-SRC_URI="https://github.com/ianfab/Fairy-Stockfish/archive/fairy_sf_${MY_PV}.tar.gz
 -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="cpu_flags_arm_v7 cpu_flags_x86_avx2 cpu_flags_x86_popcnt 
cpu_flags_x86_sse debug
-   general-32 general-64 largeboards test"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="
-   || ( app-arch/unzip app-arch/zip )
-   test? ( dev-tcltk/expect )
-"
-RDEPEND=""
-
-S="${WORKDIR}/Fairy-Stockfish-fairy_sf_${PV}/src"
-
-src_prepare() {
-   default
-
-   local item
-   # Rename Stockfish to Fairy-Stockfish
-   sed -i -e 's:EXE = stockfish:EXE = fairy-stockfish:' Makefile || die
-   for item in ../tests/*.sh ; do
-   sed -i -e 's:./stockfish:./fairy-stockfish:' $item || 
die
-   done
-   # protocol.sh test 'ucci.exp' fails for timeout 5 but pass with 15
-   sed -i -e 's:timeout 5:timeout 15:' ../tests/protocol.sh || die
-   # instrumented.sh syzygy test data tarball get differ size every time, 
drop it
-   sed -i -e '112,141d' ../tests/instrumented.sh || die
-
-   # prevent pre-stripping
-   sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile \
-   || die 'failed to disable stripping in the Makefile'
-}
-
-src_compile() {
-   local my_arch
-
-   # generic unoptimized first
-   use general-32 && my_arch=general-32
-   use general-64 && my_arch=general-64
-
-   # x86
-   use x86 && my_arch=x86-32-old
-   use cpu_flags_x86_sse && my_arch=x86-32
-
-   # amd64
-   use amd64 && my_arch=x86-64
-   use cpu_flags_x86_popcnt && my_arch=x86-64-modern
-
-   # both bmi2 and avx2 are part of hni (haswell new instructions)
-   use cpu_flags_x86_avx2 && my_arch=x86-64-bmi2
-
-   # other architectures
-   use cpu_flags_arm_v7 && my_arch=armv7
-   use ppc && my_arch=ppc
-   use ppc64 && my_arch=ppc64
-
-   # Skip the "build" target and use "all" instead to avoid the config
-   # sanity check (which would throw a fit about our compiler). There's
-   # a nice hack in the Makefile that overrides the value of CXX with
-   # COMPILER to support Travis CI and we abuse it to make sure that we
-   # build with our compiler of choice.
-   # Build all variants (add Amazons game) and disable default 

[gentoo-commits] repo/proj/guru:dev commit in: games-board/fairy-stockfish/

2021-12-15 Thread Sergey Torokhov
commit: d512221f0d58d0d628a9598cf87d2182b1ac82fd
Author: Sergey Torokhov  yandex  ru>
AuthorDate: Wed Dec 15 22:32:03 2021 +
Commit: Sergey Torokhov  yandex  ru>
CommitDate: Wed Dec 15 22:32:03 2021 +
URL:https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=d512221f

games-board/fairy-stockfish: 14.0.1 version bump

Add embed built-in NNUE support for Xiangqi and Janggi

Signed-off-by: Sergey Torokhov  yandex.ru>

 games-board/fairy-stockfish/Manifest   |   3 +
 .../fairy-stockfish/fairy-stockfish-14.0.1.ebuild  | 116 +
 games-board/fairy-stockfish/metadata.xml   |   3 +-
 3 files changed, 121 insertions(+), 1 deletion(-)

diff --git a/games-board/fairy-stockfish/Manifest 
b/games-board/fairy-stockfish/Manifest
index 031cae2a0..9f011abcb 100644
--- a/games-board/fairy-stockfish/Manifest
+++ b/games-board/fairy-stockfish/Manifest
@@ -1 +1,4 @@
 DIST fairy-stockfish-14.tar.gz 326041 BLAKE2B 
16c8f07e60a2df19d0c87c5acb2a5d0e9fe3ffcba5791ac36a7a35eebaaa01296f86a9cfbecc2916744c73c3d3f6f4ae03f2ea74759bfa96cb92c32f30b4
 SHA512 
7b684009447ddc0083cf356b1859215c11817a81892d887c1e47d34b26da5338a2f12846fac804995a2d21903ccc74132870a71bec46644ac0a8bba453ba7666
+DIST fairy-stockfish-14.0.1.tar.gz 330996 BLAKE2B 
18bfe84edae242800f1e75d76d674012680972e44ba341ac429f90e39d075883fc66a808c2b85ed3c3a5aaabec2a290d0c0b2f47076b6cadc92519673ebcbfe9
 SHA512 
267837285c735ad7579233b6b6635c227b28727be1c63edb471b54b74f69330003aa3c6abf0667a0697868e8fd059c0ba23b3956ead269708abf61764bd33f3d
+DIST janggi-85de3dae670a.nnue 11261915 BLAKE2B 
97436ab482e4754cc7f13fea66dcacb2a6cf57876467b0756bc6360ed9bac281e4ec19b31abb0743973f4a5e01ac3b2f669bb973e667657b171582adfc79da24
 SHA512 
7aee208cb68952ef2fc1365de7c2dc5e2778af59f98a8adbf4d63225e6838133976b9d6c2cdf8ac5342f79259cf47ffc1a2e3e5a83747d77b804399da09e2604
+DIST xiangqi-83f16c17fe26.nnue 11261915 BLAKE2B 
3c77b4827331fdfa23bbc5d09d232e2d1c039dbd1fdbf4c22a1a78fa250f48f65d25fd01f222a7bd74e0da8b5b90be9a114f13fa6edcbee30b08420ce81530b9
 SHA512 
2111284ea97d5b08af0f444dd5d8a9277edc6f8b5feb3da36165de22f67cdba8c39172294cc5a5c308ac17bae50cf4c7ce1ed2a345a33ec29a39ee1ed37120fe

diff --git a/games-board/fairy-stockfish/fairy-stockfish-14.0.1.ebuild 
b/games-board/fairy-stockfish/fairy-stockfish-14.0.1.ebuild
new file mode 100644
index 0..09b8e5d5f
--- /dev/null
+++ b/games-board/fairy-stockfish/fairy-stockfish-14.0.1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Chess variant engine derived from Stockfish to support fairy 
chess variants"
+HOMEPAGE="https://github.com/ianfab/Fairy-Stockfish;
+
+MY_PV=$(ver_rs 1-2 _)
+
+SRC_URI="
+   
https://github.com/ianfab/Fairy-Stockfish/archive/fairy_sf_${MY_PV}_xq.tar.gz 
-> ${P}.tar.gz
+   nnue? (
+   
https://github.com/ianfab/Fairy-Stockfish/releases/download/fairy_sf_${MY_PV}_xq/janggi-85de3dae670a.nnue
+   
https://github.com/ianfab/Fairy-Stockfish/releases/download/fairy_sf_${MY_PV}_xq/xiangqi-83f16c17fe26.nnue
+   )
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_arm_v7 cpu_flags_x86_avx2 cpu_flags_x86_popcnt 
cpu_flags_x86_sse debug
+   general-32 general-64 largeboards nnue test"
+
+# Require largeboards for nnue support as it also built-in .nnue files for 
Xiangqi and Janggi
+REQUIRED_USE="nnue? ( largeboards )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+   || ( app-arch/unzip app-arch/zip )
+   test? ( dev-tcltk/expect )
+"
+RDEPEND=""
+
+S="${WORKDIR}/Fairy-Stockfish-fairy_sf_${MY_PV}_xq/src"
+
+src_unpack() {
+   unpack ${P}.tar.gz
+   if use nnue ; then
+   cp "${DISTDIR}"/janggi-85de3dae670a.nnue "${S}/" || die
+   cp "${DISTDIR}"/xiangqi-83f16c17fe26.nnue "${S}/" || die
+   fi
+}
+
+src_prepare() {
+   default
+
+   local item
+   # Rename Stockfish to Fairy-Stockfish
+   sed -i -e 's:EXE = stockfish:EXE = fairy-stockfish:' Makefile || die
+   for item in ../tests/*.sh ; do
+   sed -i -e 's:./stockfish:./fairy-stockfish:' $item || 
die
+   done
+   # protocol.sh test 'ucci.exp' fails for timeout 5 but pass with 15
+   sed -i -e 's:timeout 5:timeout 15:' ../tests/protocol.sh || die
+   # instrumented.sh syzygy test data tarball get differ size every time, 
drop it
+   sed -i -e '112,141d' ../tests/instrumented.sh || die
+
+   # prevent pre-stripping
+   sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile \
+   || die 'failed to disable stripping in the Makefile'
+}
+
+src_compile() {
+   local my_arch
+
+   # generic unoptimized first
+   use general-32 && my_arch=general-32
+   use general-64 && my_arch=general-64
+
+   # x86
+   use x86 && my_arch=x86-32-old
+   use cpu_flags_x86_sse && my_arch=x86-32
+
+  

[gentoo-commits] repo/proj/guru:dev commit in: games-board/fairy-stockfish/

2021-10-01 Thread Sergey Torokhov
commit: 27c841dc12e4b418f5fa4bea13511e6ac3b9331a
Author: Sergey Torokhov  yandex  ru>
AuthorDate: Fri Oct  1 17:19:57 2021 +
Commit: Sergey Torokhov  yandex  ru>
CommitDate: Fri Oct  1 17:35:43 2021 +
URL:https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=27c841dc

games-board/fairy-stockfish: drop syzygy tests

The instrumented.sh syzygy test data tarball gets differ size every time.
Drop it.

Closes: https://bugs.gentoo.org/815625

Signed-off-by: Sergey Torokhov  yandex.ru>

 games-board/fairy-stockfish/Manifest  |  1 -
 games-board/fairy-stockfish/fairy-stockfish-14.ebuild | 11 ---
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/games-board/fairy-stockfish/Manifest 
b/games-board/fairy-stockfish/Manifest
index e4fff19a3..031cae2a0 100644
--- a/games-board/fairy-stockfish/Manifest
+++ b/games-board/fairy-stockfish/Manifest
@@ -1,2 +1 @@
 DIST fairy-stockfish-14.tar.gz 326041 BLAKE2B 
16c8f07e60a2df19d0c87c5acb2a5d0e9fe3ffcba5791ac36a7a35eebaaa01296f86a9cfbecc2916744c73c3d3f6f4ae03f2ea74759bfa96cb92c32f30b4
 SHA512 
7b684009447ddc0083cf356b1859215c11817a81892d887c1e47d34b26da5338a2f12846fac804995a2d21903ccc74132870a71bec46644ac0a8bba453ba7666
-DIST fairy-stockfish-test-syzygy-14.tar.gz 4201241 BLAKE2B 
0c4dd000b382dda233a6be0da2e5ce02651b83507143f6e79ab831f07e2d8b0a30dc700b1375ad3781cc86083538fed48bb59e0dd31f262dd19d25549205d09c
 SHA512 
16b000a93c0cdeaa188be37489f104781f34558ac806b5124716faf9ff6224e7f99e9ca92aa2bd16227a7664624aa8934ebeece80c94fd18c2785f523bc4c583

diff --git a/games-board/fairy-stockfish/fairy-stockfish-14.ebuild 
b/games-board/fairy-stockfish/fairy-stockfish-14.ebuild
index 32436ce4e..49ad646e9 100644
--- a/games-board/fairy-stockfish/fairy-stockfish-14.ebuild
+++ b/games-board/fairy-stockfish/fairy-stockfish-14.ebuild
@@ -10,10 +10,8 @@ HOMEPAGE="https://github.com/ianfab/Fairy-Stockfish;
 
 MY_PV=$(ver_rs 1 _)
 
-SRC_URI="
-   
https://github.com/ianfab/Fairy-Stockfish/archive/fairy_sf_${MY_PV}.tar.gz -> 
${P}.tar.gz
-   test? ( 
https://api.github.com/repos/niklasf/python-chess/tarball/9b9aa13f9f36d08aadfabff872882f4ab1494e95
 -> ${PN}-test-syzygy-${PV}.tar.gz )
-"
+SRC_URI="https://github.com/ianfab/Fairy-Stockfish/archive/fairy_sf_${MY_PV}.tar.gz
 -> ${P}.tar.gz"
+
 LICENSE="GPL-3"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
@@ -34,7 +32,6 @@ src_prepare() {
default
 
local item
-   use test && { mv -T ../../niklasf-python-chess-9b9aa13 ../tests/syzygy 
|| die; }
# Rename Stockfish to Fairy-Stockfish
sed -i -e 's:EXE = stockfish:EXE = fairy-stockfish:' Makefile || die
for item in ../tests/*.sh ; do
@@ -42,8 +39,8 @@ src_prepare() {
done
# protocol.sh test 'ucci.exp' fails for timeout 5 but pass with 15
sed -i -e 's:timeout 5:timeout 15:' ../tests/protocol.sh || die
-   # instrumented.sh syzygy test runs infinitly with USE="largeboards", 
drop it
-   use largeboards && { sed -i -e '112,141d' ../tests/instrumented.sh || 
die; }
+   # instrumented.sh syzygy test data tarball get differ size every time, 
drop it
+   sed -i -e '112,141d' ../tests/instrumented.sh || die
 
# prevent pre-stripping
sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile \



[gentoo-commits] repo/proj/guru:dev commit in: games-board/fairy-stockfish/

2021-09-27 Thread Sergey Torokhov
commit: ab88c21f35e2e2068a601ed51d67e26f8ce7cc62
Author: Sergey Torokhov  yandex  ru>
AuthorDate: Mon Sep 27 20:43:23 2021 +
Commit: Sergey Torokhov  yandex  ru>
CommitDate: Mon Sep 27 20:49:15 2021 +
URL:https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ab88c21f

games-board/fairy-stockfish: on allvariants, off optimize -O3, cleanup

- Allways enable build 'all' variants option (add Amazons game).
- Drop 'optimize' use flag and disable '-O3/-ffast' optimization.
- Remove unused 'python' use flag.

Signed-off-by: Sergey Torokhov  yandex.ru>

 games-board/fairy-stockfish/fairy-stockfish-14.ebuild | 11 ++-
 games-board/fairy-stockfish/metadata.xml  |  2 --
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/games-board/fairy-stockfish/fairy-stockfish-14.ebuild 
b/games-board/fairy-stockfish/fairy-stockfish-14.ebuild
index 8ea4cb783..32436ce4e 100644
--- a/games-board/fairy-stockfish/fairy-stockfish-14.ebuild
+++ b/games-board/fairy-stockfish/fairy-stockfish-14.ebuild
@@ -17,8 +17,8 @@ SRC_URI="
 LICENSE="GPL-3"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
-IUSE="cpu_flags_arm_v7 cpu_flags_x86_avx2 cpu_flags_x86_popcnt 
cpu_flags_x86_sse allvariants debug
-   general-32 general-64 largeboards +optimize python test"
+IUSE="cpu_flags_arm_v7 cpu_flags_x86_avx2 cpu_flags_x86_popcnt 
cpu_flags_x86_sse debug
+   general-32 general-64 largeboards test"
 
 RESTRICT="!test? ( test )"
 
@@ -78,13 +78,14 @@ src_compile() {
# a nice hack in the Makefile that overrides the value of CXX with
# COMPILER to support Travis CI and we abuse it to make sure that we
# build with our compiler of choice.
+   # Build all variants (add Amazons game) and disable default optimize 
(-O3/-ffast)
emake all ARCH="${my_arch}" \
COMP=$(tc-getCXX) \
COMPILER=$(tc-getCXX) \
-   all=$(usex allvariants "yes" "no") \
+   all=yes \
debug=$(usex debug "yes" "no") \
-   largeboards=$(usex largeboards "yes" "no")
-   optimize=$(usex optimize "yes" "no")
+   largeboards=$(usex largeboards "yes" "no") \
+   optimize=no
 }
 
 src_test() {

diff --git a/games-board/fairy-stockfish/metadata.xml 
b/games-board/fairy-stockfish/metadata.xml
index 18578fabb..2537e2779 100644
--- a/games-board/fairy-stockfish/metadata.xml
+++ b/games-board/fairy-stockfish/metadata.xml
@@ -8,9 +8,7 @@

Generic unoptimized 32-bits build
Generic unoptimized 64-bits build
-   Adds Game of the Amazons
Support for board sizes more than 8x8 
(e.g., Xiangqi, Shogi). Engine is slower
-   Enable upstream -O3 optimizations 
(default enabled)


ianfab/Fairy-Stockfish



[gentoo-commits] repo/proj/guru:dev commit in: games-board/fairy-stockfish/

2021-09-27 Thread Sergey Torokhov
commit: a1ea9f2d5d5ab80c534a0883439cbd43ff185217
Author: Sergey Torokhov  yandex  ru>
AuthorDate: Mon Sep 27 15:14:43 2021 +
Commit: Sergey Torokhov  yandex  ru>
CommitDate: Mon Sep 27 15:16:19 2021 +
URL:https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a1ea9f2d

games-board/fairy-stockfish: new package

Ebuild is based on games-board/stockfish::gentoo

Fairy-Stockfish is a chess variant engine derived from Stockfish designed
for the support of fairy chess variants and easy extensibility with more games.
It can play various regional, historical, and modern chess variants
as well as games with user-defined rules.
For compatibility with graphical user interfaces it supports the UCI, UCCI,
USI, UCI-cyclone, and CECP/XBoard protocols.

Signed-off-by: Sergey Torokhov  yandex.ru>

 games-board/fairy-stockfish/Manifest   |   2 +
 .../fairy-stockfish/fairy-stockfish-14.ebuild  | 101 +
 games-board/fairy-stockfish/metadata.xml   |  18 
 3 files changed, 121 insertions(+)

diff --git a/games-board/fairy-stockfish/Manifest 
b/games-board/fairy-stockfish/Manifest
new file mode 100644
index 0..e4fff19a3
--- /dev/null
+++ b/games-board/fairy-stockfish/Manifest
@@ -0,0 +1,2 @@
+DIST fairy-stockfish-14.tar.gz 326041 BLAKE2B 
16c8f07e60a2df19d0c87c5acb2a5d0e9fe3ffcba5791ac36a7a35eebaaa01296f86a9cfbecc2916744c73c3d3f6f4ae03f2ea74759bfa96cb92c32f30b4
 SHA512 
7b684009447ddc0083cf356b1859215c11817a81892d887c1e47d34b26da5338a2f12846fac804995a2d21903ccc74132870a71bec46644ac0a8bba453ba7666
+DIST fairy-stockfish-test-syzygy-14.tar.gz 4201241 BLAKE2B 
0c4dd000b382dda233a6be0da2e5ce02651b83507143f6e79ab831f07e2d8b0a30dc700b1375ad3781cc86083538fed48bb59e0dd31f262dd19d25549205d09c
 SHA512 
16b000a93c0cdeaa188be37489f104781f34558ac806b5124716faf9ff6224e7f99e9ca92aa2bd16227a7664624aa8934ebeece80c94fd18c2785f523bc4c583

diff --git a/games-board/fairy-stockfish/fairy-stockfish-14.ebuild 
b/games-board/fairy-stockfish/fairy-stockfish-14.ebuild
new file mode 100644
index 0..8ea4cb783
--- /dev/null
+++ b/games-board/fairy-stockfish/fairy-stockfish-14.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Chess variant engine derived from Stockfish to support fairy 
chess variants"
+HOMEPAGE="https://github.com/ianfab/Fairy-Stockfish;
+
+MY_PV=$(ver_rs 1 _)
+
+SRC_URI="
+   
https://github.com/ianfab/Fairy-Stockfish/archive/fairy_sf_${MY_PV}.tar.gz -> 
${P}.tar.gz
+   test? ( 
https://api.github.com/repos/niklasf/python-chess/tarball/9b9aa13f9f36d08aadfabff872882f4ab1494e95
 -> ${PN}-test-syzygy-${PV}.tar.gz )
+"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_arm_v7 cpu_flags_x86_avx2 cpu_flags_x86_popcnt 
cpu_flags_x86_sse allvariants debug
+   general-32 general-64 largeboards +optimize python test"
+
+RESTRICT="!test? ( test )"
+
+DEPEND="
+   || ( app-arch/unzip app-arch/zip )
+   test? ( dev-tcltk/expect )
+"
+RDEPEND=""
+
+S="${WORKDIR}/Fairy-Stockfish-fairy_sf_${PV}/src"
+
+src_prepare() {
+   default
+
+   local item
+   use test && { mv -T ../../niklasf-python-chess-9b9aa13 ../tests/syzygy 
|| die; }
+   # Rename Stockfish to Fairy-Stockfish
+   sed -i -e 's:EXE = stockfish:EXE = fairy-stockfish:' Makefile || die
+   for item in ../tests/*.sh ; do
+   sed -i -e 's:./stockfish:./fairy-stockfish:' $item || 
die
+   done
+   # protocol.sh test 'ucci.exp' fails for timeout 5 but pass with 15
+   sed -i -e 's:timeout 5:timeout 15:' ../tests/protocol.sh || die
+   # instrumented.sh syzygy test runs infinitly with USE="largeboards", 
drop it
+   use largeboards && { sed -i -e '112,141d' ../tests/instrumented.sh || 
die; }
+
+   # prevent pre-stripping
+   sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile \
+   || die 'failed to disable stripping in the Makefile'
+}
+
+src_compile() {
+   local my_arch
+
+   # generic unoptimized first
+   use general-32 && my_arch=general-32
+   use general-64 && my_arch=general-64
+
+   # x86
+   use x86 && my_arch=x86-32-old
+   use cpu_flags_x86_sse && my_arch=x86-32
+
+   # amd64
+   use amd64 && my_arch=x86-64
+   use cpu_flags_x86_popcnt && my_arch=x86-64-modern
+
+   # both bmi2 and avx2 are part of hni (haswell new instructions)
+   use cpu_flags_x86_avx2 && my_arch=x86-64-bmi2
+
+   # other architectures
+   use cpu_flags_arm_v7 && my_arch=armv7
+   use ppc && my_arch=ppc
+   use ppc64 && my_arch=ppc64
+
+   # Skip the "build" target and use "all" instead to avoid the config
+   # sanity check (which would throw a fit about our compiler). There's
+   # a nice hack in the Makefile that overrides the value of CXX with
+   # COMPILER to support Travis CI