summaryrefslogtreecommitdiff
path: root/dev-cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/libjson-rpc-cpp/files/libjson-rpc-cpp-1.4.0-cmake.patch33
-rw-r--r--dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.4.0-r1.ebuild71
-rw-r--r--dev-cpp/nlohmann_json/Manifest1
-rw-r--r--dev-cpp/nlohmann_json/nlohmann_json-3.12.0.ebuild66
-rw-r--r--dev-cpp/string-theory/Manifest1
-rw-r--r--dev-cpp/string-theory/files/string-theory-3.9-unbundle-gtest.patch18
-rw-r--r--dev-cpp/string-theory/string-theory-3.9.ebuild36
7 files changed, 226 insertions, 0 deletions
diff --git a/dev-cpp/libjson-rpc-cpp/files/libjson-rpc-cpp-1.4.0-cmake.patch b/dev-cpp/libjson-rpc-cpp/files/libjson-rpc-cpp-1.4.0-cmake.patch
new file mode 100644
index 000000000000..d2fef7ddf61a
--- /dev/null
+++ b/dev-cpp/libjson-rpc-cpp/files/libjson-rpc-cpp-1.4.0-cmake.patch
@@ -0,0 +1,33 @@
+Bump CMake minimum version, delete obsolete policy that's related to MacOS and
+doesn't worry us
+https://bugs.gentoo.org/951671
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 3.0)
++cmake_minimum_required(VERSION 3.5)
+
+ # setup directory where we should look for cmake files
+ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
+--- a/src/catch/CMakeLists.txt
++++ b/src/catch/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 2.8)
++cmake_minimum_required(VERSION 3.5)
+ project(catch_builder CXX)
+ include(ExternalProject)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,11 +16,6 @@
+ cmake_policy(SET CMP0007 NEW)
+ cmake_policy(SET CMP0012 NEW)
+
+-if (${CMAKE_MAJOR_VERSION} GREATER 2)
+- # old policy do not use MACOSX_RPATH
+- cmake_policy(SET CMP0042 OLD)
+-endif()
+-
+ set(MAJOR_VERSION 1)
+ set(MINOR_VERSION 4)
+ set(PATCH_VERSION 0)
diff --git a/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.4.0-r1.ebuild b/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.4.0-r1.ebuild
new file mode 100644
index 000000000000..1fc83dd9bbff
--- /dev/null
+++ b/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.4.0-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="JSON-RPC (1.0 & 2.0) framework for C++"
+HOMEPAGE="https://github.com/cinemast/libjson-rpc-cpp/"
+SRC_URI="
+ https://github.com/cinemast/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86"
+IUSE="+http-client +http-server redis-client redis-server +stubgen test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-libs/jsoncpp:=
+ http-client? ( net-misc/curl:= )
+ http-server? ( net-libs/libmicrohttpd:= )
+ redis-client? ( dev-libs/hiredis:= )
+ redis-server? ( dev-libs/hiredis:= )
+ stubgen? ( dev-libs/argtable:= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ <dev-cpp/catch-3
+ )
+"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ -DHTTP_CLIENT=$(usex http-client)
+ -DHTTP_SERVER=$(usex http-server)
+ -DREDIS_CLIENT=$(usex redis-client)
+ -DREDIS_SERVER=$(usex redis-server)
+ # they have no deps
+ -DTCP_SOCKET_CLIENT=ON
+ -DTCP_SOCKET_SERVER=ON
+ -DSERIAL_PORT_CLIENT=ON
+ -DSERIAL_PORT_SERVER=ON
+ -DUNIX_DOMAIN_SOCKET_CLIENT=ON
+ -DUNIX_DOMAIN_SOCKET_SERVER=ON
+ # they are not installed
+ -DCOMPILE_EXAMPLES=OFF
+ -DCOMPILE_STUBGEN=$(usex stubgen)
+ -DCOMPILE_TESTS=$(usex test)
+ # disable coverage-related flags
+ -DWITH_COVERAGE=OFF
+ )
+ use test && mycmakeargs+=(
+ -DCATCH_INCLUDE_DIR="${EPREFIX}/usr/include"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ # Tests fail randomly when run in parallel
+ local MAKEOPTS=-j1
+ cmake_src_test
+}
diff --git a/dev-cpp/nlohmann_json/Manifest b/dev-cpp/nlohmann_json/Manifest
index f38b35af77fe..5c2f24115e2b 100644
--- a/dev-cpp/nlohmann_json/Manifest
+++ b/dev-cpp/nlohmann_json/Manifest
@@ -1,4 +1,5 @@
DIST nlohmann_json-3.10.2.tar.gz 7054440 BLAKE2B e7da213fb75d528b1f5425822f5b598e882f232a67670aaae2d8f89c76e72ee23fa3344d1acfef2b0338a6a423d17b231b7e047ff064c984c2ec7783b721a22c SHA512 9a399dfc8aab19c9fc12470e8087895b1c05d48a9bcc731b483d8670c361cffb2adc3ccced822b7f17255e88387a441d619c4e1f1afeb702d1d035ad24fe22ed
DIST nlohmann_json-3.11.3.tar.gz 8053705 BLAKE2B 872f67e44d3003c9d8c9e5ca4674a357883d7341e3943a7694812af8c853fe5da65fbbe0cc986b634c7cbca12082a064fcf8e40d4d06e6b990f031ea47c21db5 SHA512 7df19b621de34f08d5d5c0a25e8225975980841ef2e48536abcf22526ed7fb99f88ad954a2cb823115db59ccc88d1dbe74fe6c281b5644b976b33fb78db9d717
+DIST nlohmann_json-3.12.0.tar.gz 9678593 BLAKE2B db4310eeecee130a73f6dd774367104d0631e25af8bf507185c708598f2b9af67fc8387fe2b93bb27b91859518bf6c81c91dbde301e3c1a717aae6866e257e3d SHA512 6cc1e86261f8fac21cc17a33da3b6b3c3cd5c116755651642af3c9e99bb3538fd42c1bd50397a77c8fb6821bc62d90e6b91bcdde77a78f58f2416c62fc53b97d
DIST nlohmann_json-testdata-3.0.0.tar.gz 112348454 BLAKE2B f0a47b41805bf1426f612e9a82efea2a3e5b1c15740c1c531d859e60dc5daeb85209b4fe363fd8fb84e3bbf01a2578c74538ba3e769726494047979f5a4d468d SHA512 d9af8419b837c592ec7519cd5772651c761078a9c43cf2a309cee55c323aee0df0c233fb58a07d5ee2e77492ac8b16398de234b387eae037a60e3c9ba5b08891
DIST nlohmann_json-testdata-3.1.0.tar.gz 115036393 BLAKE2B 809be0728a0b9d007fcc752911bdf6f7e548d6e3ec59871ea2b16d87d8248ca4dd2f681a1d0f82c618463294188ad41d6d965b8bdc39c70fdcf4b939d4121e9c SHA512 db6c411b37f2154f5dd1ed90f4e8fa0907f4a736cd0ff79943bcacf9da422285ff142bb6a7dc6022b236090083166ac1ab197be3f480d8dc50b26a91a9477821
diff --git a/dev-cpp/nlohmann_json/nlohmann_json-3.12.0.ebuild b/dev-cpp/nlohmann_json/nlohmann_json-3.12.0.ebuild
new file mode 100644
index 000000000000..75276652d6fc
--- /dev/null
+++ b/dev-cpp/nlohmann_json/nlohmann_json-3.12.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+#DOCS_BUILDER="mkdocs"
+# Needs unpackaged plantuml-markdown too
+# ... but plantuml (Python bindings anyway) need network access to generate bits at runtime.
+#DOCS_DEPEND="dev-python/mkdocs-material-extensions dev-python/mkdocs-minify-plugin"
+#DOCS_DIR="doc/mkdocs"
+inherit cmake
+
+# Check https://github.com/nlohmann/json/blob/develop/cmake/download_test_data.cmake to find test archive version
+TEST_VERSION="3.1.0"
+DESCRIPTION="JSON for Modern C++"
+HOMEPAGE="https://github.com/nlohmann/json https://nlohmann.github.io/json/"
+SRC_URI="
+ https://github.com/nlohmann/json/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ test? ( https://github.com/nlohmann/json_test_data/archive/v${TEST_VERSION}.tar.gz -> ${PN}-testdata-${TEST_VERSION}.tar.gz )
+"
+S="${WORKDIR}/json-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DOCS=( ChangeLog.md README.md )
+
+src_prepare() {
+ if use test ; then
+ ln -s "${WORKDIR}"/json_test_data-${TEST_VERSION} "${S}"/json_test_data || die
+ fi
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Tests are built by default so we can't group the test logic below
+ local mycmakeargs=(
+ -DJSON_MultipleHeaders=ON
+ -DJSON_BuildTests=$(usex test)
+ )
+
+ # Define test data directory here to avoid unused var QA warning, bug #747826
+ use test && mycmakeargs+=( -DJSON_TestDataDirectory="${S}"/json_test_data )
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/tests || die
+
+ # git_required:
+ # Skip certain tests needing git per upstream
+ # https://github.com/nlohmann/json/issues/2189
+ #
+ # cmake_fetch_content_configure, cmake_fetch_content2_configure:
+ # Needs network (bug #865027, bug #865105)
+ local myctestargs=(
+ -E "(git_required|cmake_fetch_content_configure|cmake_fetch_content2_configure|cmake_fetch_content_build|cmake_fetch_content2_build)"
+ )
+
+ cmake_src_test
+}
diff --git a/dev-cpp/string-theory/Manifest b/dev-cpp/string-theory/Manifest
index b1a156c5f269..2dc8ad7b7d75 100644
--- a/dev-cpp/string-theory/Manifest
+++ b/dev-cpp/string-theory/Manifest
@@ -1,2 +1,3 @@
DIST string-theory-3.5.tar.gz 589905 BLAKE2B c2bc926b8568efc1fbe27861619bd8249ad788297dd537cff393d212b3bb12a529847b740fc8ba82dc28501fb05800eb8debf3e4832cf145b5c13882ac45e900 SHA512 30300155e64ace8197ed531baffe4e835c269ac10d6857ac9f29501e0a1f69965994d6f2fa2e64544e7d441de635e2d370be24efcf00a0d24066730d19f022a6
DIST string-theory-3.6.tar.gz 590461 BLAKE2B e8441ead9b13e8f107c47d0695ca669f40558567590b85310903f550edf2d4cbb8622f36857b9563d33a629398358e33024c97b97a8f151a3899f9cee30ee237 SHA512 2bbd8e6c5c2501cc9616ee6a77b60a7cac5e7c9fa58d6616f6ba39cfdee33dc1b072c5d1b34bd2f88726fb4d65d32032595be7a67854a2e894eb3d81d4a8eea9
+DIST string-theory-3.9.tar.gz 68952 BLAKE2B f18c558b38b346d5cfcaa18ae6ea28c223571c8c016b686f5ed787c17c34cb6bec62e064072adf8a5ebc7d2eab89173d171f02a180f3664f36f05cf8d7845808 SHA512 a36825ab22be64c7c7b54861e88dea0bde5f0b80d32fc86b863e4409c820a25fea17cfbf2d068c1fdf4fb371714337dff390d31c983ea898fbdc37a09c469b4a
diff --git a/dev-cpp/string-theory/files/string-theory-3.9-unbundle-gtest.patch b/dev-cpp/string-theory/files/string-theory-3.9-unbundle-gtest.patch
new file mode 100644
index 000000000000..3ebb410b224e
--- /dev/null
+++ b/dev-cpp/string-theory/files/string-theory-3.9-unbundle-gtest.patch
@@ -0,0 +1,18 @@
+Use system GTest instead of fetching it
+https://bugs.gentoo.org/880353
+--- a/test/CMakeLists.txt 2025-03-23 22:20:35.060895402 +0300
++++ b/test/CMakeLists.txt 2025-03-23 22:22:29.964436254 +0300
+@@ -33,12 +33,7 @@
+ set(BUILD_GMOCK OFF CACHE INTERNAL "Override gtest default" FORCE)
+ set(INSTALL_GTEST OFF CACHE INTERNAL "Override gtest default" FORCE)
+
+-include(FetchContent)
+-FetchContent_Declare(gtest
+- GIT_REPOSITORY https://github.com/google/googletest.git
+- GIT_TAG v1.15.2
+-)
+-FetchContent_MakeAvailable(gtest)
++find_package(GTest REQUIRED)
+
+ add_executable(st_gtests "")
+ target_link_libraries(st_gtests PRIVATE gtest gtest_main string_theory)
diff --git a/dev-cpp/string-theory/string-theory-3.9.ebuild b/dev-cpp/string-theory/string-theory-3.9.ebuild
new file mode 100644
index 000000000000..784371a60ea5
--- /dev/null
+++ b/dev-cpp/string-theory/string-theory-3.9.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A flexible modern C++ library for string manipulation and storage"
+HOMEPAGE="https://github.com/zrax/string_theory/"
+SRC_URI="https://github.com/zrax/string_theory/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/string_theory-${PV}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ test? ( >=dev-cpp/gtest-1.15.2 )
+"
+
+PATCHES=( "${FILESDIR}/${P}-unbundle-gtest.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ -DST_BUILD_TESTS=$(usex test)
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}/test" || die
+ ./st_gtests || die
+}