diff --git a/README.md b/README.md
index 6714dfe..20c9b59 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ Home: https://github.com/jbeder/yaml-cpp
Package license: MIT
-Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/yaml-cpp-feedstock/blob/master/LICENSE.txt)
+Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/yaml-cpp-feedstock/blob/main/LICENSE.txt)
Summary: yaml-cpp is a YAML parser and emitter in C++ matching the YAML 1.2 spec.
@@ -21,7 +21,7 @@ Current build status
Travis |
-
+
|
@@ -31,8 +31,8 @@ Current build status
-
-
+
+
@@ -40,43 +40,43 @@ Current build status
linux_64 |
-
-
+
+
|
linux_aarch64 |
-
-
+
+
|
linux_ppc64le |
-
-
+
+
|
osx_64 |
-
-
+
+
|
osx_arm64 |
-
-
+
+
|
win_64 |
-
-
+
+
|
diff --git a/recipe/meta.yaml b/recipe/meta.yaml
index 096f549..77660a2 100644
--- a/recipe/meta.yaml
+++ b/recipe/meta.yaml
@@ -7,9 +7,11 @@ package:
source:
url: https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-{{ version }}.tar.gz
sha256: 43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3
+ patches:
+ - pr_1064.patch
build:
- number: 0
+ number: 1
run_exports:
- {{ pin_subpackage('yaml-cpp', max_pin='x.x') }}
diff --git a/recipe/pr_1064.patch b/recipe/pr_1064.patch
new file mode 100644
index 0000000..f86d187
--- /dev/null
+++ b/recipe/pr_1064.patch
@@ -0,0 +1,112 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b230b9e..f65efef 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -31,11 +31,13 @@ cmake_dependent_option(YAML_MSVC_SHARED_RT
+ "MSVC: Build yaml-cpp with shared runtime libs (/MD)" ON
+ "MSVC" OFF)
+
+-set(yaml-cpp-type STATIC)
+-set(yaml-cpp-label-postfix "static")
+ if (YAML_BUILD_SHARED_LIBS)
+ set(yaml-cpp-type SHARED)
+ set(yaml-cpp-label-postfix "shared")
++else()
++ set(yaml-cpp-type STATIC)
++ set(yaml-cpp-label-postfix "static")
++ add_definitions(-DYAML_CPP_STATIC_DEFINE)
+ endif()
+
+ set(build-shared $)
+diff --git a/include/yaml-cpp/dll.h b/include/yaml-cpp/dll.h
+index a32c06b..eabdda1 100644
+--- a/include/yaml-cpp/dll.h
++++ b/include/yaml-cpp/dll.h
+@@ -1,33 +1,61 @@
+ #ifndef DLL_H_62B23520_7C8E_11DE_8A39_0800200C9A66
+ #define DLL_H_62B23520_7C8E_11DE_8A39_0800200C9A66
+
+-#if defined(_MSC_VER) || \
+- (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || \
+- (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4
+-#pragma once
++// Definition YAML_CPP_STATIC_DEFINE using to building YAML-CPP as static
++// library (definition created by CMake or defined manually)
++
++// Definition yaml_cpp_EXPORTS using to building YAML-CPP as dll/so library
++// (definition created by CMake or defined manually)
++
++#ifdef YAML_CPP_STATIC_DEFINE
++# define YAML_CPP_API
++# define YAML_CPP_NO_EXPORT
++#else
++# if defined(_MSC_VER) || defined(__MINGW32__) || defined(__MINGW64__)
++# ifndef YAML_CPP_API
++# ifdef yaml_cpp_EXPORTS
++ /* We are building this library */
++# pragma message( "Defining YAML_CPP_API for DLL export" )
++# define YAML_CPP_API __declspec(dllexport)
++# else
++ /* We are using this library */
++# pragma message( "Defining YAML_CPP_API for DLL import" )
++# define YAML_CPP_API __declspec(dllimport)
++# endif
++# endif
++# ifndef YAML_CPP_NO_EXPORT
++# define YAML_CPP_NO_EXPORT
++# endif
++# else /* No _MSC_VER */
++# ifndef YAML_CPP_API
++# ifdef yaml_cpp_EXPORTS
++ /* We are building this library */
++# define YAML_CPP_API __attribute__((visibility("default")))
++# else
++ /* We are using this library */
++# define YAML_CPP_API __attribute__((visibility("default")))
++# endif
++# endif
++# ifndef YAML_CPP_NO_EXPORT
++# define YAML_CPP_NO_EXPORT __attribute__((visibility("hidden")))
++# endif
++# endif /* _MSC_VER */
++#endif /* YAML_CPP_STATIC_DEFINE */
++
++#ifndef YAML_CPP_DEPRECATED
++# ifdef _MSC_VER
++# define YAML_CPP_DEPRECATED __declspec(deprecated)
++# else
++# define YAML_CPP_DEPRECATED __attribute__ ((__deprecated__))
++# endif
+ #endif
+
+-// The following ifdef block is the standard way of creating macros which make
+-// exporting from a DLL simpler. All files within this DLL are compiled with the
+-// yaml_cpp_EXPORTS symbol defined on the command line. This symbol should not
+-// be defined on any project that uses this DLL. This way any other project
+-// whose source files include this file see YAML_CPP_API functions as being
+-// imported from a DLL, whereas this DLL sees symbols defined with this macro as
+-// being exported.
+-#undef YAML_CPP_API
++#ifndef YAML_CPP_DEPRECATED_EXPORT
++# define YAML_CPP_DEPRECATED_EXPORT YAML_CPP_API YAML_CPP_DEPRECATED
++#endif
+
+-#ifdef YAML_CPP_DLL // Using or Building YAML-CPP DLL (definition defined
+- // manually)
+-#ifdef yaml_cpp_EXPORTS // Building YAML-CPP DLL (definition created by CMake
+- // or defined manually)
+-// #pragma message( "Defining YAML_CPP_API for DLL export" )
+-#define YAML_CPP_API __declspec(dllexport)
+-#else // yaml_cpp_EXPORTS
+-// #pragma message( "Defining YAML_CPP_API for DLL import" )
+-#define YAML_CPP_API __declspec(dllimport)
+-#endif // yaml_cpp_EXPORTS
+-#else // YAML_CPP_DLL
+-#define YAML_CPP_API
+-#endif // YAML_CPP_DLL
++#ifndef YAML_CPP_DEPRECATED_NO_EXPORT
++# define YAML_CPP_DEPRECATED_NO_EXPORT YAML_CPP_NO_EXPORT YAML_CPP_DEPRECATED
++#endif
+
+-#endif // DLL_H_62B23520_7C8E_11DE_8A39_0800200C9A66
++#endif /* DLL_H_62B23520_7C8E_11DE_8A39_0800200C9A66 */
|