diff --git a/dev-libs/rapidjson/Manifest b/dev-libs/rapidjson/Manifest index b922188e51c8f..150d1bb68a8e2 100644 --- a/dev-libs/rapidjson/Manifest +++ b/dev-libs/rapidjson/Manifest @@ -1 +1,2 @@ DIST rapidjson-1.1.0.tar.gz 1019402 BLAKE2B e1564b3cfa020f76437b0a35048a42ff2cd98b5ce285e63f228e158885182e5cecda13407cdf30c03fa39b47cbc579ff0065f6c2682d04b806e8f9ea8d36fc4e SHA512 2e82a4bddcd6c4669541f5945c2d240fb1b4fdd6e239200246d3dd50ce98733f0a4f6d3daa56f865d8c88779c036099c52a9ae85d47ad263686b68a88d832dff +DIST rapidjson-1.1.0_p20250205.tar.gz 1116703 BLAKE2B b4657b1a09437d947fea754f3de492993ae1335228b17d7fd7d4542e47009d7af64d0f8fa39923865accd6e7af86165e2545372bdeb425aef5480dcc96fb111e SHA512 50f8723414a6e63eadd45f97be5c44e9fff2d06216c8cc4df802f5bfc2a9416a039f2c69e9bb1882f7e756cd38a7097eea05cab76c739f45805dc41617140799 diff --git a/dev-libs/rapidjson/rapidjson-1.1.0_p20250205.ebuild b/dev-libs/rapidjson/rapidjson-1.1.0_p20250205.ebuild new file mode 100644 index 0000000000000..f0bbbff4fc171 --- /dev/null +++ b/dev-libs/rapidjson/rapidjson-1.1.0_p20250205.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="A fast JSON parser/generator for C++ with both SAX/DOM style API" +HOMEPAGE="https://rapidjson.org/" + +if [[ ${PV} == *9999 ]] ; then + EGIT_REPO_URI="https://github.com/Tencent/rapidjson.git" + EGIT_SUBMODULES=() + inherit git-r3 +else + # no up-to-date releases or tags + COMMIT="24b5e7a8b27f42fa16b96fc70aade9106cf7102f" + SRC_URI="https://github.com/Tencent/rapidjson/archive/${COMMIT}.tar.gz -> rapidjson-${PV}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + S="${WORKDIR}/rapidjson-${COMMIT}" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="doc examples test" +RESTRICT="!test? ( test )" + +BDEPEND=" + doc? ( app-text/doxygen ) + test? ( dev-cpp/gtest ) +" + +PATCHES=( + "${FILESDIR}/${PN}-1.1.0-system_gtest.patch" + "${FILESDIR}/${PN}-1.1.1-cmake4.patch" +) + +src_prepare() { + cmake_src_prepare + + sed -i -e 's| -march=native||g' CMakeLists.txt || die + sed -i -e 's| -mcpu=native||g' CMakeLists.txt || die + sed -i -e 's| -Werror||g' CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + -DDOC_INSTALL_DIR="${EPREFIX}/usr/share/doc/${PF}" + -DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)" + -DRAPIDJSON_BUILD_CXX11=OFF # latest gtest requires C++14 or later + -DRAPIDJSON_BUILD_CXX17=ON + -DRAPIDJSON_BUILD_DOC=$(usex doc) + -DRAPIDJSON_BUILD_EXAMPLES=$(usex examples) + -DRAPIDJSON_BUILD_TESTS=$(usex test) + -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF + ) + use test && mycmakeargs+=( + -DVALGRIND_EXECUTABLE= + ) + cmake_src_configure +}