diff options
| author | Jim Tupper <gentoo@tupper.org.uk> | 2025-03-29 17:51:23 +0000 |
|---|---|---|
| committer | Yixun Lan <dlan@gentoo.org> | 2025-04-01 10:03:55 +0800 |
| commit | 05190c754c274f995f3ff3bf6b06dcd37badc2ae (patch) | |
| tree | 1cfb47a74d067914c968107457a31725979681e9 /dev-cpp | |
| parent | d149652fb063c683e75be10e235f36ace97a59b3 (diff) | |
| download | gentoo-05190c754c274f995f3ff3bf6b06dcd37badc2ae.tar.gz gentoo-05190c754c274f995f3ff3bf6b06dcd37badc2ae.tar.bz2 gentoo-05190c754c274f995f3ff3bf6b06dcd37badc2ae.zip | |
dev-cpp/glaze: add 4.4.3
Dependency required for Hyprland 0.47
Signed-off-by: Jim Tupper <gentoo@tupper.org.uk>
Signed-off-by: Yixun Lan <dlan@gentoo.org>
Diffstat (limited to 'dev-cpp')
| -rw-r--r-- | dev-cpp/glaze/Manifest | 1 | ||||
| -rw-r--r-- | dev-cpp/glaze/files/glaze-4.4.3-unbundle-asio.patch | 23 | ||||
| -rw-r--r-- | dev-cpp/glaze/files/glaze-4.4.3-unbundle-ut2.patch | 41 | ||||
| -rw-r--r-- | dev-cpp/glaze/glaze-4.4.3.ebuild | 59 | ||||
| -rw-r--r-- | dev-cpp/glaze/metadata.xml | 23 |
5 files changed, 147 insertions, 0 deletions
diff --git a/dev-cpp/glaze/Manifest b/dev-cpp/glaze/Manifest new file mode 100644 index 000000000000..a3bf2f9f984e --- /dev/null +++ b/dev-cpp/glaze/Manifest @@ -0,0 +1 @@ +DIST glaze-4.4.3.tar.gz 555987 BLAKE2B 85ba2b1c3606e2d234ae15ff39c1a23daed511a42ff539c846635c6647a9446b9aabaf045135bb66894a2753343795149c7ceae3688c354254c2c0dbdbdbd585 SHA512 1ec8fd18ef716b4bc5fa1b3a9a7c7efc6da21a982a83cde20c65cbd12ba09e1e5d84e5d307ce0ef906e29bce302fde33dc2cca7aed2797e33452c8338ce3f372 diff --git a/dev-cpp/glaze/files/glaze-4.4.3-unbundle-asio.patch b/dev-cpp/glaze/files/glaze-4.4.3-unbundle-asio.patch new file mode 100644 index 000000000000..640bab929c39 --- /dev/null +++ b/dev-cpp/glaze/files/glaze-4.4.3-unbundle-asio.patch @@ -0,0 +1,23 @@ +diff --git a/tests/asio_repe/CMakeLists.txt b/tests/asio_repe/CMakeLists.txt +index 520a6fb..38d65ff 100644 +--- a/tests/asio_repe/CMakeLists.txt ++++ b/tests/asio_repe/CMakeLists.txt +@@ -1,14 +1,8 @@ + project(asio_repe) + +-FetchContent_Declare( +- asio +- GIT_REPOSITORY https://github.com/chriskohlhoff/asio.git +- GIT_TAG asio-1-30-1 +- GIT_SHALLOW TRUE +-) +-FetchContent_MakeAvailable(asio) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(asio GLOBAL IMPORTED_TARGET REQUIRED asio) + + add_executable(${PROJECT_NAME} ${PROJECT_NAME}.cpp) + +-target_include_directories(${PROJECT_NAME} PRIVATE include ${asio_SOURCE_DIR}/asio/include) +-target_link_libraries(${PROJECT_NAME} PRIVATE glz_test_exceptions) +\ No newline at end of file ++target_link_libraries(${PROJECT_NAME} PRIVATE glz_test_exceptions PkgConfig::asio) diff --git a/dev-cpp/glaze/files/glaze-4.4.3-unbundle-ut2.patch b/dev-cpp/glaze/files/glaze-4.4.3-unbundle-ut2.patch new file mode 100644 index 000000000000..bb269ac89217 --- /dev/null +++ b/dev-cpp/glaze/files/glaze-4.4.3-unbundle-ut2.patch @@ -0,0 +1,41 @@ +diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt +index 1eeeb7f..9c4e0b7 100644 +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -1,17 +1,9 @@ + include(FetchContent) + +-FetchContent_Declare( +- ut +- GIT_REPOSITORY https://github.com/openalgz/ut +- GIT_TAG v0.0.4 +- GIT_SHALLOW TRUE +-) ++find_package(ut2-glaze REQUIRED) + + message(STATUS "Fetching dependencies...") + set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL TRUE) +-set(CMAKE_SKIP_INSTALL_RULES ON CACHE BOOL "" FORCE) +-FetchContent_MakeAvailable(ut) +-set(CMAKE_SKIP_INSTALL_RULES OFF CACHE BOOL "" FORCE) + set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL FALSE) + message(STATUS "...finished fetching dependencies.") + +@@ -20,7 +12,7 @@ add_code_coverage_all_targets() + + add_library(glz_test_common INTERFACE) + target_compile_features(glz_test_common INTERFACE cxx_std_23) +-target_link_libraries(glz_test_common INTERFACE ut::ut glaze::glaze) ++target_link_libraries(glz_test_common INTERFACE ut2-glaze::ut2-glaze glaze::glaze) + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + target_compile_options(glz_test_common INTERFACE -fno-exceptions -fno-rtti) + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") +@@ -46,7 +38,7 @@ endif() + + add_library(glz_test_exceptions INTERFACE) + target_compile_features(glz_test_exceptions INTERFACE cxx_std_23) +-target_link_libraries(glz_test_exceptions INTERFACE ut::ut glaze::glaze) ++target_link_libraries(glz_test_exceptions INTERFACE ut2-glaze::ut2-glaze glaze::glaze) + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + target_compile_options(glz_test_exceptions INTERFACE) + target_compile_options(glz_test_exceptions INTERFACE -Wall -Wextra -pedantic) diff --git a/dev-cpp/glaze/glaze-4.4.3.ebuild b/dev-cpp/glaze/glaze-4.4.3.ebuild new file mode 100644 index 000000000000..0ceffb27e694 --- /dev/null +++ b/dev-cpp/glaze/glaze-4.4.3.ebuild @@ -0,0 +1,59 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Extremely fast, in memory, JSON and interface library for modern C++" +HOMEPAGE="https://github.com/stephenberry/glaze" +SRC_URI="https://github.com/stephenberry/glaze/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +S="${WORKDIR}/glaze-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc examples fuzzing test" +RESTRICT="!test? ( test )" + +DEPEND=" + test? ( + dev-cpp/ut2-glaze + dev-cpp/asio + >=dev-cpp/eigen-3.4 + ) +" +RDEPEND="${DEPEND}" +BDEPEND="dev-build/cmake" + +# Build patches from Arniiiii: https://github.com/gentoo-mirror/ex_repo +PATCHES=( + "${FILESDIR}/${P}-unbundle-ut2.patch" + "${FILESDIR}/${P}-unbundle-asio.patch" +) + +src_configure() { + local mycmakeargs=( + -DCMAKE_SKIP_INSTALL_RULES=OFF + -Dglaze_DEVELOPER_MODE=ON + -Dglaze_ENABLE_FUZZING=$(usex fuzzing ON OFF) + -Dglaze_BUILD_EXAMPLES=$(usex examples ON OFF) + -DBUILD_TESTING=$(usex test ON OFF) + + # my default: + -DFETCHCONTENT_QUIET=OFF + --log-level=DEBUG + ) + + cmake_src_configure + +} + +src_install() { + if use doc; then + einstalldocs + fi + + cmake_src_install +} diff --git a/dev-cpp/glaze/metadata.xml b/dev-cpp/glaze/metadata.xml new file mode 100644 index 000000000000..73764bca4883 --- /dev/null +++ b/dev-cpp/glaze/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>julien@jroy.ca</email> + <name>Julien Roy</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription> + Yet another library for C++ for parsing JSON. Uses SIMD as well. In some benchmarks is better than simdjson. + </longdescription> + <use> + <flag name="fuzzing">Build fuzzers (not install)</flag> + <flag name="doc">Install README files</flag> + <flag name="examples">Build examples (not install)</flag> + </use> + <upstream> + <remote-id type="github">stephenberry/glaze</remote-id> + </upstream> +</pkgmetadata> |
