games-board/stockfish: bump up to 10, bug #688196
authorSergei Trofimovich <slyfox@gentoo.org>
Thu, 20 Jun 2019 06:55:51 +0000 (07:55 +0100)
committerSergei Trofimovich <slyfox@gentoo.org>
Thu, 20 Jun 2019 18:02:47 +0000 (19:02 +0100)
Reported-by: Sleepy Mario
Closes: https://bugs.gentoo.org/688196
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
games-board/stockfish/Manifest
games-board/stockfish/stockfish-10.ebuild [new file with mode: 0644]

index a876fd75b4853e7bac889928b0bced51ff998177..a979ab6f2d90bf59f8bc389786a0142f6a7e62b2 100644 (file)
@@ -1,2 +1,3 @@
+DIST stockfish-10-src.zip 174377 BLAKE2B 58142b16f59f15773c8811d6e10588dbc680c94cd504d26f4ca285dbe632d845ede06571e501a4e2b77adbb9b00d91978236ff179a46a73dc9a03cfa1ae3490c SHA512 959c4f3c497ba3108884dabc38de824f11781ae57b4ab5fdf25daf9a7fc0326e663adb1c081b8c8d57a7bf5f2e941369502a50a0c93135a001c6bd1af360d0f8
 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-10.ebuild b/games-board/stockfish/stockfish-10.ebuild
new file mode 100644 (file)
index 0000000..bf574d4
--- /dev/null
@@ -0,0 +1,69 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Free UCI chess engine, claimed to be the strongest in the world"
+HOMEPAGE="https://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
+}