From: "罗百科" <patrick@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: games-board/stockfish/
Date: Thu, 4 Jan 2024 15:46:52 +0000 (UTC) [thread overview]
Message-ID: <1704383208.804b980d2d3c5c257ff0ebbb4603e6418e2861c5.patrick@gentoo> (raw)
commit: 804b980d2d3c5c257ff0ebbb4603e6418e2861c5
Author: Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 4 15:45:07 2024 +0000
Commit: 罗百科 <patrick <AT> gentoo <DOT> org>
CommitDate: Thu Jan 4 15:46:48 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=804b980d
games-board/stockfish: Enable avx512 support
Signed-off-by: Patrick Lauer <patrick <AT> gentoo.org>
games-board/stockfish/stockfish-16-r1.ebuild | 83 ++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)
diff --git a/games-board/stockfish/stockfish-16-r1.ebuild b/games-board/stockfish/stockfish-16-r1.ebuild
new file mode 100644
index 000000000000..a6734bf75de8
--- /dev/null
+++ b/games-board/stockfish/stockfish-16-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 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/"
+
+NNUE_FILE="nn-5af11540bbfe.nnue"
+
+SRC_URI="https://github.com/official-stockfish/Stockfish/archive/sf_${PV}.tar.gz -> ${P}.tar.gz
+ https://tests.stockfishchess.org/api/nn/${NNUE_FILE} -> ${P}-${NNUE_FILE}"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="cpu_flags_arm_v7 cpu_flags_x86_avx2 cpu_flags_x86_popcnt cpu_flags_x86_sse cpu_flags_x86_avx512f
+ cpu_flags_x86_avx512dq debug general-32 general-64 +optimize"
+
+DEPEND="|| ( app-arch/unzip app-arch/zip )"
+RDEPEND=""
+
+S="${WORKDIR}/Stockfish-sf_${PV}/src"
+
+src_prepare() {
+ default
+
+ # remove config sanity check that doesn't like our COMPILER settings
+ sed -i -e 's/ config-sanity//g' Makefile || die
+
+ cp "${DISTDIR}"/${P}-${NNUE_FILE} ${NNUE_FILE} || die "copying the nnue file failed"
+
+ # prevent pre-stripping
+ sed -e 's:-strip $(BINDIR)/$(EXE)::' -i Makefile \
+ || die 'failed to disable stripping in the Makefile'
+
+ # Makefile is a bit optimistic
+ sed -e 's:-flto=full:-flto:g' -i Makefile || die
+}
+
+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
+
+ # avx512
+ # we currently can't express 'avx512vnni' 'avx512dq' 'avx512f' 'avx512bw' 'avx512vl'
+ # so only enable basic support
+ use cpu_flags_x86_avx512f && use cpu_flags_x86_avx512dq && my_arch=x86-64-avx512
+
+ # other architectures
+ use cpu_flags_arm_v7 && my_arch=armv7
+ use ppc && my_arch=ppc
+ use ppc64 && my_arch=ppc64
+
+ # 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 profile-build 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
+}
next reply other threads:[~2024-01-04 15:46 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-04 15:46 罗百科 [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-11-23 16:54 [gentoo-commits] repo/gentoo:master commit in: games-board/stockfish/ Sam James
2024-10-27 4:05 Sam James
2024-10-27 2:53 Sam James
2024-09-13 14:25 Patrick Lauer
2024-08-02 8:03 Matthias Maier
2024-07-04 4:55 Matthias Maier
2024-02-25 7:51 Patrick Lauer
2024-02-25 7:51 Patrick Lauer
2024-02-25 7:51 Patrick Lauer
2023-11-15 5:24 Sam James
2023-07-01 16:34 罗百科
2023-06-04 10:54 WANG Xuerui
2022-12-06 16:23 罗百科
2022-09-30 11:51 Agostino Sarubbo
2022-09-29 19:59 Sam James
2022-04-20 16:51 罗百科
2022-04-20 8:02 罗百科
2022-03-20 0:26 Sam James
2021-10-30 7:11 罗百科
2021-07-03 19:06 罗百科
2021-05-17 7:49 Agostino Sarubbo
2021-05-17 7:47 Agostino Sarubbo
2021-03-01 0:40 Matthias Maier
2021-03-01 0:40 Matthias Maier
2020-02-28 2:00 Matthias Maier
2020-02-28 1:17 Matthias Maier
2020-02-28 1:17 Matthias Maier
2020-02-28 1:17 Matthias Maier
2019-07-02 11:56 Agostino Sarubbo
2019-07-02 10:33 Agostino Sarubbo
2019-06-20 18:02 Sergei Trofimovich
2018-06-11 16:28 Aaron Bauman
2017-01-27 9:07 Agostino Sarubbo
2017-01-27 9:02 Agostino Sarubbo
2017-01-26 19:48 Matthias Maier
2016-11-17 5:20 Matthias Maier
2016-11-17 5:20 Matthias Maier
2016-08-25 0:03 Michael Orlitzky
2016-07-07 19:48 Austin English
2016-05-28 10:52 Pacho Ramos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1704383208.804b980d2d3c5c257ff0ebbb4603e6418e2861c5.patrick@gentoo \
--to=patrick@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox