pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/textproc/libfyaml



Module Name:    pkgsrc
Committed By:   wiz
Date:           Sun Feb  8 21:46:47 UTC 2026

Modified Files:
        pkgsrc/textproc/libfyaml: Makefile distinfo

Log Message:
libfyaml: update to 0.9.4.

## [0.9.4] - 2026-02-03

### Major: Full Windows Support

This release adds **full native Windows support**. libfyaml now builds and runs natively on Windows with MSVC, clang-cl, and Clang compilers.

**Native Windows builds:**
- Full support for building on Windows using MSVC, clang-cl, or GCC
- Works with Visual Studio, VSCode, and other Windows development tools
- All tests pass on Windows

**Cross-compilation from Linux:**
- Support for msvc-wine to install MSVC redistributables on Linux
- Compile using `cl.exe` via Wine
- Compile using `clang-cl` without Wine
- Compile using Clang cross-compilation triplet

### Major: Comment Support Now Stable

Comment parsing and emission has been moved out of experimental status. Comments can now be reliably preserved and manipulated through the API.

### Added

- `fy_node_set_style()`: Set the style of a node (block, flow, plain, etc.) - Fixes #78
- `fy_token_set_comment()`: Attach comments to tokens programmatically
- `fy_event_to_string()`: Convert events to string representation
- `fy_diag_get_collect_errors()`: Query if error collection is enabled
- `fy_atom_lines_containing()`: Get lines containing an atom (for diagnostics)
- `fy_memstream`: Portable `open_memstream` alternative for cross-platform support
- CMake-based CI workflow with improved matrix coverage
- Emscripten platform detection for `endian.h`

### Changed

- libclang now defaults to OFF (will be enabled when reflection features are ready)
- Document start token is now preserved (may contain comments)
- Walk methods now handle error paths more systematically
- Removed non-existent experimental function declarations from `libfyaml.h`

### Fixed

- **#193**: Token creation now properly clears memory to avoid undefined behavior on invalid input
- **#186**: Reference loop nesting now respected when checking link validity
- **#185**: Fixed crash when setting document root to NULL; also fixed input size clamping for corrupted input
- **#184**: Walk memory leak fix with improved debugging infrastructure
- **#183, #191**: Error out early on `FYECF_EXTENDED_CFG` with helper emit methods (prevents crash)
- **#182**: Walk expression unref bug fix with debug infrastructure
- **#181**: Walk double-free on node delete
- **#178, #177**: Walk methods now handle error paths systematically (recursive alias resolution)
- **#176**: Off-by-one error in `fy_accel_grow`
- **#175**: Parser crash on corrupted UTF-8 at end of file
- **#174**: Superfluous document end marker with explicit version/tag directives
- **#173, #172**: Depth limit for node copy (prevents stack overflow under fuzzing)
- **#143**: Document root now correctly marked as attached
- Emit state now properly reset at end of document (fixes multi-document stream markers)
- Flow quoting error on ANY style (test was backwards)
- Empty file `fdopen` issue on some platforms
- Empty stream `realloc(0)` undefined behavior
- Removed jarring notice when alias is declared multiple times (valid YAML)

### Platform Support

**Supported platforms**: Linux, macOS, FreeBSD, OpenBSD, NetBSD, and **Windows**.

**Windows-specific:**
- Full native MSVC support (32-bit and 64-bit)
- clang-cl and Clang cross-compilation support
- msvc-wine support for Linux-based Windows cross-compilation
- Proper CRLF (DOS line ending) handling
- Fixed 32-bit MSVC intrinsics (`_BitScanForward64`, `_BitScanReverse64`, `__popcnt64`)

**Portability fixes:**
- Fixed void pointer arithmetic (GCC extension) for strict C compliance
- Fixed GCC ternary operator extension (`x ? : y` -> `x ? x : y`)
- Fixed `\e` escape sequence (GCC/clang extension) -> `\x1b`
- Fixed enum comparison warnings across platforms
- Align mremap initial size to page boundary (fixes BSD crashes)

**macOS:**
- Fixed ASAN support (requires `-fsanitize=address` at link time)
- Added extra ASAN flags for Apple's clang (alloca poisoning disabled)

**CI/Build:**
- New CMake-based GitHub Actions workflow
- Improved build matrix coverage
- Fixed distcheck breakage

### Internal

- Walk expression debug infrastructure for easier debugging
- Portable `fy_memstream` wrapper for `open_memstream`
- Use `fy_align_alloc/free` wrappers in allocator
- Fixed allocator `get_caps` return type (enum, not int)
- Atomic counter function instead of macro
- General warning cleanup pass

### Statistics

- 58 commits since v0.9.3
- 18 bug fix issues closed
- Full Windows platform support added


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 pkgsrc/textproc/libfyaml/Makefile
cvs rdiff -u -r1.4 -r1.5 pkgsrc/textproc/libfyaml/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/textproc/libfyaml/Makefile
diff -u pkgsrc/textproc/libfyaml/Makefile:1.6 pkgsrc/textproc/libfyaml/Makefile:1.7
--- pkgsrc/textproc/libfyaml/Makefile:1.6       Sun Jan 18 10:50:26 2026
+++ pkgsrc/textproc/libfyaml/Makefile   Sun Feb  8 21:46:47 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.6 2026/01/18 10:50:26 wiz Exp $
+# $NetBSD: Makefile,v 1.7 2026/02/08 21:46:47 wiz Exp $
 
-DISTNAME=      libfyaml-0.9.3
+DISTNAME=      libfyaml-0.9.4
 CATEGORIES=    textproc
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=pantoniou/}
 GITHUB_RELEASE=        v${PKGVERSION_NOREV}

Index: pkgsrc/textproc/libfyaml/distinfo
diff -u pkgsrc/textproc/libfyaml/distinfo:1.4 pkgsrc/textproc/libfyaml/distinfo:1.5
--- pkgsrc/textproc/libfyaml/distinfo:1.4       Sun Jan 18 10:50:26 2026
+++ pkgsrc/textproc/libfyaml/distinfo   Sun Feb  8 21:46:47 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.4 2026/01/18 10:50:26 wiz Exp $
+$NetBSD: distinfo,v 1.5 2026/02/08 21:46:47 wiz Exp $
 
-BLAKE2s (libfyaml-0.9.3.tar.gz) = 7030854e5f1976d9be02f641bbc0413398775f9a9f3a195b96ff69c3ef1a5f9b
-SHA512 (libfyaml-0.9.3.tar.gz) = 0b991d9beaaeb1a088ae25666f679235d76812bb4b991d56843d7b24369aa67b50975903f8758c065d25520590114cdb137d78d8fcd56e0e4a8e6094d8728c84
-Size (libfyaml-0.9.3.tar.gz) = 1076446 bytes
+BLAKE2s (libfyaml-0.9.4.tar.gz) = 005df028474a7dbdc04c3c407e939da1db5bb11124911878d8da465bc011db12
+SHA512 (libfyaml-0.9.4.tar.gz) = 5335bc07c102902a95c54848863cf353e2cdd8efb0f6fa47f41429b7bda1bc5133cb3a2c753faebf42fe23a35eaf8e4267f89276e921e6e6dbed9960528ff15f
+Size (libfyaml-0.9.4.tar.gz) = 1025050 bytes



Home | Main Index | Thread Index | Old Index