summaryrefslogtreecommitdiff
path: root/dev-cpp/glaze
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-04-02 01:33:41 +0100
committerV3n3RiX <venerix@koprulu.sector>2025-04-02 01:33:41 +0100
commit6be74aaad3f65bab8561cebfef177dc28d802d9f (patch)
treea68f98ee3b67b95f841c93f5056c9b610fa4e6e2 /dev-cpp/glaze
parent9cb5d77a6732fadf391fd38da00e6921f3e23112 (diff)
gentoo auto-resync : 02:04:2025 - 01:33:40
Diffstat (limited to 'dev-cpp/glaze')
-rw-r--r--dev-cpp/glaze/Manifest5
-rw-r--r--dev-cpp/glaze/files/glaze-4.4.3-unbundle-asio.patch23
-rw-r--r--dev-cpp/glaze/files/glaze-4.4.3-unbundle-ut2.patch41
-rw-r--r--dev-cpp/glaze/glaze-4.4.3.ebuild59
-rw-r--r--dev-cpp/glaze/metadata.xml23
5 files changed, 151 insertions, 0 deletions
diff --git a/dev-cpp/glaze/Manifest b/dev-cpp/glaze/Manifest
new file mode 100644
index 000000000000..e6376f4ccb1b
--- /dev/null
+++ b/dev-cpp/glaze/Manifest
@@ -0,0 +1,5 @@
+AUX glaze-4.4.3-unbundle-asio.patch 825 BLAKE2B 31bbe478f466a3998f45b0761306794a4b5e1ce94bf7fe56a165c9894f654f87daf2e3b49acb17162a62867371b643a02b5e99a444b3b8cfcb923bad1d606475 SHA512 be7bee164b6e861c9e7b19abc25e274b1e91e3a7dfeebf5d92980f38212fb8e7933de187f855d52c50e1b200a6248e827146b9a598f61f42641b5df1be629a03
+AUX glaze-4.4.3-unbundle-ut2.patch 1672 BLAKE2B 8fa5046c944c72a53ab0c88b50d19c9c29f0d8b0e436860191d2d6c56f393264e106a1b2a28b63da035efc01f5643d382f4834bf900e88ce3ff0288ba9cda13d SHA512 4ff9899d012c49fad89d67c34cf65c94365f8cda19a06aa6a56d610bce5f8d572f07b857a503934462a8ce454e671b7ed370b96533eb84ee60fff7d354cb1b2d
+DIST glaze-4.4.3.tar.gz 555987 BLAKE2B 85ba2b1c3606e2d234ae15ff39c1a23daed511a42ff539c846635c6647a9446b9aabaf045135bb66894a2753343795149c7ceae3688c354254c2c0dbdbdbd585 SHA512 1ec8fd18ef716b4bc5fa1b3a9a7c7efc6da21a982a83cde20c65cbd12ba09e1e5d84e5d307ce0ef906e29bce302fde33dc2cca7aed2797e33452c8338ce3f372
+EBUILD glaze-4.4.3.ebuild 1175 BLAKE2B af52b93046bc122ff043a9173c639a1c10d05ba0d75d5c9f28e236cb484994ab407fc0b5d957e5c66895d80464a19b3a929686e705fe65ae7f0cf607d3a4d530 SHA512 ad1bf8dd868a85b8d1b3b767ac5ffb74c3bab7f8a18b25635e405a3396ea320b2e3af1bb833991b11144d12d27870f33fbc747bf61fd83570f6aad92fc56dc01
+MISC metadata.xml 802 BLAKE2B 6c8dd2c5b910acdbbfb00c594e015deecd132786bffdcc8a22fac5f3a326eead93f58c6f52eb6bf810d88c5df95e5a078d5a360a78538eefe8aff479e9b85709 SHA512 e531d13dff3c690fedda56a442ff117dc86d68246264af6d1b3109b29137133c9af53b951109dcfbbffa3c96c259704c9cfaabaf2ac826c1dcb37e4fcc4e11f0
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>