diff options
Diffstat (limited to 'dev-cpp/nlohmann_json/nlohmann_json-3.11.2.ebuild')
-rw-r--r-- | dev-cpp/nlohmann_json/nlohmann_json-3.11.2.ebuild | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/dev-cpp/nlohmann_json/nlohmann_json-3.11.2.ebuild b/dev-cpp/nlohmann_json/nlohmann_json-3.11.2.ebuild new file mode 100644 index 000000000000..86bb5e2e2106 --- /dev/null +++ b/dev-cpp/nlohmann_json/nlohmann_json-3.11.2.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2022 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 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 +} |