Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package stockfish for openSUSE:Factory checked in at 2024-02-26 19:47:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/stockfish (Old) and /work/SRC/openSUSE:Factory/.stockfish.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "stockfish" Mon Feb 26 19:47:10 2024 rev:14 rq:1151318 version:16.1 Changes: -------- --- /work/SRC/openSUSE:Factory/stockfish/stockfish.changes 2022-12-06 16:58:09.069616203 +0100 +++ /work/SRC/openSUSE:Factory/.stockfish.new.1770/stockfish.changes 2024-02-26 19:47:54.255360498 +0100 @@ -1,0 +2,18 @@ +Mon Feb 26 12:09:26 UTC 2024 - Michael Vetter <mvet...@suse.com> + +- Update to 16.1: + * In our testing against its predecessor, Stockfish 16.1 shows a + notable improvement in performance, with an Elo gain of up to + 27 points and winning over 2 times more game pairs than it loses. + * Updated neural network architecture: The neural network architecture + has undergone two updates and is currently in its 8th version. + * Removal of handcrafted evaluation (HCE): This release marks the + removal of the traditional handcrafted evaluation and the transition + to a fully neural network-based approach. + * Dual NNUE: For the first time, Stockfish includes a secondary neural + network, used to quickly evaluate positions that are easily decided. + * Use NNUE and UCI_AnalyseMode have been removed as they no longer had + any effect. SlowMover has also been removed in favor of Move Overhead. +- Use %autosetup macro. Allows to eliminate the usage of deprecated PatchN. + +------------------------------------------------------------------- Old: ---- Stockfish-sf_15.1.tar.gz nn-ad9b42354671.nnue New: ---- Stockfish-sf_16.1.tar.gz nn-b1a57edbea57.nnue nn-baff1ede1f90.nnue ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ stockfish.spec ++++++ --- /var/tmp/diff_new_pack.GT5kPD/_old 2024-02-26 19:47:55.595408943 +0100 +++ /var/tmp/diff_new_pack.GT5kPD/_new 2024-02-26 19:47:55.599409087 +0100 @@ -1,7 +1,7 @@ # # spec file for package stockfish # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,15 +17,17 @@ # See evaluate.h > EvalFileDefaultName -%define nnuenet nn-ad9b42354671.nnue +%define nnuenetS nn-baff1ede1f90.nnue +%define nnuenetB nn-b1a57edbea57.nnue Name: stockfish -Version: 15.1 +Version: 16.1 Release: 0 Summary: Chess engine License: GPL-3.0-or-later URL: https://stockfishchess.org Source0: https://github.com/official-stockfish/Stockfish/archive/sf_%{version}.tar.gz#/Stockfish-sf_%{version}.tar.gz -Source1: https://tests.stockfishchess.org/api/nn/%{nnuenet} +Source1: https://tests.stockfishchess.org/api/nn/%{nnuenetS} +Source2: https://tests.stockfishchess.org/api/nn/%{nnuenetB} # steal some documentation from ubuntu Source10: %{name}-interface.txt Source11: %{name}.6-20091204230329-yljoyxocuxhxg1ot-76/%{name}.6 @@ -51,10 +53,9 @@ information about how to use Stockfish with your GUI. %prep -%setup -q -n Stockfish-sf_%{version} -%patch0 -p1 -%patch1 -p1 +%autosetup -p1 -n Stockfish-sf_%{version} cp %{SOURCE1} src/ +cp %{SOURCE2} src/ cp -p %{SOURCE10} %{SOURCE11} . dos2unix %{name}-interface.txt ++++++ Stockfish-sf_15.1.tar.gz -> Stockfish-sf_16.1.tar.gz ++++++ ++++ 30269 lines of diff (skipped) ++++++ date.patch ++++++ --- /var/tmp/diff_new_pack.GT5kPD/_old 2024-02-26 19:47:55.727413715 +0100 +++ /var/tmp/diff_new_pack.GT5kPD/_new 2024-02-26 19:47:55.731413859 +0100 @@ -1,19 +1,20 @@ -Index: Stockfish-sf_15.1/src/misc.cpp +Index: Stockfish-sf_16.1/src/misc.cpp =================================================================== ---- Stockfish-sf_15.1.orig/src/misc.cpp -+++ Stockfish-sf_15.1/src/misc.cpp -@@ -156,13 +156,6 @@ string engine_info(bool to_uci) { - ss << "-"; - #ifdef GIT_DATE - ss << GIT_DATE; -- #else -- const string months("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"); -- string month, day, year; -- stringstream date(__DATE__); // From compiler, format is "Sep 21 2008" +--- Stockfish-sf_16.1.orig/src/misc.cpp ++++ Stockfish-sf_16.1/src/misc.cpp +@@ -166,14 +166,6 @@ std::string engine_info(bool to_uci) { + ss << "-"; + #ifdef GIT_DATE + ss << stringify(GIT_DATE); +-#else +- constexpr std::string_view months("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"); +- std::string month, day, year; +- std::stringstream date(__DATE__); // From compiler, format is "Sep 21 2008" - -- date >> month >> day >> year; -- ss << year << setw(2) << setfill('0') << (1 + months.find(month) / 4) << setw(2) << setfill('0') << day; - #endif +- date >> month >> day >> year; +- ss << year << std::setw(2) << std::setfill('0') << (1 + months.find(month) / 4) +- << std::setw(2) << std::setfill('0') << day; + #endif - ss << "-"; + ss << "-"; ++++++ stockfish-remove-net.patch ++++++ --- /var/tmp/diff_new_pack.GT5kPD/_old 2024-02-26 19:47:55.779415594 +0100 +++ /var/tmp/diff_new_pack.GT5kPD/_new 2024-02-26 19:47:55.783415739 +0100 @@ -1,23 +1,30 @@ -Index: Stockfish-sf_15.1/src/Makefile +Index: Stockfish-sf_16.1/src/Makefile =================================================================== ---- Stockfish-sf_15.1.orig/src/Makefile -+++ Stockfish-sf_15.1/src/Makefile -@@ -748,7 +748,6 @@ help: - @echo "" +--- Stockfish-sf_16.1.orig/src/Makefile ++++ Stockfish-sf_16.1/src/Makefile +@@ -806,7 +806,6 @@ help: @echo "help > Display architecture details" - @echo "build > Standard build" -- @echo "net > Download the default nnue net" - @echo "profile-build > Faster build (with profile-guided optimization)" + @echo "profile-build > standard build with profile-guided optimization" + @echo "build > skip profile-guided optimization" +- @echo "net > Download the default nnue nets" @echo "strip > Strip executable" @echo "install > Install executable" -@@ -810,14 +809,14 @@ else + @echo "clean > Clean up" +@@ -867,20 +866,20 @@ ifneq ($(SUPPORTED_ARCH), true) endif --.PHONY: help build profile-build strip install clean net objclean profileclean \ -+.PHONY: help build profile-build strip install clean objclean profileclean \ - config-sanity icc-profile-use icc-profile-make gcc-profile-use gcc-profile-make \ - clang-profile-use clang-profile-make FORCE +-.PHONY: help analyze build profile-build strip install clean net \ ++.PHONY: help analyze build profile-build strip install clean \ + objclean profileclean config-sanity \ + icx-profile-use icx-profile-make \ + gcc-profile-use gcc-profile-make \ + clang-profile-use clang-profile-make FORCE \ + format analyze + +-analyze: net config-sanity objclean ++analyze: config-sanity objclean + $(MAKE) -k ARCH=$(ARCH) COMP=$(COMP) $(OBJS) -build: net config-sanity +build: config-sanity @@ -28,54 +35,66 @@ @echo "" @echo "Step 1/4. Building instrumented executable ..." $(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_make) -@@ -844,40 +843,6 @@ install: - clean: objclean profileclean - @rm -f .depend *~ core - --# evaluation network (nnue) --net: -- $(eval nnuenet := $(shell grep EvalFileDefaultName evaluate.h | grep define | sed 's/.*\(nn-[a-z0-9]\{12\}.nnue\).*/\1/')) +@@ -922,44 +921,6 @@ profileclean: + @rm -f stockfish.res + @rm -f ./-lstdc++.res + +-define fetch_network - @echo "Default net: $(nnuenet)" -- $(eval nnuedownloadurl1 := https://tests.stockfishchess.org/api/nn/$(nnuenet)) -- $(eval nnuedownloadurl2 := https://github.com/official-stockfish/networks/raw/master/$(nnuenet)) -- $(eval curl_or_wget := $(shell if hash curl 2>/dev/null; then echo "curl -skL"; elif hash wget 2>/dev/null; then echo "wget -qO-"; fi)) - @if [ "x$(curl_or_wget)" = "x" ]; then \ -- echo "Automatic download failed: neither curl nor wget is installed. Install one of these tools or download the net manually"; exit 1; \ -- fi -- $(eval shasum_command := $(shell if hash shasum 2>/dev/null; then echo "shasum -a 256 "; elif hash sha256sum 2>/dev/null; then echo "sha256sum "; fi)) +- echo "Neither curl nor wget is installed. Install one of these tools unless the net has been downloaded manually"; \ +- fi - @if [ "x$(shasum_command)" = "x" ]; then \ -- echo "shasum / sha256sum not found, skipping net validation"; \ -- fi +- echo "shasum / sha256sum not found, skipping net validation"; \ +- elif test -f "$(nnuenet)"; then \ +- if [ "$(nnuenet)" != "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \ +- echo "Removing invalid network"; rm -f $(nnuenet); \ +- fi; \ +- fi; - @for nnuedownloadurl in "$(nnuedownloadurl1)" "$(nnuedownloadurl2)"; do \ -- if test -f "$(nnuenet)"; then \ -- echo "$(nnuenet) available."; \ -- else \ -- if [ "x$(curl_or_wget)" != "x" ]; then \ -- echo "Downloading $${nnuedownloadurl}"; $(curl_or_wget) $${nnuedownloadurl} > $(nnuenet);\ -- fi; \ -- fi; \ -- if [ "x$(shasum_command)" != "x" ]; then \ -- if [ "$(nnuenet)" != "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \ -- echo "Removing failed download"; rm -f $(nnuenet); \ -- else \ -- echo "Network validated"; break; \ -- fi; \ -- fi; \ +- if test -f "$(nnuenet)"; then \ +- echo "$(nnuenet) available : OK"; break; \ +- else \ +- if [ "x$(curl_or_wget)" != "x" ]; then \ +- echo "Downloading $${nnuedownloadurl}"; $(curl_or_wget) $${nnuedownloadurl} > $(nnuenet);\ +- else \ +- echo "No net found and download not possible"; exit 1;\ +- fi; \ +- fi; \ +- if [ "x$(shasum_command)" != "x" ]; then \ +- if [ "$(nnuenet)" != "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \ +- echo "Removing failed download"; rm -f $(nnuenet); \ +- fi; \ +- fi; \ - done - @if ! test -f "$(nnuenet)"; then \ -- echo "Failed to download $(nnuenet)."; \ -- fi +- echo "Failed to download $(nnuenet)."; \ +- fi; +- @if [ "x$(shasum_command)" != "x" ]; then \ +- if [ "$(nnuenet)" = "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \ +- echo "Network validated"; break; \ +- fi; \ +- fi; +-endef - - # clean binaries and objects - objclean: - @rm -f stockfish stockfish.exe *.o ./syzygy/*.o ./nnue/*.o ./nnue/features/*.o -@@ -901,7 +866,7 @@ default: + # set up shell variables for the net stuff + define netvariables + $(eval nnuenet := $(shell grep $(1) evaluate.h | grep define | sed 's/.*\(nn-[a-z0-9]\{12\}.nnue\).*/\1/')) +@@ -989,7 +950,7 @@ default: all: $(EXE) .depend -config-sanity: net -+config-sanity: ++config-sanity: @echo "" @echo "Config:" @echo "debug: '$(debug)'" +@@ -1098,6 +1059,6 @@ icx-profile-use: + .depend: $(SRCS) + -@$(CXX) $(DEPENDFLAGS) -MM $(SRCS) > $@ 2> /dev/null + +-ifeq (, $(filter $(MAKECMDGOALS), help strip install clean net objclean profileclean config-sanity)) ++ifeq (, $(filter $(MAKECMDGOALS), help strip install clean objclean profileclean config-sanity)) + -include .depend + endif