diff --git a/games/leela-zero/Makefile b/games/leela-zero/Makefile index d96e1b8e41b1..4dc7dc7eefa7 100644 --- a/games/leela-zero/Makefile +++ b/games/leela-zero/Makefile @@ -1,38 +1,37 @@ PORTNAME= leela-zero DISTVERSIONPREFIX= v -DISTVERSION= 0.17-30 -PORTREVISION= 13 -DISTVERSIONSUFFIX= -ge3ed631 +DISTVERSION= 0.17-31 +DISTVERSIONSUFFIX= -g3ee6d20 CATEGORIES= games MAINTAINER= yuri@FreeBSD.org COMMENT= Go engine without human-provided knowledge based on AlphaGo Zero paper WWW= https://github.com/leela-zero/leela-zero LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= opencl>0:devel/opencl LIB_DEPENDS= libboost_filesystem.so:devel/boost-libs \ libopenblas.so:math/openblas \ libOpenCL.so:devel/ocl-icd USES= cmake compiler:c++14-lang eigen:3 localbase qt:5 USE_GITHUB= yes GH_TUPLE= google:googletest:cafa9e5:gtest/gtest USE_QT= core widgets buildtools:build qmake:build CMAKE_ON= USE_BLAS BUILD_TESTING CMAKE_ARGS= -DBLAS_INCLUDE_DIRS:STRING=${LOCALBASE}/include PLIST_FILES= bin/autogtp \ bin/leelaz \ bin/validation do-test: @cd ${WRKSRC} && ${MKDIR} .build && ${CP} ../.build/tests .build && cd .build && ./tests download-weights: @${FETCH_CMD} https://zero.sjeng.org/best-network -o ~/.local/share/leela-zero/ .include diff --git a/games/leela-zero/distinfo b/games/leela-zero/distinfo index 54f1953de0ff..df4ee0557870 100644 --- a/games/leela-zero/distinfo +++ b/games/leela-zero/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1657669497 -SHA256 (leela-zero-leela-zero-v0.17-30-ge3ed631_GH0.tar.gz) = 138a4f286c50277c5e5ea88addf3b3e82139e75bbd84b306b554a3e05c11d55c -SIZE (leela-zero-leela-zero-v0.17-30-ge3ed631_GH0.tar.gz) = 1742019 +TIMESTAMP = 1755973751 +SHA256 (leela-zero-leela-zero-v0.17-31-g3ee6d20_GH0.tar.gz) = e26defc255bb22b9ec8cb3b8a212930d4c75ff81a0893a089bc8851331b1c51f +SIZE (leela-zero-leela-zero-v0.17-31-g3ee6d20_GH0.tar.gz) = 1742247 SHA256 (google-googletest-cafa9e5_GH0.tar.gz) = de929d57b8da874976473421fe562eb33764c836228c58e6ed5695900e06b640 SIZE (google-googletest-cafa9e5_GH0.tar.gz) = 970184 diff --git a/games/leela-zero/files/patch-CMakeLists.txt b/games/leela-zero/files/patch-CMakeLists.txt index 01934f1531ec..61e43aababae 100644 --- a/games/leela-zero/files/patch-CMakeLists.txt +++ b/games/leela-zero/files/patch-CMakeLists.txt @@ -1,52 +1,61 @@ ---- CMakeLists.txt.orig 2019-04-04 06:38:39 UTC +--- CMakeLists.txt.orig 2023-02-06 15:09:28 UTC +++ CMakeLists.txt -@@ -20,6 +20,8 @@ include(GNUInstallDirs) +@@ -20,6 +20,8 @@ add_subdirectory(gtest EXCLUDE_FROM_ALL) # We don't wa project(leelaz) add_subdirectory(gtest EXCLUDE_FROM_ALL) # We don't want to install gtest, exclude it from `all` +link_directories(${CMAKE_INSTALL_PREFIX}/lib) + # Required Packages set(Boost_MIN_VERSION "1.58.0") set(Boost_USE_MULTITHREADED ON) -@@ -70,13 +72,13 @@ if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_T +@@ -49,7 +51,7 @@ find_package(Qt5Core) + endif() + find_package(Qt5Core) + +-set(CMAKE_CXX_STANDARD 14) ++set(CMAKE_CXX_STANDARD 17) + set(CMAKE_CXX_STANDARD_REQUIRED on) + + # See if we can set optimization flags as expected. +@@ -70,13 +72,13 @@ if(GccSpecificFlags) endif(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE) if(GccSpecificFlags) - set(GCC_COMPILE_FLAGS "-Wall -Wextra -ffast-math -flto -march=native") + set(GCC_COMPILE_FLAGS "-Wall -Wextra -ffast-math") # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238514 set(GCC_DISABLED_WARNING_COMPILE_FLAGS "-Wno-ignored-attributes -Wno-maybe-uninitialized \ -Wno-mismatched-tags") set(GCC_FLAGS "${GCC_COMPILE_FLAGS} ${GCC_DISABLED_WARNING_COMPILE_FLAGS}") set(CMAKE_CXX_FLAGS_DEBUG "${GCC_FLAGS} -g -Og") set(CMAKE_CXX_FLAGS_RELEASE "${GCC_FLAGS} -g -O3 -DNDEBUG") - set(CMAKE_EXE_LINKER_FLAGS "-flto -g") + set(CMAKE_EXE_LINKER_FLAGS "-g") # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238514 endif(GccSpecificFlags) if(USE_CPU_ONLY) -@@ -86,7 +88,7 @@ if(USE_HALF) +@@ -86,7 +88,7 @@ endif() add_definitions(-DUSE_HALF) endif() -set(IncludePath "${CMAKE_CURRENT_SOURCE_DIR}/src" "${CMAKE_CURRENT_SOURCE_DIR}/src/Eigen") +set(IncludePath "${CMAKE_CURRENT_SOURCE_DIR}/src" "${CMAKE_INSTALL_PREFIX}/include/eigen3") set(SrcPath "${CMAKE_CURRENT_SOURCE_DIR}/src") include_directories(${IncludePath}) -@@ -130,6 +132,7 @@ else() +@@ -130,6 +132,7 @@ endif() endif() # Google Test below +if (BUILD_TESTING) file(GLOB tests_SRC "${SrcPath}/tests/*.cpp") add_executable(tests ${tests_SRC} $) -@@ -142,6 +145,7 @@ target_link_libraries(tests ${BLAS_LIBRARIES}) +@@ -142,6 +145,7 @@ target_link_libraries(tests gtest_main ${CMAKE_THREAD_ target_link_libraries(tests ${OpenCL_LIBRARIES}) target_link_libraries(tests ${ZLIB_LIBRARIES}) target_link_libraries(tests gtest_main ${CMAKE_THREAD_LIBS_INIT}) +endif(BUILD_TESTING) include(GetGitRevisionDescription) git_describe(VERSION --tags) diff --git a/games/leela-zero/files/patch-src_OpenCL.cpp b/games/leela-zero/files/patch-src_OpenCL.cpp index 7dcd9e6ee924..77776ec56922 100644 --- a/games/leela-zero/files/patch-src_OpenCL.cpp +++ b/games/leela-zero/files/patch-src_OpenCL.cpp @@ -1,11 +1,11 @@ ---- src/OpenCL.cpp.orig 2019-06-12 22:15:19 UTC +--- src/OpenCL.cpp.orig 2023-02-06 15:09:28 UTC +++ src/OpenCL.cpp -@@ -785,7 +785,7 @@ OpenCL::OpenCL(int gpu, bool silent) { +@@ -787,7 +787,7 @@ OpenCL::OpenCL(const int gpu, const bool silent bool preferred = (gpu == id); if (((this_score > best_score) - && (d.getInfo() != CL_DEVICE_TYPE_CPU)) + /*&& (d.getInfo() != CL_DEVICE_TYPE_CPU)*/) // Do not reject CPU-only OpenCL providers because some users only have that (ex. pocl) || preferred) { best_version = opencl_version; best_platform = p; diff --git a/games/leela-zero/files/patch-src_UCTNode.cpp b/games/leela-zero/files/patch-src_UCTNode.cpp new file mode 100644 index 000000000000..5e3452ef0353 --- /dev/null +++ b/games/leela-zero/files/patch-src_UCTNode.cpp @@ -0,0 +1,12 @@ +--- src/UCTNode.cpp.orig 2025-08-23 18:43:12 UTC ++++ src/UCTNode.cpp +@@ -361,8 +361,7 @@ UCTNode* UCTNode::uct_select_child(const int color, co + return best->get(); + } + +-class NodeComp +- : public std::binary_function { ++class NodeComp { + public: + NodeComp(const int color, const float lcb_min_visits) + : m_color(color), m_lcb_min_visits(lcb_min_visits) {}