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

Khem Raj raj.khem at gmail.com
Mon Nov 28 21:10:34 UTC 2016


On Mon, Nov 28, 2016 at 2:46 AM, Piotr Lewicki <piotr.lewicki at elfin.de> wrote:
> Hi Raj,
>
> Did you forget to add the patch to the "SRC_URI"?
>

this patch is not required thus effectively deadcode I will send a v2.
Thanks for notifying.

>
> 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"
>
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list