diff options
Diffstat (limited to 'dev-cpp')
| -rw-r--r-- | dev-cpp/libjson-rpc-cpp/files/libjson-rpc-cpp-1.4.0-cmake.patch | 33 | ||||
| -rw-r--r-- | dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.4.0-r1.ebuild | 71 | ||||
| -rw-r--r-- | dev-cpp/nlohmann_json/Manifest | 1 | ||||
| -rw-r--r-- | dev-cpp/nlohmann_json/nlohmann_json-3.12.0.ebuild | 66 | ||||
| -rw-r--r-- | dev-cpp/string-theory/Manifest | 1 | ||||
| -rw-r--r-- | dev-cpp/string-theory/files/string-theory-3.9-unbundle-gtest.patch | 18 | ||||
| -rw-r--r-- | dev-cpp/string-theory/string-theory-3.9.ebuild | 36 |
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 +} |
