diff options
Diffstat (limited to 'devel/stdgenerator')
-rw-r--r-- | devel/stdgenerator/Makefile | 27 | ||||
-rw-r--r-- | devel/stdgenerator/distinfo | 3 | ||||
-rw-r--r-- | devel/stdgenerator/files/patch-CMakeLists.txt | 47 | ||||
-rw-r--r-- | devel/stdgenerator/files/patch-cmake_stdgenerator-config.cmake.in | 4 | ||||
-rw-r--r-- | devel/stdgenerator/files/patch-include_CMakeLists.txt | 25 | ||||
-rw-r--r-- | devel/stdgenerator/files/patch-include_____generator.hpp | 19 | ||||
-rw-r--r-- | devel/stdgenerator/pkg-descr | 1 |
7 files changed, 126 insertions, 0 deletions
diff --git a/devel/stdgenerator/Makefile b/devel/stdgenerator/Makefile new file mode 100644 index 000000000000..0775d307e31e --- /dev/null +++ b/devel/stdgenerator/Makefile @@ -0,0 +1,27 @@ +PORTNAME= generator +DISTVERSIONPREFIX= v +DISTVERSION= 0.1 +CATEGORIES= devel +PKGNAMEPREFIX= std + +MAINTAINER= fluffy@FreeBSD.org +COMMENT= Reference implementation of std::generator proposal +WWW= https://github.com/lewissbaker/generator + +LICENSE= BSL +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= cmake compiler:c++20-lang + +INSTALL_TARGET= install + +USE_GITHUB= yes +GH_ACCOUNT= lewissbaker +GH_TAGNAME= 6ef0cca + +PLIST_FILES= include/__generator.hpp include/generator \ + lib/cmake/${PKGBASE}/${PKGBASE}-config-version.cmake \ + lib/cmake/${PKGBASE}/${PKGBASE}-config.cmake \ + lib/cmake/${PKGBASE}/${PKGBASE}-target.cmake + +.include <bsd.port.mk> diff --git a/devel/stdgenerator/distinfo b/devel/stdgenerator/distinfo new file mode 100644 index 000000000000..374a3ee7b27b --- /dev/null +++ b/devel/stdgenerator/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1758892471 +SHA256 (lewissbaker-generator-v0.1-6ef0cca_GH0.tar.gz) = 4e18ba7f213b6b323c728c152d079ee4ca1be7c6ee2af8be9e6d58af2bcaa887 +SIZE (lewissbaker-generator-v0.1-6ef0cca_GH0.tar.gz) = 9257 diff --git a/devel/stdgenerator/files/patch-CMakeLists.txt b/devel/stdgenerator/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..d85b2a1974b5 --- /dev/null +++ b/devel/stdgenerator/files/patch-CMakeLists.txt @@ -0,0 +1,47 @@ +--- CMakeLists.txt.orig 2025-01-31 23:53:04 UTC ++++ CMakeLists.txt +@@ -3,18 +3,34 @@ cmake_minimum_required(VERSION 3.12) + + cmake_minimum_required(VERSION 3.12) + +-project(stdgenerator LANGUAGES CXX +- VERSION 0.1) ++project(stdgenerator ++ LANGUAGES CXX ++ VERSION 0.1) + +-add_library(stdgenerator INTERFACE) +- +-target_include_directories(stdgenerator +- INTERFACE +- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/>) +- +-target_compile_features(stdgenerator INTERFACE cxx_std_20) +- ++include(CMakePackageConfigHelpers) ++include(CPack) ++include(GNUInstallDirs) + enable_testing() + include(CTest) + ++add_subdirectory("include") + add_subdirectory("tests") ++ ++install(EXPORT ${PROJECT_NAME}-target ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" ++ NAMESPACE "stdgenerator::" ++) ++ ++write_basic_package_version_file( ++ "${PROJECT_NAME}-config-version.cmake" COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT) ++ ++configure_package_config_file( ++ cmake/${PROJECT_NAME}-config.cmake.in ++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" ++ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" ++) ++ ++install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" ++ "${PROJECT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" ++) diff --git a/devel/stdgenerator/files/patch-cmake_stdgenerator-config.cmake.in b/devel/stdgenerator/files/patch-cmake_stdgenerator-config.cmake.in new file mode 100644 index 000000000000..5760bca89b1c --- /dev/null +++ b/devel/stdgenerator/files/patch-cmake_stdgenerator-config.cmake.in @@ -0,0 +1,4 @@ +--- cmake/stdgenerator-config.cmake.in.orig 2025-09-26 14:16:29 UTC ++++ cmake/stdgenerator-config.cmake.in +@@ -0,0 +1 @@ ++include("${CMAKE_CURRENT_LIST_DIR}/stdgenerator-target.cmake") diff --git a/devel/stdgenerator/files/patch-include_CMakeLists.txt b/devel/stdgenerator/files/patch-include_CMakeLists.txt new file mode 100644 index 000000000000..9602372e66fc --- /dev/null +++ b/devel/stdgenerator/files/patch-include_CMakeLists.txt @@ -0,0 +1,25 @@ +--- include/CMakeLists.txt.orig 2025-09-26 14:16:29 UTC ++++ include/CMakeLists.txt +@@ -0,0 +1,22 @@ ++add_library(stdgenerator INTERFACE) ++target_compile_features(stdgenerator INTERFACE cxx_std_20) ++target_sources( ++ stdgenerator ++ INTERFACE FILE_SET ++ "stdgenerator_headers" ++ TYPE ++ "HEADERS" ++ FILES ++ "__generator.hpp" ++ "generator") ++ ++include(GNUInstallDirs) ++ ++install( ++ TARGETS stdgenerator ++ EXPORT "stdgenerator-target" ++ FILE_SET "stdgenerator_headers") ++ ++if(NOT TARGET stdgenerator::stdgenerator) ++ add_library(stdgenerator::stdgenerator ALIAS stdgenerator) ++endif() diff --git a/devel/stdgenerator/files/patch-include_____generator.hpp b/devel/stdgenerator/files/patch-include_____generator.hpp new file mode 100644 index 000000000000..6a1b5a3c7554 --- /dev/null +++ b/devel/stdgenerator/files/patch-include_____generator.hpp @@ -0,0 +1,19 @@ +--- include/__generator.hpp.orig 2025-01-31 23:53:04 UTC ++++ include/__generator.hpp +@@ -36,6 +36,7 @@ using std::experimental::suspend_never; + #include <utility> + #include <concepts> + #include <cassert> ++#include <memory> + + #if __has_include(<ranges>) + # include <ranges> +@@ -309,7 +310,7 @@ class __promise_base_alloc { (public) + static void operator delete(void* __ptr, std::size_t __frameSize) noexcept { + _Alloc& __alloc = __get_allocator(__ptr, __frameSize); + _Alloc __localAlloc(std::move(__alloc)); +- __alloc.~Alloc(); ++ __alloc.~_Alloc(); + __localAlloc.deallocate(static_cast<std::byte*>(__ptr), __padded_frame_size(__frameSize)); + } + }; diff --git a/devel/stdgenerator/pkg-descr b/devel/stdgenerator/pkg-descr new file mode 100644 index 000000000000..1f56f4d69b3d --- /dev/null +++ b/devel/stdgenerator/pkg-descr @@ -0,0 +1 @@ +Reference implementation of std::generator proposal |