[oe] [meta-oe][PATCH 40/49] jsoncpp: Add new recipe

Khem Raj raj.khem at gmail.com
Wed Nov 23 09:22:00 UTC 2016


Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 .../0001-jsoncpp-rename-features-header-file.patch | 152 +++++++++++++++++++++
 meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb  |  21 +++
 2 files changed, 173 insertions(+)
 create mode 100644 meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
 create mode 100644 meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb

diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch b/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
new file mode 100644
index 0000000..f1397ea
--- /dev/null
+++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp/0001-jsoncpp-rename-features-header-file.patch
@@ -0,0 +1,152 @@
+Issue: Build error in TDK DS_stub
+
+In file included from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/i586-rdk-linux/bits/c++config.h:426:0,
+                 from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/string:38,
+                 from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/json/value.h:12,
+                 from /home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/json/json.h:10,
+                 from ./include/DeviceSettingsAgent.h:15,
+                 from src/DeviceSettingsAgent.cpp:13:
+/home/ubuntu/work/daisy-rdk/build-qemux86hyb/tmp/sysroots/qemux86hyb/usr/include/c++/i586-rdk-linux/bits/os_defines.h:44:19: error: missing binary operator before token "("
+ #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
+
+The issue was jsoncpp has features.h which was conflicting with the system
+header file features.h.
+
+So renamed the header file  features.h in jsoncpp to json-features.h so
+as to localize the effect of this change within jsoncpp.
+
+ Signed-off-by: Ridish Aravindan <ridish.ra at lnttechservices.com>
+
+Index: jsoncpp-src-0.6.0-rc2/include/json/json-features.h
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ jsoncpp-src-0.6.0-rc2/include/json/json-features.h	2014-08-27 06:41:40.000000000 +0000
+@@ -0,0 +1,49 @@
++// Copyright 2007-2010 Baptiste Lepilleur
++// Distributed under MIT license, or public domain if desired and
++// recognized in your jurisdiction.
++// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
++
++#ifndef CPPTL_JSON_FEATURES_H_INCLUDED
++# define CPPTL_JSON_FEATURES_H_INCLUDED
++
++#if !defined(JSON_IS_AMALGAMATION)
++# include "forwards.h"
++#endif // if !defined(JSON_IS_AMALGAMATION)
++
++namespace Json {
++
++   /** \brief Configuration passed to reader and writer.
++    * This configuration object can be used to force the Reader or Writer
++    * to behave in a standard conforming way.
++    */
++   class JSON_API Features
++   {
++   public:
++      /** \brief A configuration that allows all features and assumes all strings are UTF-8.
++       * - C & C++ comments are allowed
++       * - Root object can be any JSON value
++       * - Assumes Value strings are encoded in UTF-8
++       */
++      static Features all();
++
++      /** \brief A configuration that is strictly compatible with the JSON specification.
++       * - Comments are forbidden.
++       * - Root object must be either an array or an object value.
++       * - Assumes Value strings are encoded in UTF-8
++       */
++      static Features strictMode();
++
++      /** \brief Initialize the configuration like JsonConfig::allFeatures;
++       */
++      Features();
++
++      /// \c true if comments are allowed. Default: \c true.
++      bool allowComments_;
++
++      /// \c true if root must be either an array or an object value. Default: \c false.
++      bool strictRoot_;
++   };
++
++} // namespace Json
++
++#endif // CPPTL_JSON_FEATURES_H_INCLUDED
+Index: jsoncpp-src-0.6.0-rc2/include/json/json.h
+===================================================================
+--- jsoncpp-src-0.6.0-rc2.orig/include/json/json.h	2011-05-02 21:47:24.000000000 +0000
++++ jsoncpp-src-0.6.0-rc2/include/json/json.h	2014-08-27 06:39:13.000000000 +0000
+@@ -10,6 +10,6 @@
+ # include "value.h"
+ # include "reader.h"
+ # include "writer.h"
+-# include "features.h"
++# include "json-features.h"
+ 
+ #endif // JSON_JSON_H_INCLUDED
+Index: jsoncpp-src-0.6.0-rc2/include/json/reader.h
+===================================================================
+--- jsoncpp-src-0.6.0-rc2.orig/include/json/reader.h	2011-05-02 21:47:24.000000000 +0000
++++ jsoncpp-src-0.6.0-rc2/include/json/reader.h	2014-08-27 06:39:32.000000000 +0000
+@@ -7,7 +7,7 @@
+ # define CPPTL_JSON_READER_H_INCLUDED
+ 
+ #if !defined(JSON_IS_AMALGAMATION)
+-# include "features.h"
++# include "json-features.h"
+ # include "value.h"
+ #endif // if !defined(JSON_IS_AMALGAMATION)
+ # include <deque>
+Index: jsoncpp-src-0.6.0-rc2/include/json/features.h
+===================================================================
+--- jsoncpp-src-0.6.0-rc2.orig/include/json/features.h	2011-05-02 21:46:58.000000000 +0000
++++ /dev/null	1970-01-01 00:00:00.000000000 +0000
+@@ -1,49 +0,0 @@
+-// Copyright 2007-2010 Baptiste Lepilleur
+-// Distributed under MIT license, or public domain if desired and
+-// recognized in your jurisdiction.
+-// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
+-
+-#ifndef CPPTL_JSON_FEATURES_H_INCLUDED
+-# define CPPTL_JSON_FEATURES_H_INCLUDED
+-
+-#if !defined(JSON_IS_AMALGAMATION)
+-# include "forwards.h"
+-#endif // if !defined(JSON_IS_AMALGAMATION)
+-
+-namespace Json {
+-
+-   /** \brief Configuration passed to reader and writer.
+-    * This configuration object can be used to force the Reader or Writer
+-    * to behave in a standard conforming way.
+-    */
+-   class JSON_API Features
+-   {
+-   public:
+-      /** \brief A configuration that allows all features and assumes all strings are UTF-8.
+-       * - C & C++ comments are allowed
+-       * - Root object can be any JSON value
+-       * - Assumes Value strings are encoded in UTF-8
+-       */
+-      static Features all();
+-
+-      /** \brief A configuration that is strictly compatible with the JSON specification.
+-       * - Comments are forbidden.
+-       * - Root object must be either an array or an object value.
+-       * - Assumes Value strings are encoded in UTF-8
+-       */
+-      static Features strictMode();
+-
+-      /** \brief Initialize the configuration like JsonConfig::allFeatures;
+-       */
+-      Features();
+-
+-      /// \c true if comments are allowed. Default: \c true.
+-      bool allowComments_;
+-
+-      /// \c true if root must be either an array or an object value. Default: \c false.
+-      bool strictRoot_;
+-   };
+-
+-} // namespace Json
+-
+-#endif // CPPTL_JSON_FEATURES_H_INCLUDED
diff --git a/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
new file mode 100644
index 0000000..17947e3
--- /dev/null
+++ b/meta-oe/recipes-devtools/jsoncpp/jsoncpp_1.7.7.bb
@@ -0,0 +1,21 @@
+SUMMARY = "JSON C++ lib used to read and write json file."
+DESCRIPTION = "Jsoncpp is an implementation of a JSON (http://json.org) reader \
+               and writer in C++. JSON (JavaScript Object Notation) is a \
+               lightweight data-interchange format. It is easy for humans to \
+               read and write. It is easy for machines to parse and generate."
+
+HOMEPAGE = "http://sourceforge.net/projects/jsoncpp/"
+
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c56ee55c03a55f8105b969d8270632ce"
+
+SRCREV = "d8cd848ede1071a25846cd90b4fddf269d868ff1"
+SRC_URI = "git://github.com/open-source-parsers/jsoncpp \
+"
+
+S = "${WORKDIR}/git"
+inherit cmake
+
+EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DJSONCPP_WITH_TESTS=OFF"
-- 
2.10.2




More information about the Openembedded-devel mailing list