From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 7243615803E for ; Thu, 4 Jan 2024 15:46:56 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A691E2BC013; Thu, 4 Jan 2024 15:46:55 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 84C092BC013 for ; Thu, 4 Jan 2024 15:46:55 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 9D69A34308B for ; Thu, 4 Jan 2024 15:46:54 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id E14651082 for ; Thu, 4 Jan 2024 15:46:52 +0000 (UTC) From: "罗百科" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "罗百科" Message-ID: <1704383208.804b980d2d3c5c257ff0ebbb4603e6418e2861c5.patrick@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: games-board/stockfish/ X-VCS-Repository: repo/gentoo X-VCS-Files: games-board/stockfish/stockfish-16-r1.ebuild X-VCS-Directories: games-board/stockfish/ X-VCS-Committer: patrick X-VCS-Committer-Name: 罗百科 X-VCS-Revision: 804b980d2d3c5c257ff0ebbb4603e6418e2861c5 X-VCS-Branch: master Date: Thu, 4 Jan 2024 15:46:52 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 11e47f9e-dc28-4997-a8db-22ac96fee469 X-Archives-Hash: 086b790f50a90e7f93e90aa880e15371 commit: 804b980d2d3c5c257ff0ebbb4603e6418e2861c5 Author: Patrick Lauer gentoo org> AuthorDate: Thu Jan 4 15:45:07 2024 +0000 Commit: 罗百科 gentoo 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 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 +}