dev-cpp/libjson-rpc-cpp: Enable UNIX & TCP socket client/server
authorMichał Górny <mgorny@gentoo.org>
Sat, 6 Jan 2018 12:21:48 +0000 (13:21 +0100)
committerMichał Górny <mgorny@gentoo.org>
Sat, 6 Jan 2018 12:23:57 +0000 (13:23 +0100)
Closes: https://bugs.gentoo.org/643676

dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.1.0-r1.ebuild [new file with mode: 0644]
dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-9999.ebuild

diff --git a/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.1.0-r1.ebuild b/dev-cpp/libjson-rpc-cpp/libjson-rpc-cpp-1.1.0-r1.ebuild
new file mode 100644 (file)
index 0000000..73b2046
--- /dev/null
@@ -0,0 +1,67 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="JSON-RPC (1.0 & 2.0) framework for C++"
+HOMEPAGE="https://github.com/cinemast/libjson-rpc-cpp"
+SRC_URI="https://github.com/cinemast/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/1"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +http-client +http-server redis-client redis-server +stubgen test"
+
+RDEPEND="
+       dev-libs/jsoncpp:=
+       http-client? ( net-misc/curl:= )
+       http-server? ( net-libs/libmicrohttpd:= )
+       redis-client? ( dev-libs/hiredis:= )
+       redis-server? ( dev-libs/hiredis:= )
+       stubgen? ( dev-libs/argtable:= )"
+DEPEND="${RDEPEND}
+       doc? ( app-doc/doxygen )
+       test? ( dev-cpp/catch )"
+
+RESTRICT="!test? ( test )"
+
+src_configure() {
+       local mycmakeargs=(
+               -DHTTP_CLIENT=$(usex http-client)
+               -DHTTP_SERVER=$(usex http-server)
+               -DREDIS_CLIENT=$(usex redis-client)
+               -DREDIS_SERVER=$(usex redis-server)
+               # they have no deps
+               -DTCP_SOCKET_CLIENT=ON
+               -DTCP_SOCKET_SERVER=ON
+               -DUNIX_DOMAIN_SOCKET_CLIENT=ON
+               -DUNIX_DOMAIN_SOCKET_SERVER=ON
+               # they are not installed
+               -DCOMPILE_EXAMPLES=OFF
+               -DCOMPILE_STUBGEN=$(usex stubgen)
+               -DCOMPILE_TESTS=$(usex test)
+               -DCATCH_INCLUDE_DIR="${EPREFIX}/usr/include/catch"
+       )
+
+       cmake-utils_src_configure
+}
+
+src_compile() {
+       cmake-utils_src_compile
+
+       use doc && emake -C "${BUILD_DIR}" doc
+}
+
+src_test() {
+       # Tests fail randomly when run in parallel
+       local MAKEOPTS=-j1
+       cmake-utils_src_test
+}
+
+src_install() {
+       cmake-utils_src_install
+
+       use doc && dodoc -r "${BUILD_DIR}"/doc/html
+}
index 7c78e3d2afc4d3c340800c02339f7d00e5cb9ee5..55ab0c1f82f203aa6d1a71470f0cb41a6ec88d4d 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -35,6 +35,11 @@ src_configure() {
                -DHTTP_SERVER=$(usex http-server)
                -DREDIS_CLIENT=$(usex redis-client)
                -DREDIS_SERVER=$(usex redis-server)
+               # they have no deps
+               -DTCP_SOCKET_CLIENT=ON
+               -DTCP_SOCKET_SERVER=ON
+               -DUNIX_DOMAIN_SOCKET_CLIENT=ON
+               -DUNIX_DOMAIN_SOCKET_SERVER=ON
                # they are not installed
                -DCOMPILE_EXAMPLES=OFF
                -DCOMPILE_STUBGEN=$(usex stubgen)