commit:     05190c754c274f995f3ff3bf6b06dcd37badc2ae
Author:     Jim Tupper <gentoo <AT> tupper <DOT> org <DOT> uk>
AuthorDate: Sat Mar 29 17:51:23 2025 +0000
Commit:     Yixun Lan <dlan <AT> gentoo <DOT> org>
CommitDate: Tue Apr  1 02:03:55 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=05190c75

dev-cpp/glaze: add 4.4.3

Dependency required for Hyprland 0.47

Signed-off-by: Jim Tupper <gentoo <AT> tupper.org.uk>
Signed-off-by: Yixun Lan <dlan <AT> gentoo.org>

 dev-cpp/glaze/Manifest                             |  1 +
 .../glaze/files/glaze-4.4.3-unbundle-asio.patch    | 23 +++++++++
 dev-cpp/glaze/files/glaze-4.4.3-unbundle-ut2.patch | 41 +++++++++++++++
 dev-cpp/glaze/glaze-4.4.3.ebuild                   | 59 ++++++++++++++++++++++
 dev-cpp/glaze/metadata.xml                         | 23 +++++++++
 5 files changed, 147 insertions(+)

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>[email protected]</email>
+               <name>Julien Roy</name>
+       </maintainer>
+       <maintainer type="project" proxied="proxy">
+               <email>[email protected]</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>

Reply via email to