summaryrefslogtreecommitdiff
diff options
Diffstat (limited to 'dev-libs/json-c/json-c-0.18.ebuild')
-rw-r--r--dev-libs/json-c/json-c-0.18.ebuild68
1 files changed, 68 insertions, 0 deletions
diff --git a/dev-libs/json-c/json-c-0.18.ebuild b/dev-libs/json-c/json-c-0.18.ebuild
new file mode 100644
index 000000000000..582ba35e41c2
--- /dev/null
+++ b/dev-libs/json-c/json-c-0.18.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake-multilib
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/json-c/json-c.git"
+ inherit git-r3
+else
+ SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+
+LICENSE="MIT"
+# .1 is a fudge factor for 0.18 fixing compat w/ 0.16, drop on next
+# SONAME change.
+SLOT="0/5.1"
+IUSE="cpu_flags_x86_rdrand doc static-libs threads"
+
+BDEPEND="doc? ( >=app-text/doxygen-1.8.13 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/json-c/config.h
+)
+
+multilib_src_configure() {
+ # Tests use Valgrind automagically otherwise (bug #927027)
+ export USE_VALGRIND=0
+
+ local mycmakeargs=(
+ # apps are not installed, so disable unconditionally.
+ # https://github.com/json-c/json-c/blob/json-c-0.17-20230812/apps/CMakeLists.txt#L119...L121
+ -DBUILD_APPS=OFF
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DDISABLE_EXTRA_LIBS=ON
+ -DDISABLE_WERROR=ON
+ -DENABLE_RDRAND=$(usex cpu_flags_x86_rdrand)
+ -DENABLE_THREADING=$(usex threads)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+ if use doc && multilib_is_native_abi; then
+ cmake_build doc
+ fi
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && cmake_src_test
+}
+
+multilib_src_install() {
+ cmake_src_install
+
+ if multilib_is_native_abi; then
+ use doc && HTML_DOCS=( "${BUILD_DIR}"/doc/html/. )
+ einstalldocs
+ fi
+}