head 1.3; access; symbols pkgsrc-2026Q1:1.2.0.8 pkgsrc-2026Q1-base:1.2 pkgsrc-2025Q4:1.2.0.6 pkgsrc-2025Q4-base:1.2 pkgsrc-2025Q3:1.2.0.4 pkgsrc-2025Q3-base:1.2 pkgsrc-2025Q2:1.2.0.2 pkgsrc-2025Q2-base:1.2 pkgsrc-2025Q1:1.1.0.6 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.4 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.2 pkgsrc-2024Q3-base:1.1; locks; strict; comment @# @; 1.3 date 2026.04.16.13.02.33; author adam; state Exp; branches; next 1.2; commitid 0ftdvkIPXZrnubCG; 1.2 date 2025.04.15.16.02.34; author adam; state Exp; branches; next 1.1; commitid p8TlUGThjwKwfaRF; 1.1 date 2024.08.05.20.38.39; author adam; state Exp; branches; next ; commitid lLqR1sC9rmrrUFkF; desc @@ 1.3 log @py-dm-tree: updated to 0.1.10 0.1.10 Added support for Python 3.14. @ text @$NetBSD: patch-tree_CMakeLists.txt,v 1.2 2025/04/15 16:02:34 adam Exp $ Use system pybind11 and absl. https://github.com/google-deepmind/tree/pull/73 --- tree/CMakeLists.txt.orig 2026-03-31 14:56:46.000000000 +0000 +++ tree/CMakeLists.txt @@@@ -7,8 +7,8 @@@@ cmake_policy(SET CMP0135 NEW) project (tree LANGUAGES CXX) -option(USE_SYSTEM_ABSEIL "Force use of system abseil-cpp" OFF) -option(USE_SYSTEM_PYBIND11 "Force use of system pybind11" OFF) +option(USE_SYSTEM_ABSEIL "Force use of system abseil-cpp" ON) +option(USE_SYSTEM_PYBIND11 "Force use of system pybind11" ON) # Required for Python.h and python binding. find_package(Python3 COMPONENTS Interpreter Development) @@@@ -57,9 +57,6 @@@@ if(APPLE) set (CMAKE_FIND_FRAMEWORK LAST) endif() -# Use `FetchContent` module to manage all external dependencies (i.e. -# abseil-cpp and pybind11). -include(FetchContent) # Needed to disable Abseil tests. set(BUILD_TESTING OFF) @@@@ -70,45 +67,14 @@@@ if (USE_SYSTEM_ABSEIL) set(ABSEIL_FIND_PACKAGE_ARGS FIND_PACKAGE_ARGS) endif() -# Include abseil-cpp. -set(ABSEIL_REPO https://github.com/abseil/abseil-cpp) -set(ABSEIL_CMAKE_ARGS - "-DCMAKE_INSTALL_PREFIX=${CMAKE_SOURCE_DIR}/abseil-cpp" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}" - "-DLIBRARY_OUTPUT_PATH=${CMAKE_SOURCE_DIR}/abseil-cpp/lib" - "-DABSL_PROPAGATE_CXX_STD=ON") -if(DEFINED CMAKE_OSX_ARCHITECTURES) - set(ABSEIL_CMAKE_ARGS - ${ABSEIL_CMAKE_ARGS} - "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}") -endif() - -FetchContent_Declare( - absl - URL ${ABSEIL_REPO}/archive/refs/tags/20260107.1.tar.gz - URL_HASH SHA256=4314e2a7cbac89cac25a2f2322870f343d81579756ceff7f431803c2c9090195 - CMAKE_ARGS ${ABSEIL_CMAKE_ARGS} - EXCLUDE_FROM_ALL - ${ABSEIL_FIND_PACKAGE_ARGS}) - # Try to find pybind11 package system-wide first. if (USE_SYSTEM_PYBIND11) message(STATUS "Use system pybind11: ${USE_SYSTEM_PYBIND11}") set(PYBIND11_FIND_PACKAGE_ARGS FIND_PACKAGE_ARGS) endif() -FetchContent_Declare( - pybind11 - URL https://github.com/pybind/pybind11/archive/refs/tags/v3.0.1.tar.gz - URL_HASH SHA256=741633da746b7c738bb71f1854f957b9da660bcd2dce68d71949037f0969d0ca - ${PYBIND11_FIND_PACKAGE_ARGS}) - -FetchContent_MakeAvailable(absl pybind11) - +find_package(absl REQUIRED) +find_package(pybind11 REQUIRED CONFIG) # Define pybind11 tree module. pybind11_add_module(_tree tree.h tree.cc) @ 1.2 log @py-dm-tree: updated to 0.1.9 0.1.9 Dropped support for Python <3.10. @ text @d1 1 a1 1 $NetBSD: patch-tree_CMakeLists.txt,v 1.1 2024/08/05 20:38:39 adam Exp $ d6 1 a6 1 --- tree/CMakeLists.txt.orig 2025-01-30 17:23:48.000000000 +0000 d52 2 a53 2 - URL ${ABSEIL_REPO}/archive/refs/tags/20220623.2.tar.gz - URL_HASH SHA256=773652c0fc276bcd5c461668dc112d0e3b6cde499600bfe3499c5fdda4ed4a5b d66 2 a67 2 - URL https://github.com/pybind/pybind11/archive/refs/tags/v2.10.1.tar.gz - URL_HASH SHA256=111014b516b625083bef701df7880f78c2243835abdb263065b6b59b960b6bad d72 1 a73 1 +find_package(absl REQUIRED) @ 1.1 log @py-dm-tree: added version 0.1.8 tree is a library for working with nested data structures. In a way, tree generalizes the builtin map function which only supports flat sequences, and allows to apply a function to each "leaf" preserving the overall structure. @ text @d1 1 a1 1 $NetBSD$ d6 1 a6 1 --- tree/CMakeLists.txt.orig 2024-08-05 19:44:05.774867683 +0000 d8 13 a20 1 @@@@ -51,68 +51,12 @@@@ if(APPLE) d23 2 a24 2 # Fetch pybind to be able to use pybind11_add_module symbol. -set(PYBIND_VER v2.10.1) d26 7 a32 14 -FetchContent_Declare( - pybind11 - GIT_REPOSITORY https://github.com/pybind/pybind11 - GIT_TAG ${PYBIND_VER} -) -if(NOT pybind11_POPULATED) - FetchContent_Populate(pybind11) - add_subdirectory(${pybind11_SOURCE_DIR} ${pybind11_BINARY_DIR}) - include_directories(${pybind11_INCLUDE_DIR}) -endif() - -# Needed to disable Abseil tests. -set (BUILD_TESTING OFF) - d34 1 a34 2 -set(ABSEIL_VER 20210324.2) -include(ExternalProject) d36 8 a43 7 - "-DCMAKE_INSTALL_PREFIX=${CMAKE_SOURCE_DIR}/abseil-cpp" - "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}" - "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}" - "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}" - "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" - "-DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}" - "-DLIBRARY_OUTPUT_PATH=${CMAKE_SOURCE_DIR}/abseil-cpp/lib") d45 3 a47 3 - set(ABSEIL_CMAKE_ARGS - ${ABSEIL_CMAKE_ARGS} - "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}") d49 22 a70 9 -ExternalProject_Add(abseil-cpp - GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git - GIT_TAG ${ABSEIL_VER} - PREFIX ${CMAKE_SOURCE_DIR}/abseil-cpp - CMAKE_ARGS ${ABSEIL_CMAKE_ARGS} -) -ExternalProject_Get_Property(abseil-cpp install_dir) -set(abseil_install_dir ${install_dir}) -include_directories (${abseil_install_dir}/include) a73 1 a75 18 -add_dependencies(_tree abseil-cpp) - -if (WIN32 OR MSVC) - set(ABSEIL_LIB_PREF "absl") - set(LIB_SUFF "lib") -else() - set(ABSEIL_LIB_PREF "libabsl") - set(LIB_SUFF "a") -endif() - -# Link abseil static libs. -# We don't use find_library here to force cmake to build abseil before linking. -set(ABSEIL_LIBS int128 raw_hash_set raw_logging_internal strings throw_delegate) -foreach(ABSEIL_LIB IN LISTS ABSEIL_LIBS) - target_link_libraries(_tree PRIVATE - "${abseil_install_dir}/lib/${ABSEIL_LIB_PREF}_${ABSEIL_LIB}.${LIB_SUFF}") -endforeach() +target_link_libraries(_tree PRIVATE absl::int128 absl::raw_hash_set absl::raw_logging_internal absl::strings absl::throw_delegate) a76 2 # Make the module private to tree package. set_target_properties(_tree PROPERTIES OUTPUT_NAME tree/_tree) @