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

Piotr Lewicki piotr.lewicki at elfin.de
Mon Nov 28 10:46:05 UTC 2016


Hi Raj,

Did you forget to add the patch to the "SRC_URI"?


BR,

Piotr


On 23.11.2016 10:22, Khem Raj wrote:
> 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"




More information about the Openembedded-devel mailing list