Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Mar 2017 10:49:59 +0000 (UTC)
From:      Dmitry Marakasov <amdmi3@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r435531 - in head/devel: . cpp-hocon cpp-hocon/files
Message-ID:  <201703061049.v26Anx9Z004389@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: amdmi3
Date: Mon Mar  6 10:49:58 2017
New Revision: 435531
URL: https://svnweb.freebsd.org/changeset/ports/435531

Log:
  A C++ implementation of the HOCON configuration file format.
  
  WWW: https://github.com/puppetlabs/cpp-hocon
  
  PR:		213763
  Submitted by:	jslagle@gmail.com

Added:
  head/devel/cpp-hocon/
  head/devel/cpp-hocon/Makefile   (contents, props changed)
  head/devel/cpp-hocon/distinfo   (contents, props changed)
  head/devel/cpp-hocon/files/
  head/devel/cpp-hocon/files/patch-lib_CMakeLists.txt   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__include__context.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__includer.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__includer__file.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__list.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__mergeable.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__object.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__origin.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__parse__options.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__parseable.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__render__options.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__resolve__options.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__value.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__value__factory.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_parser_config__document.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_parser_config__document__factory.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_parser_config__node.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_inc_hocon_path.hpp   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_src_config__value__factory.cc   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_tests_CMakeLists.txt   (contents, props changed)
  head/devel/cpp-hocon/files/patch-lib_tests_config__value__test.cc   (contents, props changed)
  head/devel/cpp-hocon/pkg-descr   (contents, props changed)
  head/devel/cpp-hocon/pkg-plist   (contents, props changed)
Modified:
  head/devel/Makefile

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Mon Mar  6 10:45:57 2017	(r435530)
+++ head/devel/Makefile	Mon Mar  6 10:49:58 2017	(r435531)
@@ -320,6 +320,7 @@
     SUBDIR += covtool
     SUBDIR += cpan-upload
     SUBDIR += cpan-upload-http
+    SUBDIR += cpp-hocon
     SUBDIR += cpp-netlib
     SUBDIR += cppcheck
     SUBDIR += cppi

Added: head/devel/cpp-hocon/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/Makefile	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,21 @@
+# $FreeBSD$
+
+PORTNAME=	cpp-hocon
+PORTVERSION=	0.1.4
+CATEGORIES=	devel
+
+MAINTAINER=	jslagle@gmail.com
+COMMENT=	C++ configuration library
+
+LICENSE=	APACHE20
+
+LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
+		libleatherman_util.so:devel/leatherman
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	puppetlabs
+
+USES=		cmake
+CMAKE_ARGS=	-DCPP_HOCON_SHARED:BOOL=ON
+
+.include <bsd.port.mk>

Added: head/devel/cpp-hocon/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/distinfo	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1477237793
+SHA256 (puppetlabs-cpp-hocon-0.1.4_GH0.tar.gz) = 2274b99dc098122b6e3d2c8d23173d21893555190c5a008e5a9a7d84875c7275
+SIZE (puppetlabs-cpp-hocon-0.1.4_GH0.tar.gz) = 157988

Added: head/devel/cpp-hocon/files/patch-lib_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_CMakeLists.txt	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,32 @@
+--- lib/CMakeLists.txt.orig	2016-09-23 20:45:10 UTC
++++ lib/CMakeLists.txt
+@@ -75,20 +75,23 @@ set(PROJECT_SOURCES
+ ## Without the intermediate target, unexported symbols can't be tested.
+ add_library(libprojectsrc OBJECT ${PROJECT_SOURCES})
+ set_target_properties(libprojectsrc PROPERTIES POSITION_INDEPENDENT_CODE true)
+-
+-add_library(lib${PROJECT_NAME} $<TARGET_OBJECTS:libprojectsrc>)
+-set_target_properties(lib${PROJECT_NAME} PROPERTIES VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
+-target_link_libraries(lib${PROJECT_NAME}
++if(CPP_HOCON_SHARED)
++	add_library(${PROJECT_NAME} SHARED $<TARGET_OBJECTS:libprojectsrc>)
++else()
++	add_library(${PROJECT_NAME} $<TARGET_OBJECTS:libprojectsrc>)
++endif()
++set_target_properties(${PROJECT_NAME} PROPERTIES VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
++target_link_libraries(${PROJECT_NAME}
+     ${LEATHERMAN_LIBRARIES}
+     ${Boost_LIBRARIES}
+     )
+ 
+ # Generate the export header for restricting symbols exported from the library.
+ # Restricting symbols has several advantages, noted at https://gcc.gnu.org/wiki/Visibility.
+-symbol_exports(lib${PROJECT_NAME} "${CMAKE_CURRENT_LIST_DIR}/inc/hocon/export.h")
++symbol_exports(${PROJECT_NAME} "${CMAKE_CURRENT_LIST_DIR}/inc/hocon/export.h")
+ 
+ # This correctly handles DLL installation on Windows.
+-leatherman_install(lib${PROJECT_NAME})
++leatherman_install(${PROJECT_NAME})
+ install(DIRECTORY inc/hocon DESTINATION include)
+ 
+ add_subdirectory(tests)

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config.hpp
+@@ -169,7 +169,7 @@ namespace hocon {
+      * interface is likely to grow new methods over time, so third-party
+      * implementations will break.
+      */
+-    class LIBCPP_HOCON_EXPORT config : public config_mergeable, public std::enable_shared_from_this<config> {
++    class CPP_HOCON_EXPORT config : public config_mergeable, public std::enable_shared_from_this<config> {
+         friend class config_object;
+         friend class config_value;
+         friend class config_parseable;

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__include__context.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__include__context.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_include_context.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_include_context.hpp
+@@ -18,7 +18,7 @@ namespace hocon {
+      * interface is likely to grow new methods over time, so third-party
+      * implementations will break.
+      */
+-    class LIBCPP_HOCON_EXPORT config_include_context {
++    class CPP_HOCON_EXPORT config_include_context {
+     public:
+         /**
+          * Tries to find a name relative to whatever is doing the including, for

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__includer.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__includer.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_includer.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_includer.hpp
+@@ -12,7 +12,7 @@ namespace hocon {
+      * customize handling of {@code include} statements in config files. You may
+      * also want to implement {@link config_includer_file} and {@link config_includer_URL}, or not.
+      */
+-    class LIBCPP_HOCON_EXPORT config_includer {
++    class CPP_HOCON_EXPORT config_includer {
+     public:
+         /**
+          * Returns a new includer that falls back to the given includer. This is how

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__includer__file.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__includer__file.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_includer_file.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_includer_file.hpp
+@@ -11,7 +11,7 @@ namespace hocon {
+      * If you do not implement this but do implement {@link config_includer},
+      * attempts to load files will use the default includer.
+      */
+-    class LIBCPP_HOCON_EXPORT config_includer_file {
++    class CPP_HOCON_EXPORT config_includer_file {
+     public:
+         /**
+          * Parses another item to be included. The returned object typically would

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__list.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__list.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_list.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_list.hpp
+@@ -34,7 +34,7 @@ namespace hocon {
+      *
+      */
+ 
+-    class LIBCPP_HOCON_EXPORT config_list : public config_value {
++    class CPP_HOCON_EXPORT config_list : public config_value {
+     public:
+         config_list(shared_origin origin) : config_value(move(origin)) {}
+ 

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__mergeable.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__mergeable.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_mergeable.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_mergeable.hpp
+@@ -5,7 +5,7 @@
+ 
+ namespace hocon {
+ 
+-    class LIBCPP_HOCON_EXPORT config_mergeable {
++    class CPP_HOCON_EXPORT config_mergeable {
+         friend class config_value;
+     public:
+         /**

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__object.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__object.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_object.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_object.hpp
+@@ -8,7 +8,7 @@
+ 
+ namespace hocon {
+ 
+-    class LIBCPP_HOCON_EXPORT config_object : public config_value {
++    class CPP_HOCON_EXPORT config_object : public config_value {
+         friend class config;
+         friend class config_value;
+         friend class simple_config_object;

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__origin.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__origin.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,47 @@
+--- lib/inc/hocon/config_origin.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_origin.hpp
+@@ -36,7 +36,7 @@ namespace hocon {
+          *
+          * @return string describing the origin
+          */
+-        LIBCPP_HOCON_EXPORT virtual std::string const& description() const = 0;
++        CPP_HOCON_EXPORT virtual std::string const& description() const = 0;
+ 
+         /**
+          * Returns a {@code ConfigOrigin} based on this one, but with the given
+@@ -55,7 +55,7 @@ namespace hocon {
+          * @param lineNumber the new line number
+          * @return the created ConfigOrigin
+          */
+-        LIBCPP_HOCON_EXPORT virtual shared_origin with_line_number(int line_number) const = 0;
++        CPP_HOCON_EXPORT virtual shared_origin with_line_number(int line_number) const = 0;
+ 
+         /**
+          * Returns a line number where the value or exception originated. This will
+@@ -63,7 +63,7 @@ namespace hocon {
+          *
+          * @return line number or -1 if none is available
+          */
+-        LIBCPP_HOCON_EXPORT virtual int line_number() const = 0;
++        CPP_HOCON_EXPORT virtual int line_number() const = 0;
+ 
+         /**
+          * Returns any comments that appeared to "go with" this place in the file.
+@@ -75,7 +75,7 @@ namespace hocon {
+          * @return any comments that seemed to "go with" this origin, empty list if
+          *         none
+          */
+-        LIBCPP_HOCON_EXPORT virtual std::vector<std::string> const& comments() const = 0;
++        CPP_HOCON_EXPORT virtual std::vector<std::string> const& comments() const = 0;
+ 
+         /**
+          * Returns a {@code config_origin} based on this one, but with the given
+@@ -92,7 +92,7 @@ namespace hocon {
+          * @param comments the comments used on the returned origin
+          * @return the config_origin with the given comments
+          */
+-        LIBCPP_HOCON_EXPORT virtual shared_origin with_comments(std::vector<std::string> comments) const = 0;
++        CPP_HOCON_EXPORT virtual shared_origin with_comments(std::vector<std::string> comments) const = 0;
+     };
+ 
+ }  // namespace hocon

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__parse__options.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__parse__options.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_parse_options.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_parse_options.hpp
+@@ -22,7 +22,7 @@ namespace hocon {
+      *
+      * ClassLoader is Java-specific, so it was not ported to C++.
+      */
+-    class LIBCPP_HOCON_EXPORT config_parse_options {
++    class CPP_HOCON_EXPORT config_parse_options {
+     public:
+         /**
+          * Gets an instance of <code>config_parse_options</code> with all fields

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__parseable.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__parseable.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_parseable.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_parseable.hpp
+@@ -16,7 +16,7 @@ namespace hocon {
+      * interface is likely to grow new methods over time, so third-party
+      * implementations will break.
+      */
+-    class LIBCPP_HOCON_EXPORT config_parseable {
++    class CPP_HOCON_EXPORT config_parseable {
+     public:
+         /**
+          * Parse whatever it is. The options should come from

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__render__options.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__render__options.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_render_options.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_render_options.hpp
+@@ -17,7 +17,7 @@ namespace hocon {
+      *         config_render_options().set_comments(false)
+      * </pre>
+      */
+-    class LIBCPP_HOCON_EXPORT config_render_options {
++    class CPP_HOCON_EXPORT config_render_options {
+     public:
+         /** Leaving the default arguments will result in a verbose rendering,
+          * which contains comments and therefore is not valid JSON.

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__resolve__options.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__resolve__options.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_resolve_options.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_resolve_options.hpp
+@@ -27,7 +27,7 @@ namespace hocon {
+      * environment variables or other external system information. (Right now,
+      * environment variables are the only example.)
+      */
+-    class LIBCPP_HOCON_EXPORT config_resolve_options {
++    class CPP_HOCON_EXPORT config_resolve_options {
+     public:
+         /**
+          * Returns the default resolve options. By default the system environment

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__value.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__value.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/config_value.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_value.hpp
+@@ -36,7 +36,7 @@ namespace hocon {
+      * Also, this interface is likely to grow new methods over time, so third-party
+      * implementations will break.
+      */
+-    class LIBCPP_HOCON_EXPORT config_value : public config_mergeable, public std::enable_shared_from_this<config_value> {
++    class CPP_HOCON_EXPORT config_value : public config_mergeable, public std::enable_shared_from_this<config_value> {
+         friend class token;
+         friend class value;
+         friend class default_transformer;

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__value__factory.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_config__value__factory.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,14 @@
+--- lib/inc/hocon/config_value_factory.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/config_value_factory.hpp
+@@ -2,9 +2,10 @@
+ 
+ #include "types.hpp"
+ #include "export.h"
++#include <string>
+ 
+ namespace hocon {
+-    class LIBCPP_HOCON_EXPORT config_value_factory {
++    class CPP_HOCON_EXPORT config_value_factory {
+          public:
+          /**
+           * Creates a {@link ConfigValue} from a plain value, which may be

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_parser_config__document.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_parser_config__document.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/parser/config_document.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/parser/config_document.hpp
+@@ -23,7 +23,7 @@ namespace hocon {
+      * Also, this interface is likely to grow new methods over time, so third-party
+      * implementations will break.
+      */
+-    class LIBCPP_HOCON_EXPORT config_document {
++    class CPP_HOCON_EXPORT config_document {
+     public:
+         /**
+          * Returns a new config_document that is a copy of the current config_document,

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_parser_config__document__factory.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_parser_config__document__factory.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,28 @@
+--- lib/inc/hocon/parser/config_document_factory.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/parser/config_document_factory.hpp
+@@ -18,11 +18,11 @@ namespace hocon { namespace config_docum
+      *       parse options to control how the file is interpreted
+      * @return the parsed configuration
+      */
+-    LIBCPP_HOCON_EXPORT std::shared_ptr<config_document> parse_file(std::string input_file_path,
++    CPP_HOCON_EXPORT std::shared_ptr<config_document> parse_file(std::string input_file_path,
+                                                                     config_parse_options options);
+ 
+     /** Parses a file into a config_document instance using default options. */
+-    LIBCPP_HOCON_EXPORT std::shared_ptr<config_document> parse_file(std::string input_file_path);
++    CPP_HOCON_EXPORT std::shared_ptr<config_document> parse_file(std::string input_file_path);
+ 
+     /**
+      * Parses a string which should be valid HOCON or JSON.
+@@ -31,9 +31,9 @@ namespace hocon { namespace config_docum
+      * @param options parse options
+      * @return the parsed configuration
+      */
+-    LIBCPP_HOCON_EXPORT std::shared_ptr<config_document> parse_string(std::string s, config_parse_options options);
++    CPP_HOCON_EXPORT std::shared_ptr<config_document> parse_string(std::string s, config_parse_options options);
+ 
+     /** Parses a string into a config_document instance using default options. */
+-    LIBCPP_HOCON_EXPORT std::shared_ptr<config_document> parse_string(std::string s);
++    CPP_HOCON_EXPORT std::shared_ptr<config_document> parse_string(std::string s);
+ 
+ }}  // namespace hocon::config_document_factory

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_parser_config__node.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_parser_config__node.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/parser/config_node.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/parser/config_node.hpp
+@@ -18,7 +18,7 @@ namespace hocon {
+      * Also, this interface is likely to grow new methods over time, so third-party
+      * implementations will break.
+      */
+-    class LIBCPP_HOCON_EXPORT config_node {
++    class CPP_HOCON_EXPORT config_node {
+     public:
+         /**
+          * The original text of the input which was used to form this particular

Added: head/devel/cpp-hocon/files/patch-lib_inc_hocon_path.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_inc_hocon_path.hpp	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,11 @@
+--- lib/inc/hocon/path.hpp.orig	2016-09-23 20:45:10 UTC
++++ lib/inc/hocon/path.hpp
+@@ -10,7 +10,7 @@
+ 
+ namespace hocon {
+ 
+-    class LIBCPP_HOCON_EXPORT path {
++    class CPP_HOCON_EXPORT path {
+     public:
+         path();
+         explicit path(std::string first, path const& remainder);

Added: head/devel/cpp-hocon/files/patch-lib_src_config__value__factory.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_src_config__value__factory.cc	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,63 @@
+--- lib/src/config_value_factory.cc.orig	2016-09-23 20:45:10 UTC
++++ lib/src/config_value_factory.cc
+@@ -17,27 +17,27 @@ namespace hocon {
+         // TODO: If use cases of from_any_ref require other types to produce config_nulls,
+         // we can revise this behavior
+         shared_value operator()(boost::blank null_value) const {
+-            return make_shared<const config_null>(nullptr);
++            return make_shared<config_null>(nullptr);
+         }
+ 
+         shared_value operator()(string str) const {
+-            return make_shared<const config_string>(nullptr, str, config_string_type::QUOTED);
++            return make_shared<config_string>(nullptr, str, config_string_type::QUOTED);
+         }
+ 
+         shared_value operator()(int64_t num) const {
+-            return make_shared<const config_long>(nullptr, num, "");
++            return make_shared<config_long>(nullptr, num, "");
+         }
+ 
+         shared_value operator()(double num) const {
+-            return make_shared<const config_double>(nullptr, num, "");
++            return make_shared<config_double>(nullptr, num, "");
+         }
+ 
+         shared_value operator()(int num) const {
+-            return make_shared<const config_int>(nullptr, num, "");
++            return make_shared<config_int>(nullptr, num, "");
+         }
+ 
+         shared_value operator()(bool boolean) const {
+-            return make_shared<const config_boolean>(nullptr, boolean);
++            return make_shared<config_boolean>(nullptr, boolean);
+         }
+ 
+         shared_value operator()(vector<unwrapped_value> value_list) const {
+@@ -45,7 +45,7 @@ namespace hocon {
+             for (unwrapped_value v : value_list) {
+                 config_values.emplace_back(boost::apply_visitor(config_value_visitor(), v));
+             }
+-            return make_shared<const simple_config_list>(nullptr, config_values);
++            return make_shared<simple_config_list>(nullptr, config_values);
+         }
+ 
+         shared_value operator()(unordered_map<string, unwrapped_value> value_map) const {
+@@ -53,7 +53,7 @@ namespace hocon {
+             for (auto pair : value_map) {
+                 config_map[pair.first] = boost::apply_visitor(config_value_visitor(), pair.second);
+             }
+-            return make_shared<const simple_config_object>(nullptr, config_map);
++            return make_shared<simple_config_object>(nullptr, config_map);
+         }
+     };
+ 
+@@ -62,7 +62,7 @@ namespace hocon {
+         if (origin.empty()) {
+             origin = "hardcoded value";
+         }
+-        auto conf_origin = make_shared<const simple_config_origin>(origin);
++        auto conf_origin = make_shared<simple_config_origin>(origin);
+         return boost::apply_visitor(config_value_visitor(), value)->with_origin(conf_origin);
+     }
+ }  // namespace hocon

Added: head/devel/cpp-hocon/files/patch-lib_tests_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_tests_CMakeLists.txt	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,31 @@
+--- lib/tests/CMakeLists.txt.orig	2016-09-23 20:45:10 UTC
++++ lib/tests/CMakeLists.txt
+@@ -18,23 +18,23 @@ set(TEST_CASES
+     program_options.cc
+ )
+ 
+-add_executable(lib${PROJECT_NAME}_test $<TARGET_OBJECTS:libprojectsrc> ${TEST_CASES} main.cc)
++add_executable(${PROJECT_NAME}_test $<TARGET_OBJECTS:libprojectsrc> ${TEST_CASES} main.cc)
+ 
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+-    target_link_libraries(lib${PROJECT_NAME}_test rt)
++    target_link_libraries(${PROJECT_NAME}_test rt)
+ endif()
+ 
+-target_link_libraries(lib${PROJECT_NAME}_test
++target_link_libraries(${PROJECT_NAME}_test
+     ${Boost_LIBRARIES}
+     ${LEATHERMAN_LIBRARIES}
+     ${CMAKE_THREAD_LIBS_INIT}
+ )
+ 
+ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND BOOST_STATIC AND LEATHERMAN_USE_LOCALES)
+-    target_link_libraries(lib${PROJECT_NAME}_test iconv)
++    target_link_libraries(${PROJECT_NAME}_test iconv)
+ endif()
+ 
+-add_test(NAME "unit_tests" COMMAND lib${PROJECT_NAME}_test)
++add_test(NAME "unit_tests" COMMAND ${PROJECT_NAME}_test)
+ 
+ configure_file (
+     "${CMAKE_CURRENT_LIST_DIR}/fixtures.hpp.in"

Added: head/devel/cpp-hocon/files/patch-lib_tests_config__value__test.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/files/patch-lib_tests_config__value__test.cc	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,20 @@
+--- lib/tests/config_value_test.cc.orig	2016-09-23 20:45:10 UTC
++++ lib/tests/config_value_test.cc
+@@ -91,7 +91,7 @@ TEST_CASE("config object unwraps") {
+     auto value2 = config_int::new_number(fake_origin(), int64_t(2), "2");
+     auto value3 = config_int::new_number(fake_origin(), int64_t(3), "3");
+     unordered_map<string, shared_value> org {{"a", value1}, {"b", value2}, {"c", value3}};
+-    auto obj = make_shared<const simple_config_object>(fake_origin(), org);
++    auto obj = make_shared<simple_config_object>(fake_origin(), org);
+     unordered_map<string, unwrapped_value> map {{"a", 1}, {"b", 2}, {"c", 3}};
+     unwrapped_value expected(map);
+     bool test = expected == obj->unwrapped();
+@@ -103,7 +103,7 @@ TEST_CASE("config list unwraps") {
+     auto value2 = config_int::new_number(fake_origin(), int64_t(2), "2");
+     auto value3 = config_int::new_number(fake_origin(), int64_t(3), "3");
+     vector<shared_value> data { value1, value2, value3 };
+-    auto list = make_shared<const simple_config_list>(fake_origin(), data);
++    auto list = make_shared<simple_config_list>(fake_origin(), data);
+     vector<unwrapped_value> v { 1,2,3 };
+     unwrapped_value expected(v);
+     bool test = expected == list->unwrapped();

Added: head/devel/cpp-hocon/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/pkg-descr	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,3 @@
+A C++ implementation of the HOCON configuration file format.
+
+WWW: https://github.com/puppetlabs/cpp-hocon

Added: head/devel/cpp-hocon/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/cpp-hocon/pkg-plist	Mon Mar  6 10:49:58 2017	(r435531)
@@ -0,0 +1,28 @@
+include/hocon/config.hpp
+include/hocon/config_exception.hpp
+include/hocon/config_include_context.hpp
+include/hocon/config_includer.hpp
+include/hocon/config_includer_file.hpp
+include/hocon/config_list.hpp
+include/hocon/config_mergeable.hpp
+include/hocon/config_object.hpp
+include/hocon/config_origin.hpp
+include/hocon/config_parse_options.hpp
+include/hocon/config_parseable.hpp
+include/hocon/config_render_options.hpp
+include/hocon/config_resolve_options.hpp
+include/hocon/config_syntax.hpp
+include/hocon/config_value.hpp
+include/hocon/config_value_factory.hpp
+include/hocon/config_value_factory.hpp.orig
+include/hocon/export.h
+include/hocon/functional_list.hpp
+include/hocon/parser/config_document.hpp
+include/hocon/parser/config_document_factory.hpp
+include/hocon/parser/config_node.hpp
+include/hocon/path.hpp
+include/hocon/program_options.hpp
+include/hocon/types.hpp
+include/hocon/version.h
+lib/libcpp-hocon.so
+lib/libcpp-hocon.so.0.1.2



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703061049.v26Anx9Z004389>