summaryrefslogtreecommitdiff
path: root/dev-cpp/yaml-cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/yaml-cpp')
-rw-r--r--dev-cpp/yaml-cpp/Manifest5
-rw-r--r--dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch57
-rw-r--r--dev-cpp/yaml-cpp/yaml-cpp-0.6.2.ebuild2
-rw-r--r--dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r1.ebuild45
4 files changed, 107 insertions, 2 deletions
diff --git a/dev-cpp/yaml-cpp/Manifest b/dev-cpp/yaml-cpp/Manifest
index 99d6ed389570..e818ed025e8a 100644
--- a/dev-cpp/yaml-cpp/Manifest
+++ b/dev-cpp/yaml-cpp/Manifest
@@ -1,5 +1,8 @@
AUX yaml-cpp-0.6.2-CVE-2017-5950.patch 1697 BLAKE2B 7b13c947e471aa08ec718cecfd43666689cbf0137ed6328ab550f722c409f19ec6437a5458180a3c334ebfe899ef67cbee04237fd230ac06fde863c3adc231f3 SHA512 0ba8bb8d81a98b77cde3dd386fe237dd11aae53011419042ff0b72b643ac2c1fdb7753ff524d0c5d319f7d601b417d1c6ab2419c728c4015197f83ce3eaa34b2
AUX yaml-cpp-0.6.2-unbundle-gtest.patch 2204 BLAKE2B 733b6eed366ca33085251c3c6f3655060d3cc02a77f5f53a21c9163b894400c7418c3d9f032c8f6d460d58b35594f6ba1cd8eea0a667fbe1849a8eb866074ce5 SHA512 8cb227c2e156bd642be29b15ae7a7de9e4839d6f4b5e0132982659eaab442347d3ef3eedd1bfb8f936a5a1dc98b6d41be915f7da53fd6764f8b6becbaf6cff98
+AUX yaml-cpp-0.6.3-abi-breakage.patch 1911 BLAKE2B e595bdf3dff91624aa75a233a6a95db3862a7bbe645a6219704fa25c0887321dc5c461d13b6694ebca31d0da795bb750701ad0c6b9f79be0eecd85b07a71a256 SHA512 0a3c0655a1319eda09796a7ddbcef8a27884cdcbc95d34d82b6202652da3b15d7afa6e22563af39f6c6c87b7a70bdee3c1216a5523604d309345d556ada702b9
DIST yaml-cpp-0.6.2.tar.gz 1396250 BLAKE2B be342c212c980cdb03349dbafbe1db0bb581123b4dd6909393d3cdc86145b997a9d2f9b57a5e9d7c8cc60cdfd03f1c37e9db610d8784f2d29fdeada5ab322894 SHA512 fea8ce0a20a00cbc75023d1db442edfcd32d0ac57a3c41b32ec8d56f87cc1d85d7dd7a923ce662f5d3a315f91a736d6be0d649997acd190915c1d68cc93795e4
-EBUILD yaml-cpp-0.6.2.ebuild 924 BLAKE2B 56f3450d20465d940472f09134c538dc5126665006f6342765b089c9535ba8848e5b08fdfe032f56f42e824cfb93803cf59f7818f5fca895714862fa027904ac SHA512 fc57193b84b8e68574ac917aa4248b2675570bb36ace2d4ce85d379f3c9f8a1520cb8e2305cc37a827b5ebf42ef94fadda0e2c8fcf64e3037d9fceda712771e7
+DIST yaml-cpp-0.6.3.tar.gz 1398768 BLAKE2B 07abe1c56740105a0af2335bb1cd48086cb614d9d04c61342e53788bfb043fd7eb2629e441a0a5be50898b288f3526f1707c5fdf1d734395b6450c3103773b14 SHA512 68b9ce987cabc1dec79382f922de20cc2c222cb9c090ecb93dc686b048da5c917facf4fce6d8f72feea44b61e5a6770ed3b0c199c4cd4e6bde5b6245c09f8e49
+EBUILD yaml-cpp-0.6.2.ebuild 923 BLAKE2B 56c096aaa6f7be157e5d83594968e2e65bfee0ea152a95f6a8d0d3b7aeff202a97ef8b70739b8430120978ecb416ddd94c15b9c20e25580fb12c4f011bf8251b SHA512 41a527eec285e4ce2122cedbcc6aed7ae38eb6b5ab21ae5d691205d7990a7fb6bebb9d8b93d4253939b96cd3b232e7b3ec596d5d3fc8ddaa2df35b13f0396af1
+EBUILD yaml-cpp-0.6.3-r1.ebuild 972 BLAKE2B ce630cbf1b1f58728cda0a79f8d922f8fa57eb1dbd11e64efe3983bf1fbe52412c59d651ca9bd7d53006670238953e67ecea4e9b224590020635d6431cf3fd29 SHA512 8796a6ce430f75762a7b3689a2c5a85922ee6329aefe1d998d9b4b99f0b1dbbad6ca5dc492a8104dd99c392606073cc02ef14d656db766647b5177227efcead7
MISC metadata.xml 325 BLAKE2B 8e094a75d87d80e86efaf6ee191225ad0772dac343ae12ec84e73faffc17464c8431ee78018602127fd52441a6b18d09b58127b7d7ea1ee02163f58d327f0f3f SHA512 a4a5de1911c7bfeb37a3ca5aca8b3c044d51230164ac7d14566a9a4064e5202fac0e613089191ea959d0bb3df157049932d394d167e32fc8a432ab35e4cf24ae
diff --git a/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch
new file mode 100644
index 000000000000..d9160856c47f
--- /dev/null
+++ b/dev-cpp/yaml-cpp/files/yaml-cpp-0.6.3-abi-breakage.patch
@@ -0,0 +1,57 @@
+commit f5f288c7622d3547c29a8355b8ccda0155483b79
+Author: Till Hofmann <hofmann@kbsg.rwth-aachen.de>
+Date: Sun Nov 17 22:43:20 2019 +0100
+
+ Revert "fix up static, so works as DLL (#559)"
+
+ This reverts commit 774f25800e6f19f4b927023c85d1389af322da5e.
+
+diff --git a/include/yaml-cpp/node/detail/node_data.h b/include/yaml-cpp/node/detail/node_data.h
+index 82fb79a..50bcd74 100644
+--- a/include/yaml-cpp/node/detail/node_data.h
++++ b/include/yaml-cpp/node/detail/node_data.h
+@@ -81,7 +81,7 @@ class YAML_CPP_API node_data {
+ shared_memory_holder pMemory);
+
+ public:
+- static const std::string& empty_scalar();
++ static std::string empty_scalar;
+
+ private:
+ void compute_seq_size() const;
+diff --git a/include/yaml-cpp/node/impl.h b/include/yaml-cpp/node/impl.h
+index 7a3deac..b363f86 100644
+--- a/include/yaml-cpp/node/impl.h
++++ b/include/yaml-cpp/node/impl.h
+@@ -166,13 +166,13 @@ inline T Node::as(const S& fallback) const {
+ inline const std::string& Node::Scalar() const {
+ if (!m_isValid)
+ throw InvalidNode(m_invalidKey);
+- return m_pNode ? m_pNode->scalar() : detail::node_data::empty_scalar();
++ return m_pNode ? m_pNode->scalar() : detail::node_data::empty_scalar;
+ }
+
+ inline const std::string& Node::Tag() const {
+ if (!m_isValid)
+ throw InvalidNode(m_invalidKey);
+- return m_pNode ? m_pNode->tag() : detail::node_data::empty_scalar();
++ return m_pNode ? m_pNode->tag() : detail::node_data::empty_scalar;
+ }
+
+ inline void Node::SetTag(const std::string& tag) {
+diff --git a/src/node_data.cpp b/src/node_data.cpp
+index 6cfedfc..eba1ae4 100644
+--- a/src/node_data.cpp
++++ b/src/node_data.cpp
+@@ -13,10 +13,7 @@
+ namespace YAML {
+ namespace detail {
+
+-const std::string& node_data::empty_scalar() {
+- static const std::string svalue;
+- return svalue;
+-}
++std::string node_data::empty_scalar;
+
+ node_data::node_data()
+ : m_isDefined(false),
diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.6.2.ebuild b/dev-cpp/yaml-cpp/yaml-cpp-0.6.2.ebuild
index 627ca917b845..925e955fe1d7 100644
--- a/dev-cpp/yaml-cpp/yaml-cpp-0.6.2.ebuild
+++ b/dev-cpp/yaml-cpp/yaml-cpp-0.6.2.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/jbeder/${PN}/archive/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/0.6"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r1.ebuild b/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r1.ebuild
new file mode 100644
index 000000000000..8a579eada7c4
--- /dev/null
+++ b/dev-cpp/yaml-cpp/yaml-cpp-0.6.3-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS="cmake"
+inherit cmake-multilib
+
+DESCRIPTION="YAML parser and emitter in C++"
+HOMEPAGE="https://github.com/jbeder/yaml-cpp"
+SRC_URI="https://github.com/jbeder/${PN}/archive/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/0.6"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# test breaks build
+# RESTRICT="!test? ( test )"
+RESTRICT+="test"
+
+DEPEND="test? ( dev-cpp/gtest )"
+
+S="${WORKDIR}/${PN}-${P}"
+
+PATCHES=( "${FILESDIR}/${P}-abi-breakage.patch" )
+
+src_prepare() {
+ sed -i \
+ -e 's:INCLUDE_INSTALL_ROOT_DIR:INCLUDE_INSTALL_DIR:g' \
+ yaml-cpp.pc.cmake || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DYAML_BUILD_SHARED_LIBS=ON
+ -DYAML_CPP_BUILD_TOOLS=OFF # Don't have install rule
+ -DYAML_CPP_BUILD_TESTS=$(usex test)
+ )
+
+ cmake-multilib_src_configure
+}