commit:     09cbba1a603ba17efa14e163c3443ef6231eec1f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 29 10:48:35 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Sep 29 10:48:35 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=09cbba1a

dev-libs/jsoncpp: Fix installed CMake files

Closes: https://bugs.gentoo.org/940272
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-libs/jsoncpp/files/jsoncpp-1.9.6-cmake.patch | 21 +++++++++
 dev-libs/jsoncpp/jsoncpp-1.9.6-r1.ebuild         | 56 ++++++++++++++++++++++++
 2 files changed, 77 insertions(+)

diff --git a/dev-libs/jsoncpp/files/jsoncpp-1.9.6-cmake.patch 
b/dev-libs/jsoncpp/files/jsoncpp-1.9.6-cmake.patch
new file mode 100644
index 000000000000..9e24533ae9f9
--- /dev/null
+++ b/dev-libs/jsoncpp/files/jsoncpp-1.9.6-cmake.patch
@@ -0,0 +1,21 @@
+From 8d9109992e34cdacd3f2750ada5c2460d346898f Mon Sep 17 00:00:00 2001
+From: Rui Chen <[email protected]>
+Date: Thu, 19 Sep 2024 15:10:21 -0400
+Subject: [PATCH] fix(build): remove `check_required_components` for meson
+ build
+
+Signed-off-by: Rui Chen <[email protected]>
+---
+ jsoncppConfig.cmake.meson.in | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/jsoncppConfig.cmake.meson.in b/jsoncppConfig.cmake.meson.in
+index 0f4866d6d..be8852d0c 100644
+--- a/jsoncppConfig.cmake.meson.in
++++ b/jsoncppConfig.cmake.meson.in
+@@ -4,5 +4,3 @@
+ @MESON_STATIC_TARGET@
+ 
+ include ( "${CMAKE_CURRENT_LIST_DIR}/jsoncpp-namespaced-targets.cmake" )
+-
+-check_required_components(JsonCpp)

diff --git a/dev-libs/jsoncpp/jsoncpp-1.9.6-r1.ebuild 
b/dev-libs/jsoncpp/jsoncpp-1.9.6-r1.ebuild
new file mode 100644
index 000000000000..6f29211cc90b
--- /dev/null
+++ b/dev-libs/jsoncpp/jsoncpp-1.9.6-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit meson-multilib python-any-r1
+
+DESCRIPTION="C++ JSON reader and writer"
+HOMEPAGE="https://github.com/open-source-parsers/jsoncpp/";
+SRC_URI="
+       https://github.com/open-source-parsers/${PN}/archive/${PV}.tar.gz
+               -> ${P}.tar.gz
+"
+
+LICENSE="|| ( public-domain MIT )"
+SLOT="0/26"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 
~riscv ~s390 ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos 
~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+       ${PYTHON_DEPS}
+       doc? ( app-text/doxygen )
+"
+
+PATCHES=(
+       # https://github.com/open-source-parsers/jsoncpp/pull/1570
+       "${FILESDIR}/${P}-cmake.patch"
+)
+
+multilib_src_configure() {
+       local emesonargs=(
+               # Follow Debian, Ubuntu, Arch convention for headers location
+               # bug #452234
+               --includedir include/jsoncpp
+               -Dtests=$(usex test true false)
+       )
+       meson_src_configure
+}
+
+src_compile() {
+       meson-multilib_src_compile
+
+       if use doc; then
+               echo "${PV}" > version || die
+               "${EPYTHON}" doxybuild.py 
--doxygen="${EPREFIX}"/usr/bin/doxygen || die
+               HTML_DOCS=( dist/doxygen/jsoncpp*/. )
+       fi
+}
+
+multilib_src_test() {
+       # increase test timeout due to failures on slower hardware
+       meson_src_test -t 2
+}

Reply via email to