jsonrpc: Add recipe

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2016-11-21 12:11:40 -08:00 committed by Martin Jansa
parent 34baf3328f
commit fcc7a4d97c
4 changed files with 174 additions and 0 deletions

View File

@ -0,0 +1,77 @@
From ac61124df17ab76527508bbb9a3115d4d6cc1af6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 21 Nov 2016 11:26:26 -0800
Subject: [PATCH] cmake: replace hardcoded lib/${CMAKE_LIBRARY_PATH} with
{CMAKE_INSTALL_LIBDIR}
Fixes
| CMake Error at src/jsonrpccpp/CMakeLists.txt:207 (install):
| install TARGETS given unknown argument "/lib".
and
Wrong install paths during cross compile
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/jsonrpccpp/CMakeLists.txt | 8 ++++----
src/stubgenerator/CMakeLists.txt | 6 +++---
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/jsonrpccpp/CMakeLists.txt b/src/jsonrpccpp/CMakeLists.txt
index e4a1eb5..13f9056 100644
--- a/src/jsonrpccpp/CMakeLists.txt
+++ b/src/jsonrpccpp/CMakeLists.txt
@@ -205,15 +205,15 @@ if (WIN32)
endif()
install(TARGETS ${ALL_LIBS}
- LIBRARY DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
- ARCHIVE DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION bin
)
#set pkg-config
get_filename_component(FULL_PATH_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ABSOLUTE)
set(FULL_PATH_INCLUDEDIR "${FULL_PATH_INSTALL_PREFIX}/include")
-set(FULL_PATH_LIBDIR "${FULL_PATH_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_PATH}")
+set(FULL_PATH_LIBDIR "${FULL_PATH_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/libjsonrpccpp-client.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-client.pc)
CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/libjsonrpccpp-server.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-server.pc)
@@ -223,6 +223,6 @@ INSTALL(FILES
"${CMAKE_BINARY_DIR}/libjsonrpccpp-server.pc"
"${CMAKE_BINARY_DIR}/libjsonrpccpp-client.pc"
"${CMAKE_BINARY_DIR}/libjsonrpccpp-common.pc"
- DESTINATION "lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}/pkgconfig")
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
diff --git a/src/stubgenerator/CMakeLists.txt b/src/stubgenerator/CMakeLists.txt
index f9dbe4c..b57b0fe 100644
--- a/src/stubgenerator/CMakeLists.txt
+++ b/src/stubgenerator/CMakeLists.txt
@@ -58,15 +58,15 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/libjsonrpccpp-stub.pc.cmake ${CMAKE_BIN
INSTALL(FILES
"${CMAKE_BINARY_DIR}/libjsonrpccpp-stub.pc"
- DESTINATION "lib/${CMAKE_LIBRARY_PATH}/pkgconfig")
+ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/stubgenerator/
DESTINATION include/jsonrpccpp/stubgen
FILES_MATCHING PATTERN "*.h")
install(TARGETS ${ALL_LIBS} jsonrpcstub
- LIBRARY DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
- ARCHIVE DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION bin
)
--
2.10.2

View File

@ -0,0 +1,33 @@
From 9500f12f5d827840634311d6ca972d9551211e4d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 21 Nov 2016 01:00:51 -0800
Subject: [PATCH] filedescriptorclient: Typecast min() arguments correctly
Fixes
| /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/jsonrpc/0.7.0-r0/git/src/jsonrpccp
p/client/connectors/filedescriptorclient.cpp:47:92: note: deduced conflicting types for parameter 'co
nst _Tp' ('unsigned int' and 'long unsigned int')
| ssize_t byteWritten = write(outputfd, toSend.c_str(), min(toSend.size(), MAX_WRITE_SIZE));
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/jsonrpccpp/client/connectors/filedescriptorclient.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp b/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp
index 77aac7e..6325b5c 100644
--- a/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp
+++ b/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp
@@ -43,7 +43,7 @@ void FileDescriptorClient::SendRPCMessage(const std::string& message,
string toSend = message;
do
{
- ssize_t byteWritten = write(outputfd, toSend.c_str(), min(toSend.size(), MAX_WRITE_SIZE));
+ ssize_t byteWritten = write(outputfd, toSend.c_str(), min((long unsigned int)toSend.size(), MAX_WRITE_SIZE));
if (byteWritten < 1)
throw JsonRpcException(Errors::ERROR_CLIENT_CONNECTOR,
"Unknown error occured while writing to the output file descriptor");
--
2.10.2

View File

@ -0,0 +1,34 @@
From c7aad10628949e126f50e3264b5bc7eb417347c6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 21 Nov 2016 01:25:10 -0800
Subject: [PATCH] filedescriptorserver: Include sys/select.h before other
headers
Fixes errors e.g.
| /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/jsonrpc/0.7.0-r0/git/src/jsonrpccp
p/server/connectors/filedescriptorserver.h:63:7: error: unknown type name 'fd_set'
| fd_set read_fds;
| ^
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/jsonrpccpp/server/connectors/filedescriptorserver.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
index 9d74223..8e019ca 100644
--- a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
+++ b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp
@@ -7,8 +7,8 @@
* @license See attached LICENSE.txt
************************************************************************/
-#include "filedescriptorserver.h"
#include <sys/select.h>
+#include "filedescriptorserver.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
--
2.10.2

View File

@ -0,0 +1,30 @@
SUMMARY = "C++ framework for json-rpc 1.0 and 2.0"
DESCRIPTION = "JsonRpc-Cpp is an OpenSource implementation of JSON-RPC \
protocol in C++. JSON-RPC is a lightweight remote procedure \
call protocol similar to XML-RPC."
HOMEPAGE = "https://github.com/cinemast/libjson-rpc-cpp"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ee72d601854d5d2a065cf642883c489b"
PV = "0.7.0+git${SRCPV}"
SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp \
file://0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch \
file://0001-filedescriptorclient-Typecast-min-arguments-correctl.patch \
file://0001-filedescriptorserver-Include-sys-select.h-before-oth.patch \
"
SRCREV = "ccbdb41388bdd929828941652da816bf52a0580e"
SECTION = "libs"
DEPENDS = "curl jsoncpp libmicrohttpd"
S = "${WORKDIR}/git"
inherit cmake
EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO \
-DBUILD_SHARED_LIBS=YES -DBUILD_STATIC_LIBS=YES \
-DCMAKE_LIBRARY_PATH=${libdir} \
"