summaryrefslogtreecommitdiff
path: root/dev-libs/json-c
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/json-c')
-rw-r--r--dev-libs/json-c/Manifest6
-rw-r--r--dev-libs/json-c/files/json-c-0.14_cmake-static-libs.patch56
-rw-r--r--dev-libs/json-c/json-c-0.14-r1.ebuild52
-rw-r--r--dev-libs/json-c/json-c-9999.ebuild47
-rw-r--r--dev-libs/json-c/metadata.xml14
5 files changed, 173 insertions, 2 deletions
diff --git a/dev-libs/json-c/Manifest b/dev-libs/json-c/Manifest
index 280560ff8603..dd25e7b78f3f 100644
--- a/dev-libs/json-c/Manifest
+++ b/dev-libs/json-c/Manifest
@@ -1,5 +1,9 @@
+AUX json-c-0.14_cmake-static-libs.patch 1818 BLAKE2B 4058bdcf64d59510e4f7dbbf5a1aa2d36d5c3f3b094c999a09afd5739dc8e837a08fd39aeabee72cc9845a11e3923c1271b51a5273bc8850a1a75e1e832ff094 SHA512 23c8fb64ca5c7e97ab060d5e984c264fb9ff508fa08dd99c362a52fbd281c488c5d84e0426ea386c87afc87cf0d0d68ab3618d86a599f9be6e4fec1c158b75a2
DIST json-c-0.12.tar.gz 501419 BLAKE2B 24f035792ff1ba5c39e55bca6ee4ba2509ab71d0374c70b520791f38e1ec4ff2245a282f234fde9f4a02cd9eaaaaa998ce307563a20702c04ee972fdf51f2539 SHA512 c959804362386f6b77e9d04b5fedf6d6aff1fcd0ab50250edb25f759b510b402e7ad4b33d1cbadc3337b63a3145d19f310812a9ee351748348304b384dc2dc35
DIST json-c-0.13.1.tar.gz 639425 BLAKE2B 1da310309f9ce03306a9fd4a161670e460cf0b2222348df7c006902390f74a4cf100aab1ce6ac8a361a278dd917c114a278de5b3445817f3a40ae287478add46 SHA512 e984db2a42b9c95b52c798b2e8dd1b79951a8dcba27370af30c43b9549fbb00008dbcf052a535c528209aaee38e6d1f760168b706905ae72f3e704ed20f8a1a1
+DIST json-c-0.14.tar.gz 321677 BLAKE2B 39325988dd58dad589fc0f036c17b2337c81cf7aab8ecb2232f8d59fef9d38df28e096f8d22320e0003799d477debddc4926eaa7a170954263c6b303c1fa056e SHA512 75537c61d0632a01f94d2394d7a4387ef1eca0b68aa56c495d3d96dd29b38ed20eb0cc3f6e5e24dc6660c8939669f8954005d9c3ba20437f3fcc9f9dd896b00d
EBUILD json-c-0.12.ebuild 916 BLAKE2B 835228c2ad857ff7a698d12400958b8aaa7da2828d92617b36db62e01433a3efbd3704134089b63f3a440489ae03bfcf873c303b35ccca516099d47f7633fb0c SHA512 02b0f07045736394ef18ca98901496c73153043e8825da2039c89607d5d2ca399e70ae371297f0b88ec05caad06a95ba83e589ebc89eea5345ecb12a05b4b3de
EBUILD json-c-0.13.1-r1.ebuild 979 BLAKE2B 7df2aca92e501c35826dc6c30e190cbafc2719203bba58bcf525b8d6bb15e3602d4b69c5544032c34e90fd6e9a285cedeab5094e383aa2b0d434660ee8b72b35 SHA512 b7ed1dd4ac4ba08082c244bfe414abc1462491ab03d3ee1756641936323f8c19d6ee45a4681e48f3facd6584c8678e5c200d920950a4533b0b8c345273885056
-MISC metadata.xml 605 BLAKE2B 2290e9eb5ca3ad7c82de9d23062cd6b4a5cf3bc3f3b56900e72be88a96b04f7f6ca4b904b8eec476da9ce450f335312b9774f022b8c16fb88a710ad1de57f031 SHA512 485dcf4f7c9e63ee399862f09448965d675ae6580eb74c13c430547a8eab78c3c9890f3a06daf76d028e2bb194daa407f6abb9911648e4827eaf92fd3714154c
+EBUILD json-c-0.14-r1.ebuild 1085 BLAKE2B 292a5c208ceacf84dfe9741954c23cc3ebef6211ae9bf2cd822cb0799432905aaacec37b3925d018eb1c60ee53d571407ccb5e84cb78534d096e235c981e0b5e SHA512 2130bf196a82c1dce499e9a84bdae5ef09a5aed7eb481a92a040b74a0f0b570cd7331c9269dcf51f91aa465833c6b37bd5396c83c5cbc8eeb78121ead68745d5
+EBUILD json-c-9999.ebuild 896 BLAKE2B 50472b5af6d32d7f34260d23cd3104b169950f4d2558e709e4ac1891a5fd3318e3642c24aac053237dddf3164407d028270c7380c211ae7df24679bbc2bccf66 SHA512 e415df947a96271e63acd845b5a61032f7258b9cbfe60771f849c928f0223728f2053b73045163fd5a9601551956567b0f802f893e1077c4a87cfc60020fdd18
+MISC metadata.xml 1000 BLAKE2B 3b29ad6f95a8a66a09a2db159cc3bb6881cca30bf12a6659999c68500b739a5562e67d56380aca518da55f32e4edc117f59200adcb73b51257d34e6e952a460e SHA512 fc23e7b7ab9b16a04e5a1bc85571edb5629d37eb599d76db34ab9d988e54dd4d2ddc98f8e2567a97bc18871c0375cf3353053a67ae7eea47657928f40b363f6f
diff --git a/dev-libs/json-c/files/json-c-0.14_cmake-static-libs.patch b/dev-libs/json-c/files/json-c-0.14_cmake-static-libs.patch
new file mode 100644
index 000000000000..3913fc320bca
--- /dev/null
+++ b/dev-libs/json-c/files/json-c-0.14_cmake-static-libs.patch
@@ -0,0 +1,56 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ba692ff..fc2edff 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -65,6 +65,7 @@ include(GNUInstallDirs)
+ include(CMakePackageConfigHelpers)
+
+ option(BUILD_SHARED_LIBS "Default to building shared libraries" ON)
++option(BUILD_STATIC_LIBS "Default to building static libraries" OFF)
+
+ # Generate a release merge and test it to verify the correctness of republishing the package.
+ ADD_CUSTOM_TARGET(distcheck
+@@ -383,7 +384,7 @@ add_library(${PROJECT_NAME}
+ set_target_properties(${PROJECT_NAME} PROPERTIES
+ VERSION 5.0.0
+ SOVERSION 5)
+-
++list(APPEND CMAKE_TARGETS ${PROJECT_NAME})
+ # If json-c is used as subroject it set to target correct interface -I flags and allow
+ # to build external target without extra include_directories(...)
+ target_include_directories(${PROJECT_NAME}
+@@ -392,7 +393,33 @@ target_include_directories(${PROJECT_NAME}
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}>
+ )
+
+-install(TARGETS ${PROJECT_NAME}
++# Allow to build static and shared libraries at the same time
++if (BUILD_STATIC_LIBS)
++ set(STATIC_LIB ${PROJECT_NAME}-static)
++ add_library(${STATIC_LIB} STATIC
++ ${JSON_C_SOURCES}
++ ${JSON_C_HEADERS}
++ )
++
++ # rename the static library
++ set_target_properties(${STATIC_LIB} PROPERTIES
++ OUTPUT_NAME ${PROJECT_NAME}
++ )
++ list(APPEND CMAKE_TARGETS ${STATIC_LIB})
++endif ()
++
++# Always create new install dirs with 0755 permissions, regardless of umask
++set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS
++ OWNER_READ
++ OWNER_WRITE
++ OWNER_EXECUTE
++ GROUP_READ
++ GROUP_EXECUTE
++ WORLD_READ
++ WORLD_EXECUTE
++ )
++
++install(TARGETS ${CMAKE_TARGETS}
+ EXPORT ${PROJECT_NAME}-targets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
diff --git a/dev-libs/json-c/json-c-0.14-r1.ebuild b/dev-libs/json-c/json-c-0.14-r1.ebuild
new file mode 100644
index 000000000000..90731d8f93d0
--- /dev/null
+++ b/dev-libs/json-c/json-c-0.14-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+SRC_URI="https://s3.amazonaws.com/json-c_releases/releases/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc static-libs threads"
+
+PATCHES=(
+ "${FILESDIR}/${P}_cmake-static-libs.patch"
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/json-c/config.h
+)
+
+src_prepare() {
+ cmake_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(multilib_native_usex doc)
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ -DDISABLE_WERROR=ON
+ -DENABLE_THREADING=$(usex threads)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && cmake_src_test
+}
+
+multilib_src_install_all() {
+ use doc && HTML_DOCS=( "${S}"/doc/html/. )
+ einstalldocs
+}
diff --git a/dev-libs/json-c/json-c-9999.ebuild b/dev-libs/json-c/json-c-9999.ebuild
new file mode 100644
index 000000000000..eac441be4e78
--- /dev/null
+++ b/dev-libs/json-c/json-c-9999.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib git-r3
+
+DESCRIPTION="A JSON implementation in C"
+HOMEPAGE="https://github.com/json-c/json-c/wiki"
+EGIT_REPO_URI="https://github.com/json-c/json-c.git"
+
+LICENSE="MIT"
+SLOT="0/5"
+IUSE="doc static-libs threads"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/json-c/config.h
+)
+
+src_prepare() {
+ cmake_src_prepare
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DBUILD_DOCUMENTATION=$(multilib_native_usex doc)
+ -DDISABLE_WERROR=ON
+ -DENABLE_THREADING=$(usex threads)
+ -DBUILD_STATIC_LIBS=$(usex static-libs)
+ )
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+}
+
+multilib_src_test() {
+ multilib_is_native_abi && cmake_src_test
+}
+
+multilib_src_install_all() {
+ use doc && HTML_DOCS=( "${S}"/doc/html/. )
+ einstalldocs
+}
diff --git a/dev-libs/json-c/metadata.xml b/dev-libs/json-c/metadata.xml
index 1eb1c472b30c..ca10c6aa7ae5 100644
--- a/dev-libs/json-c/metadata.xml
+++ b/dev-libs/json-c/metadata.xml
@@ -1,7 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>jakov.smolic@sartura.hr</email>
+ <name>Jakov Smolic</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>luka.perkov@sartura.hr</email>
+ <name>Luka Perkov</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<longdescription lang="en">
"A JSON implementation in C" is probably the better description, and then
"JSON-C implements a reference counting object model that allows you to
@@ -11,5 +22,6 @@ representation of JSON objects.
</longdescription>
<upstream>
<remote-id type="github">json-c/json-c</remote-id>
+ <remote-id type="cpe">cpe:/a:json-c_project:json-c</remote-id>
</upstream>
</pkgmetadata>