diff options
author | Khem Raj <raj.khem@gmail.com> | 2016-11-21 12:11:40 -0800 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2016-11-26 01:07:21 +0100 |
commit | fcc7a4d97c401cc3fb8464a4e5850b232d864190 (patch) | |
tree | 3d3c289c37cf47bfa1dde29acc15321f94e5d513 /meta-oe/recipes-devtools/jsonrpc | |
parent | 34baf3328fea094184c58e566f49ab32ad2f0470 (diff) | |
download | meta-openembedded-fcc7a4d97c401cc3fb8464a4e5850b232d864190.tar.gz |
jsonrpc: Add recipe
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools/jsonrpc')
4 files changed, 174 insertions, 0 deletions
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch b/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-oe/recipes-devtools/jsonrpc/jsonrpc/0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch | |||
@@ -0,0 +1,77 @@ | |||
1 | From ac61124df17ab76527508bbb9a3115d4d6cc1af6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 21 Nov 2016 11:26:26 -0800 | ||
4 | Subject: [PATCH] cmake: replace hardcoded lib/${CMAKE_LIBRARY_PATH} with | ||
5 | {CMAKE_INSTALL_LIBDIR} | ||
6 | |||
7 | Fixes | ||
8 | | CMake Error at src/jsonrpccpp/CMakeLists.txt:207 (install): | ||
9 | | install TARGETS given unknown argument "/lib". | ||
10 | |||
11 | and | ||
12 | |||
13 | Wrong install paths during cross compile | ||
14 | |||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | src/jsonrpccpp/CMakeLists.txt | 8 ++++---- | ||
18 | src/stubgenerator/CMakeLists.txt | 6 +++--- | ||
19 | 2 files changed, 7 insertions(+), 7 deletions(-) | ||
20 | |||
21 | diff --git a/src/jsonrpccpp/CMakeLists.txt b/src/jsonrpccpp/CMakeLists.txt | ||
22 | index e4a1eb5..13f9056 100644 | ||
23 | --- a/src/jsonrpccpp/CMakeLists.txt | ||
24 | +++ b/src/jsonrpccpp/CMakeLists.txt | ||
25 | @@ -205,15 +205,15 @@ if (WIN32) | ||
26 | endif() | ||
27 | |||
28 | install(TARGETS ${ALL_LIBS} | ||
29 | - LIBRARY DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH} | ||
30 | - ARCHIVE DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH} | ||
31 | + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
32 | + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
33 | RUNTIME DESTINATION bin | ||
34 | ) | ||
35 | |||
36 | #set pkg-config | ||
37 | get_filename_component(FULL_PATH_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} ABSOLUTE) | ||
38 | set(FULL_PATH_INCLUDEDIR "${FULL_PATH_INSTALL_PREFIX}/include") | ||
39 | -set(FULL_PATH_LIBDIR "${FULL_PATH_INSTALL_PREFIX}/lib/${CMAKE_LIBRARY_PATH}") | ||
40 | +set(FULL_PATH_LIBDIR "${FULL_PATH_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") | ||
41 | |||
42 | CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/libjsonrpccpp-client.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-client.pc) | ||
43 | CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/cmake/libjsonrpccpp-server.pc.cmake ${CMAKE_BINARY_DIR}/libjsonrpccpp-server.pc) | ||
44 | @@ -223,6 +223,6 @@ INSTALL(FILES | ||
45 | "${CMAKE_BINARY_DIR}/libjsonrpccpp-server.pc" | ||
46 | "${CMAKE_BINARY_DIR}/libjsonrpccpp-client.pc" | ||
47 | "${CMAKE_BINARY_DIR}/libjsonrpccpp-common.pc" | ||
48 | - DESTINATION "lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH}/pkgconfig") | ||
49 | + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") | ||
50 | |||
51 | |||
52 | diff --git a/src/stubgenerator/CMakeLists.txt b/src/stubgenerator/CMakeLists.txt | ||
53 | index f9dbe4c..b57b0fe 100644 | ||
54 | --- a/src/stubgenerator/CMakeLists.txt | ||
55 | +++ b/src/stubgenerator/CMakeLists.txt | ||
56 | @@ -58,15 +58,15 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/libjsonrpccpp-stub.pc.cmake ${CMAKE_BIN | ||
57 | |||
58 | INSTALL(FILES | ||
59 | "${CMAKE_BINARY_DIR}/libjsonrpccpp-stub.pc" | ||
60 | - DESTINATION "lib/${CMAKE_LIBRARY_PATH}/pkgconfig") | ||
61 | + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") | ||
62 | |||
63 | install(DIRECTORY ${CMAKE_SOURCE_DIR}/src/stubgenerator/ | ||
64 | DESTINATION include/jsonrpccpp/stubgen | ||
65 | FILES_MATCHING PATTERN "*.h") | ||
66 | |||
67 | install(TARGETS ${ALL_LIBS} jsonrpcstub | ||
68 | - LIBRARY DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH} | ||
69 | - ARCHIVE DESTINATION lib${LIB_SUFFIX}/${CMAKE_LIBRARY_PATH} | ||
70 | + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
71 | + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
72 | RUNTIME DESTINATION bin | ||
73 | ) | ||
74 | |||
75 | -- | ||
76 | 2.10.2 | ||
77 | |||
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch b/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch new file mode 100644 index 000000000..d21e97950 --- /dev/null +++ b/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorclient-Typecast-min-arguments-correctl.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From 9500f12f5d827840634311d6ca972d9551211e4d Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 21 Nov 2016 01:00:51 -0800 | ||
4 | Subject: [PATCH] filedescriptorclient: Typecast min() arguments correctly | ||
5 | |||
6 | Fixes | ||
7 | |||
8 | | /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/jsonrpc/0.7.0-r0/git/src/jsonrpccp | ||
9 | p/client/connectors/filedescriptorclient.cpp:47:92: note: deduced conflicting types for parameter 'co | ||
10 | nst _Tp' ('unsigned int' and 'long unsigned int') | ||
11 | | ssize_t byteWritten = write(outputfd, toSend.c_str(), min(toSend.size(), MAX_WRITE_SIZE)); | ||
12 | |||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | src/jsonrpccpp/client/connectors/filedescriptorclient.cpp | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp b/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp | ||
19 | index 77aac7e..6325b5c 100644 | ||
20 | --- a/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp | ||
21 | +++ b/src/jsonrpccpp/client/connectors/filedescriptorclient.cpp | ||
22 | @@ -43,7 +43,7 @@ void FileDescriptorClient::SendRPCMessage(const std::string& message, | ||
23 | string toSend = message; | ||
24 | do | ||
25 | { | ||
26 | - ssize_t byteWritten = write(outputfd, toSend.c_str(), min(toSend.size(), MAX_WRITE_SIZE)); | ||
27 | + ssize_t byteWritten = write(outputfd, toSend.c_str(), min((long unsigned int)toSend.size(), MAX_WRITE_SIZE)); | ||
28 | if (byteWritten < 1) | ||
29 | throw JsonRpcException(Errors::ERROR_CLIENT_CONNECTOR, | ||
30 | "Unknown error occured while writing to the output file descriptor"); | ||
31 | -- | ||
32 | 2.10.2 | ||
33 | |||
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch b/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-oe/recipes-devtools/jsonrpc/jsonrpc/0001-filedescriptorserver-Include-sys-select.h-before-oth.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From c7aad10628949e126f50e3264b5bc7eb417347c6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 21 Nov 2016 01:25:10 -0800 | ||
4 | Subject: [PATCH] filedescriptorserver: Include sys/select.h before other | ||
5 | headers | ||
6 | |||
7 | Fixes errors e.g. | ||
8 | | /mnt/a/build/tmp-glibc/work/cortexa7hf-neon-vfpv4-oe-linux-gnueabi/jsonrpc/0.7.0-r0/git/src/jsonrpccp | ||
9 | p/server/connectors/filedescriptorserver.h:63:7: error: unknown type name 'fd_set' | ||
10 | | fd_set read_fds; | ||
11 | | ^ | ||
12 | |||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | src/jsonrpccpp/server/connectors/filedescriptorserver.cpp | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp | ||
19 | index 9d74223..8e019ca 100644 | ||
20 | --- a/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp | ||
21 | +++ b/src/jsonrpccpp/server/connectors/filedescriptorserver.cpp | ||
22 | @@ -7,8 +7,8 @@ | ||
23 | * @license See attached LICENSE.txt | ||
24 | ************************************************************************/ | ||
25 | |||
26 | -#include "filedescriptorserver.h" | ||
27 | #include <sys/select.h> | ||
28 | +#include "filedescriptorserver.h" | ||
29 | #include <sys/types.h> | ||
30 | #include <sys/stat.h> | ||
31 | #include <unistd.h> | ||
32 | -- | ||
33 | 2.10.2 | ||
34 | |||
diff --git a/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb b/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb new file mode 100644 index 000000000..3a43f90ff --- /dev/null +++ b/meta-oe/recipes-devtools/jsonrpc/jsonrpc_0.7.0.bb | |||
@@ -0,0 +1,30 @@ | |||
1 | SUMMARY = "C++ framework for json-rpc 1.0 and 2.0" | ||
2 | DESCRIPTION = "JsonRpc-Cpp is an OpenSource implementation of JSON-RPC \ | ||
3 | protocol in C++. JSON-RPC is a lightweight remote procedure \ | ||
4 | call protocol similar to XML-RPC." | ||
5 | HOMEPAGE = "https://github.com/cinemast/libjson-rpc-cpp" | ||
6 | |||
7 | LICENSE = "MIT" | ||
8 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=ee72d601854d5d2a065cf642883c489b" | ||
9 | |||
10 | PV = "0.7.0+git${SRCPV}" | ||
11 | |||
12 | SRC_URI = "git://github.com/cinemast/libjson-rpc-cpp \ | ||
13 | file://0001-cmake-replace-hardcoded-lib-CMAKE_LIBRARY_PATH-with-.patch \ | ||
14 | file://0001-filedescriptorclient-Typecast-min-arguments-correctl.patch \ | ||
15 | file://0001-filedescriptorserver-Include-sys-select.h-before-oth.patch \ | ||
16 | " | ||
17 | SRCREV = "ccbdb41388bdd929828941652da816bf52a0580e" | ||
18 | |||
19 | SECTION = "libs" | ||
20 | |||
21 | DEPENDS = "curl jsoncpp libmicrohttpd" | ||
22 | |||
23 | S = "${WORKDIR}/git" | ||
24 | |||
25 | inherit cmake | ||
26 | |||
27 | EXTRA_OECMAKE += "-DCOMPILE_TESTS=NO -DCOMPILE_STUBGEN=NO -DCOMPILE_EXAMPLES=NO \ | ||
28 | -DBUILD_SHARED_LIBS=YES -DBUILD_STATIC_LIBS=YES \ | ||
29 | -DCMAKE_LIBRARY_PATH=${libdir} \ | ||
30 | " | ||