Skip to content

Commit

Permalink
add libjson-rpc-cpp
Browse files Browse the repository at this point in the history
  • Loading branch information
sizeofvoid committed Feb 11, 2018
1 parent 74e9c68 commit 0bdde08
Show file tree
Hide file tree
Showing 6 changed files with 172 additions and 0 deletions.
41 changes: 41 additions & 0 deletions devel/libjson-rpc-cpp/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# $OpenBSD: $

COMMENT = C++ framework for json-rpc (json remote procedure call)

GH_ACCOUNT = cinemast
GH_PROJECT = libjson-rpc-cpp
GH_TAGNAME = v1.1.0

CATEGORIES = devel

MAINTAINER = Rafael Sadowski <rsadowski@openbsd.org>

SHARED_LIBS += jsonrpccpp-client 0.0 # 1.0
SHARED_LIBS += jsonrpccpp-common 0.0 # 1.0
SHARED_LIBS += jsonrpccpp-server 0.0 # 1.0
SHARED_LIBS += jsonrpccpp-stub 0.0 # 1.0

# MIT
PERMIT_PACKAGE_CDROM = Yes

WANTLIB += ${COMPILER_LIBCXX} argtable2 c curl hiredis jsoncpp
WANTLIB += m microhttpd

# C++11
COMPILER = base-clang ports-gcc ports-clang

MODULES = devel/cmake

BUILD_DEPENDS = devel/catch2

LIB_DEPENDS = databases/libhiredis \
devel/argtable \
devel/jsoncpp \
www/libmicrohttpd \
net/curl

CONFIGURE_ARGS = -DCATCH_INCLUDE_DIR="${LOCALBASE}/include/catch/" \
-DCMAKE_DISABLE_FIND_PACKAGE_Doxygen:Bool=Yes \
-DWITH_COVERAGE:Bool=No

.include <bsd.port.mk>
2 changes: 2 additions & 0 deletions devel/libjson-rpc-cpp/distinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SHA256 (libjson-rpc-cpp-1.1.0.tar.gz) = jmmcrZ9k5dtchV3ftpANxV5nPMlgy5FYgY1lK3TLkYM=
SIZE (libjson-rpc-cpp-1.1.0.tar.gz) = 179442
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
$OpenBSD$

Index: src/stubgenerator/CMakeLists.txt
--- src/stubgenerator/CMakeLists.txt.orig
+++ src/stubgenerator/CMakeLists.txt
@@ -40,14 +40,7 @@ endif()
#Generate manpage
if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
configure_file("${CMAKE_SOURCE_DIR}/doc/manpage.in" "${CMAKE_BINARY_DIR}/manpage" @ONLY)
- add_custom_command(OUTPUT jsonrpcstub.1.gz
- COMMAND gzip -c "${CMAKE_BINARY_DIR}/manpage" > ${CMAKE_BINARY_DIR}/jsonrpcstub.1.gz
- COMMENT "Generating man pages"
- VERBATIM
- )
- add_custom_target(manpage ALL DEPENDS jsonrpcstub.1.gz)
- install(FILES ${CMAKE_BINARY_DIR}/jsonrpcstub.1.gz DESTINATION share/man/man1/)
- add_dependencies(jsonrpcstub manpage)
+ install(FILES "${CMAKE_SOURCE_DIR}/doc/manpage.in" DESTINATION man/man1/jsonrpcstub.1)
endif()

configure_file(${CMAKE_SOURCE_DIR}/cmake/libjsonrpccpp-stub.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-stub.pc)
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
$OpenBSD$
unbreak clang build
error: '__sF' declared as array of references of type '::FILE *(&)' (aka '__sFILE *&')

Index: src/test/test_stubgenerator.cpp
--- src/test/test_stubgenerator.cpp.orig
+++ src/test/test_stubgenerator.cpp
@@ -20,23 +20,24 @@

#include <sstream>

+
using namespace jsonrpc;
using namespace std;

namespace teststubgen {
struct F {
- FILE *stdout;
- FILE *stderr;
+ FILE *pStdout;
+ FILE *pStderr;
vector<StubGenerator *> stubgens;
vector<Procedure> procedures;
F() {
- stdout = fopen("stdout.txt", "w");
- stderr = fopen("stderr.txt", "w");
+ pStdout = fopen("stdout.txt", "w");
+ pStderr = fopen("stderr.txt", "w");
}

~F() {
- fclose(stdout);
- fclose(stderr);
+ fclose(pStdout);
+ fclose(pStderr);
}
};
} // namespace teststubgen
2 changes: 2 additions & 0 deletions devel/libjson-rpc-cpp/pkg/DESCR
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
libjson-rpc-cpp provides cross platform JSON-RPC (remote procedure call)
support for C++. It is fully JSON-RPC 2.0 & 1.0 compatible.
68 changes: 68 additions & 0 deletions devel/libjson-rpc-cpp/pkg/PLIST
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
@comment $OpenBSD$
@bin bin/jsonrpcstub
include/jsonrpccpp/
include/jsonrpccpp/client/
include/jsonrpccpp/client.h
include/jsonrpccpp/client/batchcall.h
include/jsonrpccpp/client/batchresponse.h
include/jsonrpccpp/client/client.h
include/jsonrpccpp/client/connectors/
include/jsonrpccpp/client/connectors/filedescriptorclient.h
include/jsonrpccpp/client/connectors/httpclient.h
include/jsonrpccpp/client/connectors/redisclient.h
include/jsonrpccpp/client/iclientconnector.h
include/jsonrpccpp/common/
include/jsonrpccpp/common/errors.h
include/jsonrpccpp/common/exception.h
include/jsonrpccpp/common/jsonparser.h
include/jsonrpccpp/common/procedure.h
include/jsonrpccpp/common/sharedconstants.h
include/jsonrpccpp/common/specification.h
include/jsonrpccpp/common/specificationparser.h
include/jsonrpccpp/common/specificationwriter.h
include/jsonrpccpp/common/streamreader.h
include/jsonrpccpp/common/streamwriter.h
include/jsonrpccpp/server/
include/jsonrpccpp/server.h
include/jsonrpccpp/server/abstractserver.h
include/jsonrpccpp/server/abstractserverconnector.h
include/jsonrpccpp/server/abstractthreadedserver.h
include/jsonrpccpp/server/connectors/
include/jsonrpccpp/server/connectors/filedescriptorserver.h
include/jsonrpccpp/server/connectors/httpserver.h
include/jsonrpccpp/server/connectors/redisserver.h
include/jsonrpccpp/server/iclientconnectionhandler.h
include/jsonrpccpp/server/iprocedureinvokationhandler.h
include/jsonrpccpp/server/requesthandlerfactory.h
include/jsonrpccpp/server/threadpool.h
include/jsonrpccpp/stubgen/
include/jsonrpccpp/stubgen/client/
include/jsonrpccpp/stubgen/client/cppclientstubgenerator.h
include/jsonrpccpp/stubgen/client/jsclientstubgenerator.h
include/jsonrpccpp/stubgen/client/pyclientstubgenerator.h
include/jsonrpccpp/stubgen/codegenerator.h
include/jsonrpccpp/stubgen/helper/
include/jsonrpccpp/stubgen/helper/cpphelper.h
include/jsonrpccpp/stubgen/server/
include/jsonrpccpp/stubgen/server/cppserverstubgenerator.h
include/jsonrpccpp/stubgen/servertemplate.h
include/jsonrpccpp/stubgen/stubgenerator.h
include/jsonrpccpp/stubgen/stubgeneratorfactory.h
include/jsonrpccpp/stubgen/stubhelper.h
include/jsonrpccpp/version.h
lib/libjson-rpc-cpp/
lib/libjson-rpc-cpp/cmake/
lib/libjson-rpc-cpp/cmake/libjson-rpc-cppConfig.cmake
lib/libjson-rpc-cpp/cmake/libjson-rpc-cppConfigVersion.cmake
lib/libjson-rpc-cpp/cmake/libjson-rpc-cppTargets${MODCMAKE_BUILD_SUFFIX}
lib/libjson-rpc-cpp/cmake/libjson-rpc-cppTargets.cmake
@lib lib/libjsonrpccpp-client.so.${LIBjsonrpccpp-client_VERSION}
@lib lib/libjsonrpccpp-common.so.${LIBjsonrpccpp-common_VERSION}
@lib lib/libjsonrpccpp-server.so.${LIBjsonrpccpp-server_VERSION}
@lib lib/libjsonrpccpp-stub.so.${LIBjsonrpccpp-stub_VERSION}
lib/pkgconfig/libjsonrpccpp-client.pc
lib/pkgconfig/libjsonrpccpp-common.pc
lib/pkgconfig/libjsonrpccpp-server.pc
lib/pkgconfig/libjsonrpccpp-stub.pc
man/man1/jsonrpcstub.1/
man/man1/jsonrpcstub.1/manpage.in

0 comments on commit 0bdde08

Please sign in to comment.