diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools/jsonrpc')
6 files changed, 229 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch new file mode 100644 index 000000000..748e4da1a --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch @@ -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 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch new file mode 100644 index 000000000..d21e97950 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch @@ -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 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch new file mode 100644 index 000000000..3b9068a7d --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch @@ -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 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch new file mode 100644 index 000000000..21ef98bf5 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-memset-and-family-needs-to-include-string.h.patch @@ -0,0 +1,26 @@ +From f5416f1c2b2989f94163a2ae4b91c9b9fa13c620 Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 31 Mar 2017 13:32:31 -0700 +Subject: [PATCH 1/2] memset() and family needs to include string.h + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp b/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp +index 9fca57b..e63c49e 100644 +--- a/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp ++++ b/src/jsonrpccpp/server/connectors/unixdomainsocketserver.cpp +@@ -16,7 +16,7 @@ + #include <cstdio> + #include <fcntl.h> + #include <unistd.h> +-#include <string> ++#include <cstring> + + using namespace jsonrpc; + using namespace std; +-- +2.12.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch new file mode 100644 index 000000000..aece45b02 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0002-Fix-build-problem-on-Mac.patch @@ -0,0 +1,27 @@ +From 79050ef9607f242e0d509969b19e9390220c3411 Mon Sep 17 00:00:00 2001 +From: Yongwei Wu <wuyongwei@gmail.com> +Date: Sat, 31 Dec 2016 11:57:11 +0800 +Subject: [PATCH 2/2] Fix build problem on Mac. + +__suseconds_t is not defined on Mac/BSD; use the POSIX-conformant +suseconds_t. +--- + 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 8e019ca..68107f2 100644 +--- a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp ++++ b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp +@@ -122,7 +122,7 @@ int FileDescriptorServer::WaitForRead() { + FD_ZERO(&except_fds); + FD_SET(inputfd, &read_fds); + timeout.tv_sec = 0; +- timeout.tv_usec = (__suseconds_t) (READ_TIMEOUT * 1000000); ++ timeout.tv_usec = (suseconds_t) (READ_TIMEOUT * 1000000); + // Wait for something to read + return select(inputfd + 1, &read_fds, &write_fds, &except_fds, &timeout); + } +-- +2.12.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb new file mode 100644 index 000000000..eb1ff65b6 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb @@ -0,0 +1,32 @@ +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 \ + file://0001-memset-and-family-needs-to-include-string.h.patch \ + file://0002-Fix-build-problem-on-Mac.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} \ +" |