libyaml-cpp: update to 0.8.0

Backport patch fixing compilation with GCC 15 and remove upstreamed one.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev
2025-07-12 19:07:29 -07:00
committed by Tianling Shen
parent 43681b5420
commit d3c5050e35
3 changed files with 42 additions and 27 deletions

View File

@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=libyaml-cpp PKG_NAME:=libyaml-cpp
PKG_VERSION:=0.7.0 PKG_VERSION:=0.8.0
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=yaml-cpp-$(PKG_VERSION).tar.gz PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://codeload.github.com/jbeder/yaml-cpp/tar.gz/yaml-cpp-$(PKG_VERSION)? PKG_SOURCE_URL:=https://github.com/jbeder/yaml-cpp
PKG_HASH:=43e6a9fcb146ad871515f0d0873947e5d497a1c9c60c58cb102a97b47208b7c3 PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_BUILD_DIR:=$(BUILD_DIR)/yaml-cpp-yaml-cpp-$(PKG_VERSION) PKG_MIRROR_HASH:=b81c7d39efa379a52c4cd7a6ee00e21b546e26284a44aa6d4b836e339c655803
PKG_MAINTAINER:= Steven Hessing <steven.hessing@gmail.com> PKG_MAINTAINER:= Steven Hessing <steven.hessing@gmail.com>
PKG_LICENSE:=MIT PKG_LICENSE:=MIT
@@ -32,7 +32,7 @@ define Package/libyaml-cpp
TITLE:=libyaml-cpp TITLE:=libyaml-cpp
URL:=https://github.com/jbeder/yaml-cpp URL:=https://github.com/jbeder/yaml-cpp
DEPENDS:=+libstdcpp DEPENDS:=+libstdcpp
ABI_VERSION:=0.7 ABI_VERSION:=0.8
endef endef
define Package/libyaml-cpp/description define Package/libyaml-cpp/description

View File

@@ -0,0 +1,36 @@
From 7b469b4220f96fb3d036cf68cd7bd30bd39e61d2 Mon Sep 17 00:00:00 2001
From: Christopher Fore <csfore@posteo.net>
Date: Wed, 14 Aug 2024 21:02:32 -0400
Subject: [PATCH] emitterutils: Explicitly include <cstdint>
GCC 15 will no longer include it by default, resulting in build
failures in projects that do not explicitly include it.
Error:
src/emitterutils.cpp:221:11: error: 'uint16_t' was not declared in this scope
221 | std::pair<uint16_t, uint16_t> EncodeUTF16SurrogatePair(int codePoint) {
| ^~~~~~~~
src/emitterutils.cpp:13:1: note: 'uint16_t' is defined in header '<cstdint>';
this is probably fixable by adding '#include <cstdint>'
12 | #include "yaml-cpp/null.h"
+++ |+#include <cstdint>
13 | #include "yaml-cpp/ostream_wrapper.h"
Tests pass.
Closes: #1307
See-also: https://gcc.gnu.org/pipermail/gcc-cvs/2024-August/407124.html
See-also: https://bugs.gentoo.org/937412
Signed-off-by: Christopher Fore <csfore@posteo.net>
---
src/emitterutils.cpp | 1 +
1 file changed, 1 insertion(+)
--- a/src/emitterutils.cpp
+++ b/src/emitterutils.cpp
@@ -1,4 +1,5 @@
#include <algorithm>
+#include <cstdint>
#include <iomanip>
#include <sstream>

View File

@@ -1,21 +0,0 @@
From 78f338e4ee69bb00fb37faf50f448eeedc8b824c Mon Sep 17 00:00:00 2001
From: Mark Jan van Kampen <mjvk@allseas.com>
Date: Tue, 13 Oct 2020 11:19:57 +0200
Subject: [PATCH] Adds assert to enable compilation with libcxx+gcc
Somehow this instantiates a template properly otherwise the build fails
---
include/yaml-cpp/node/iterator.h | 2 ++
1 file changed, 2 insertions(+)
--- a/include/yaml-cpp/node/iterator.h
+++ b/include/yaml-cpp/node/iterator.h
@@ -15,6 +15,8 @@
#include <utility>
#include <vector>
+static_assert(std::is_constructible<YAML::Node, const YAML::Node&>::value, "Node must be copy constructable");
+
namespace YAML {
namespace detail {
struct iterator_value : public Node, std::pair<Node, Node> {