Skip to content

Commit 76c5d8c

Browse files
committed
libfyaml: update to 0.9.6.
## [0.9.6] - 2026-03-15 ### Major: Public Header Split The monolithic `libfyaml.h` has been split into focused sub-headers under `include/libfyaml/`. The main header still exists and includes everything, so **existing code requires no changes**. Projects can now include only the sub-headers they need for faster compilation: - `libfyaml/libfyaml-core.h` — parser, emitter, document, node, path - `libfyaml/libfyaml-composer.h` — composer interface - `libfyaml/libfyaml-docbuild.h` — document builder - `libfyaml/libfyaml-allocator.h` — allocator API - `libfyaml/libfyaml-atomics.h`, `libfyaml-thread.h`, `libfyaml-util.h`, and more All gaps in the API documentation have been filled as part of this work. ### Added - `fy_node_sequence_sort()`: Sort a single sequence node's items using a custom comparator (mirrors `fy_node_mapping_sort()`) ### Changed - Public API hardened against NULL arguments throughout (`fy_token_*`, `fy_emit_*`, `fy_doc_*`) — fixes #252, #254, #255 - fy-tool: Usage text cleaned up and colorized on TTYs - Walk: Pathological YPath execution is now capped to prevent runaway resource use - Dedup allocator: Improvements for split entries and content tags - `indent_delta` refactored into atom layer for correctness ### Fixed **Emitter:** - Folded block scalar line breaks no longer get lost - Fix comment indentation loss for block sequences inside mappings - Fix memory leak in `fy_emit_mapping()` **Parser:** - Fix failure on empty merge key - Fix `fy_parser_event_resolve_hook_merge_key_start()` error path - Fix extent check in `fy_reader_fetch_flow_scalar_handle()` - Use `HAVE_LLVM_C_CORE_H` to detect LLVM (portability fix) **Walk (YPath):** - Cap pathological YPath execution to prevent runaway resource use - Guard numeric expression conversion against overflow **Document API:** - Avoid rehashing anchors during cleanup - Fix `fy_node_copy_to_scalar()` mess - Fix bogus condition in `fy_node_by_path_internal()` - Keep remove-by-key lookup nodes caller-owned **Threading:** - Fix threading bug triggered when thread count hits 64 **Build / Portability:** - cmake: Install canned man pages when Sphinx is not available - cmake: Respect `DESTDIR` when creating symlinks to fy-tool - cmake: Rework Windows CMake support for correctness - cmake: Fix docs build after public header move - windows: Fix compilation issues - build: Link libm in autotools builds - utils: Fix overflow implementations - `.gitattributes`: Mark all text files as LF-terminated
1 parent ebb2868 commit 76c5d8c

4 files changed

Lines changed: 50 additions & 7 deletions

File tree

textproc/libfyaml/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# $NetBSD: Makefile,v 1.10 2026/03/24 23:34:49 maya Exp $
1+
# $NetBSD: Makefile,v 1.11 2026/03/26 13:58:33 wiz Exp $
22

3-
DISTNAME= libfyaml-0.9.5
3+
DISTNAME= libfyaml-0.9.6
44
CATEGORIES= textproc
55
MASTER_SITES= ${MASTER_SITE_GITHUB:=pantoniou/}
66
GITHUB_RELEASE= v${PKGVERSION_NOREV}

textproc/libfyaml/PLIST

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
1-
@comment $NetBSD: PLIST,v 1.2 2026/01/18 10:50:26 wiz Exp $
1+
@comment $NetBSD: PLIST,v 1.3 2026/03/26 13:58:33 wiz Exp $
2+
bin/fy-compose
3+
bin/fy-dump
4+
bin/fy-filter
5+
bin/fy-join
6+
bin/fy-testsuite
27
bin/fy-tool
8+
bin/fy-ypath
39
include/libfyaml.h
10+
include/libfyaml/libfyaml-align.h
11+
include/libfyaml/libfyaml-allocator.h
12+
include/libfyaml/libfyaml-atomics.h
13+
include/libfyaml/libfyaml-blake3.h
14+
include/libfyaml/libfyaml-composer.h
15+
include/libfyaml/libfyaml-core.h
16+
include/libfyaml/libfyaml-docbuild.h
17+
include/libfyaml/libfyaml-dociter.h
18+
include/libfyaml/libfyaml-endian.h
19+
include/libfyaml/libfyaml-path-exec.h
20+
include/libfyaml/libfyaml-thread.h
21+
include/libfyaml/libfyaml-util.h
22+
include/libfyaml/libfyaml-vlsize.h
423
lib/cmake/libfyaml/libfyaml-config-version.cmake
524
lib/cmake/libfyaml/libfyaml-config.cmake
625
lib/cmake/libfyaml/libfyaml-targets-noconfig.cmake
@@ -9,3 +28,10 @@ lib/libfyaml.so
928
lib/libfyaml.so.0
1029
lib/libfyaml.so.${PKGVERSION}
1130
lib/pkgconfig/libfyaml.pc
31+
man/man1/fy-compose.1
32+
man/man1/fy-dump.1
33+
man/man1/fy-filter.1
34+
man/man1/fy-join.1
35+
man/man1/fy-testsuite.1
36+
man/man1/fy-tool.1
37+
man/man1/fy-ypath.1

textproc/libfyaml/distinfo

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
$NetBSD: distinfo,v 1.6 2026/02/27 13:47:24 adam Exp $
1+
$NetBSD: distinfo,v 1.7 2026/03/26 13:58:33 wiz Exp $
22

3-
BLAKE2s (libfyaml-0.9.5.tar.gz) = 1729114ed7b88f480076493c074f6184cefbc9ce78f860229ea2020f4d76aed5
4-
SHA512 (libfyaml-0.9.5.tar.gz) = e4f79ceca4ff99c334d40b5afaccbdeb5200e74e2ff00140f018882cb5d21e8be7a5eb30d5e8fe8861271ab0264f03cb405f6b6a3ef76482f5cf6af9a01a4632
5-
Size (libfyaml-0.9.5.tar.gz) = 1047066 bytes
3+
BLAKE2s (libfyaml-0.9.6.tar.gz) = a5b4c5ea3dc0935b45a71345ed7bb60998a9f062887b598588034e02c2593672
4+
SHA512 (libfyaml-0.9.6.tar.gz) = 71f01fdbfa8a3675bdd6697929bb8ee85672befa5ed815ef30813987c2f75f8ef0959e70d1b17d02ccadabc967f1dfd5b7f46a10a83fca7b1a9ed7455c52e344
5+
Size (libfyaml-0.9.6.tar.gz) = 1146628 bytes
6+
SHA1 (patch-src_lib_fy-walk.c) = 42156d0ec45256a8434ca2c95b97bf474553c02a
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
$NetBSD: patch-src_lib_fy-walk.c,v 1.1 2026/03/26 13:58:33 wiz Exp $
2+
3+
Use proper variable.
4+
Already fixed upstream.
5+
6+
--- src/lib/fy-walk.c.orig 2026-03-26 13:55:53.286272086 +0000
7+
+++ src/lib/fy-walk.c
8+
@@ -4618,7 +4618,7 @@ fy_scalar_walk_result_to_expr(struct fy_path_exec *fyp
9+
if (!isfinite(fwr->number))
10+
goto err_out;
11+
12+
- rc = asprintf(&buf, "%.*g", DBL_DECIMAL_DIG, fwr->number);
13+
+ rc = asprintf(&buf, "%.*g", FY_DBL_DECIMAL_DIG, fwr->number);
14+
if (rc == -1)
15+
goto err_out;
16+

0 commit comments

Comments
 (0)