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 (4096 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 87C9C1580FD for ; Tue, 24 Dec 2024 04:54:40 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id AEF68E077C; Tue, 24 Dec 2024 04:54:39 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.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 6AECAE077C for ; Tue, 24 Dec 2024 04:54:39 +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 8EE6C33BE18 for ; Tue, 24 Dec 2024 04:54:38 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id EA0E11048 for ; Tue, 24 Dec 2024 04:54:36 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1735016033.be034d5a3ee5c8bd154874dc04faf33ae0d36003.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: games-board/stockfish/files/, games-board/stockfish/ X-VCS-Repository: repo/gentoo X-VCS-Files: games-board/stockfish/files/stockfish-17-gcc15.patch games-board/stockfish/stockfish-17-r1.ebuild X-VCS-Directories: games-board/stockfish/ games-board/stockfish/files/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: be034d5a3ee5c8bd154874dc04faf33ae0d36003 X-VCS-Branch: master Date: Tue, 24 Dec 2024 04:54:36 +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: 3ccfc3d6-602e-4c7d-a57c-3152a744a0d8 X-Archives-Hash: 465b6608c91894d6bc70120f56e4e65e commit: be034d5a3ee5c8bd154874dc04faf33ae0d36003 Author: Sam James gentoo org> AuthorDate: Tue Dec 24 04:53:42 2024 +0000 Commit: Sam James gentoo org> CommitDate: Tue Dec 24 04:53:53 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=be034d5a games-board/stockfish: EAPI 8, fix build w/ gcc-15 New revision in part because the previous code was wrong and it wasn't guaranteed to work correctly. Closes: https://bugs.gentoo.org/940504 Signed-off-by: Sam James gentoo.org> .../stockfish/files/stockfish-17-gcc15.patch | 40 +++++++++ games-board/stockfish/stockfish-17-r1.ebuild | 99 ++++++++++++++++++++++ 2 files changed, 139 insertions(+) diff --git a/games-board/stockfish/files/stockfish-17-gcc15.patch b/games-board/stockfish/files/stockfish-17-gcc15.patch new file mode 100644 index 000000000000..c92918335ada --- /dev/null +++ b/games-board/stockfish/files/stockfish-17-gcc15.patch @@ -0,0 +1,40 @@ +https://bugs.gentoo.org/940504 +https://github.com/official-stockfish/Stockfish/issues/5714 +https://github.com/official-stockfish/Stockfish/commit/1776448917e49b922a762d2d08c00a3f3be10205 + +From 1776448917e49b922a762d2d08c00a3f3be10205 Mon Sep 17 00:00:00 2001 +From: Disservin +Date: Fri, 13 Dec 2024 17:00:05 +0100 +Subject: [PATCH] Move Embedded Net Data out of Anon Namespace + +fixes https://github.com/official-stockfish/Stockfish/issues/5714 + +closes https://github.com/official-stockfish/Stockfish/pull/5715 + +No functional change +--- + src/nnue/network.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/nnue/network.cpp b/src/nnue/network.cpp +index 0a4452f6604..01cf2516d4a 100644 +--- a/nnue/network.cpp ++++ b/nnue/network.cpp +@@ -38,7 +38,6 @@ + #include "nnue_common.h" + #include "nnue_misc.h" + +-namespace { + // Macro to embed the default efficiently updatable neural network (NNUE) file + // data in the engine binary (using incbin.h, by Dale Weiler). + // This macro invocation will declare the following three variables +@@ -58,6 +57,8 @@ const unsigned char* const gEmbeddedNNUESmallEnd = &gEmbeddedNNUESmallData[1 + const unsigned int gEmbeddedNNUESmallSize = 1; + #endif + ++namespace { ++ + struct EmbeddedNNUE { + EmbeddedNNUE(const unsigned char* embeddedData, + const unsigned char* embeddedEnd, + diff --git a/games-board/stockfish/stockfish-17-r1.ebuild b/games-board/stockfish/stockfish-17-r1.ebuild new file mode 100644 index 000000000000..8f2125616f25 --- /dev/null +++ b/games-board/stockfish/stockfish-17-r1.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +NNUE_FILES="nn-1111cefa1111.nnue nn-37f18f62d772.nnue" +DESCRIPTION="Free UCI chess engine, claimed to be the strongest in the world" +HOMEPAGE="https://stockfishchess.org/" +SRC_URI="https://github.com/official-stockfish/Stockfish/archive/sf_${PV}.tar.gz -> ${P}.tar.gz" +for i in ${NNUE_FILES}; do + SRC_URI+=" https://tests.stockfishchess.org/api/nn/${i} -> ${P}-${i}" +done +S="${WORKDIR}/Stockfish-sf_${PV}/src" + +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" +IUSE+=" cpu_flags_x86_avx512dq debug general-32 general-64 +optimize" + +BDEPEND="|| ( app-arch/unzip app-arch/zip )" + +PATCHES=( + "${FILESDIR}"/${P}-gcc15.patch +) + +pkg_setup() { + if ! tc-is-clang && ! tc-is-gcc; then + die "Unsupported compiler: $(tc-getCC)" + fi +} + +src_prepare() { + default + + # remove config sanity check that doesn't like our COMPILER settings + sed -i -e 's/ config-sanity//g' Makefile || die + + for i in $NNUE_FILES; do + cp "${DISTDIR}"/${P}-${i} ${i} || die "copying the nnue file failed" + done + + # 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 + + # Bug 919781: COMP is a fixed string like clang/gcc to set tools for PGO + local comp + tc-is-gcc && comp="gcc" + tc-is-clang && comp="clang" + + # 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="${comp}" \ + COMPILER="$(tc-getCXX)" \ + debug=$(usex debug "yes" "no") \ + optimize=$(usex optimize "yes" "no") +} + +src_install() { + dobin "${PN}" + dodoc ../AUTHORS ../README.md +}