summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-board/stockfish')
-rw-r--r--games-board/stockfish/Manifest1
-rw-r--r--games-board/stockfish/stockfish-9.ebuild69
2 files changed, 70 insertions, 0 deletions
diff --git a/games-board/stockfish/Manifest b/games-board/stockfish/Manifest
index 6a41b31c6686..a876fd75b485 100644
--- a/games-board/stockfish/Manifest
+++ b/games-board/stockfish/Manifest
@@ -1 +1,2 @@
DIST stockfish-8-src.zip 159017 BLAKE2B 01f2bf017a3e822e9a1cc35b3fd3a05a1e25e3acbc51b4b8ad9d9447eb5e35a8f8e313f72b4353e5ce1937ceb0aeb581a35d393e593fd0dd9851f149ea658b73 SHA512 4dcc8c6e975367e96d5b4e76c241094e1bade53fd19fa29320a5df10177ff5ae04844ca7ae9f9cfe929aa1341d898aabbbe523bbdab4c5beef75ca8332ce50c1
+DIST stockfish-9-src.zip 171925 BLAKE2B dacfe02525e2d78bf91a41bf2d22077ecb808566f87317382515aa14baade2c03c150ecd62ae026c5883321642330cd9beab50df35db3f1c7de18c8b84922ae0 SHA512 47b5dfea9e015dd68e33c8b1a131ed83710e4e5d67abe0c278a423f2940b07c7a5d661ce27915257ae3dad83fc2bb8e50d3d28bfa11a7c4cdf396d0378cd80f8
diff --git a/games-board/stockfish/stockfish-9.ebuild b/games-board/stockfish/stockfish-9.ebuild
new file mode 100644
index 000000000000..da7db78dbf0a
--- /dev/null
+++ b/games-board/stockfish/stockfish-9.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs
+
+DESCRIPTION="Free UCI chess engine, claimed to be the strongest in the world"
+HOMEPAGE="http://stockfishchess.org/"
+
+SRC_URI="https://stockfish.s3.amazonaws.com/${P}-src.zip"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="armv7 cpu_flags_x86_avx2 cpu_flags_x86_popcnt cpu_flags_x86_sse debug
+ general-32 general-64 +optimize"
+
+DEPEND="|| ( app-arch/unzip app-arch/zip )"
+RDEPEND=""
+
+S="${WORKDIR}/src"
+
+src_prepare() {
+ default
+
+ # 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 armv7 && 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.
+ emake all ARCH="${my_arch}" \
+ COMP=$(tc-getCXX) \
+ COMPILER=$(tc-getCXX) \
+ debug=$(usex debug "yes" "no") \
+ optimize=$(usex optimize "yes" "no")
+}
+
+src_install() {
+ dobin "${PN}"
+ dodoc ../AUTHORS ../Readme.md
+}