Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Jul 2025 14:32:09 GMT
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: e52f11f4bbc8 - stable/14 - libyaml: import libyaml vendor version 0.2.5
Message-ID:  <202507081432.568EW9ws071957@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/14 has been updated by bapt:

URL: https://cgit.FreeBSD.org/src/commit/?id=e52f11f4bbc89df8114715a210adf2411ca4936d

commit e52f11f4bbc89df8114715a210adf2411ca4936d
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2025-06-26 06:57:37 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2025-07-08 14:06:59 +0000

    libyaml: import libyaml vendor version 0.2.5
    
    The yaml parser used in nuageinit is too incomplete, import libyaml
    in order to be able to use as a complete parser for nuageinit.
    
    (cherry picked from commit 0f5c86ddb0257f4b7620f1d8e898289be30b19bf)
---
 contrib/libyaml/.appveyor.yml                      |   29 +
 contrib/libyaml/.github/workflows/main.yml         |   59 +
 contrib/libyaml/.gitignore                         |   46 +
 contrib/libyaml/.indent.pro                        |    1 +
 contrib/libyaml/.makefile                          |   63 +
 contrib/libyaml/.travis.yml                        |   28 +
 contrib/libyaml/CMakeLists.txt                     |  160 +
 contrib/libyaml/Changes                            |  372 ++
 contrib/libyaml/License                            |   20 +
 contrib/libyaml/Makefile.am                        |   54 +
 contrib/libyaml/ReadMe.md                          |   46 +
 contrib/libyaml/announcement.msg                   |   89 +
 contrib/libyaml/bootstrap                          |    3 +
 contrib/libyaml/configure.ac                       |   73 +
 contrib/libyaml/doc/doxygen.cfg                    |  222 ++
 contrib/libyaml/docker/README.mkd                  |   17 +
 contrib/libyaml/docker/alpine-3.7                  |   26 +
 contrib/libyaml/docker/fedora-25                   |   26 +
 contrib/libyaml/docker/ubuntu-14.04                |   29 +
 contrib/libyaml/docker/ubuntu-16.04                |   24 +
 contrib/libyaml/examples/anchors.yaml              |   10 +
 contrib/libyaml/examples/array.yaml                |    2 +
 contrib/libyaml/examples/global-tag.yaml           |   14 +
 contrib/libyaml/examples/json.yaml                 |    1 +
 contrib/libyaml/examples/mapping.yaml              |    2 +
 contrib/libyaml/examples/numbers.yaml              |    1 +
 contrib/libyaml/examples/strings.yaml              |    7 +
 contrib/libyaml/examples/tags.yaml                 |    7 +
 contrib/libyaml/examples/yaml-version.yaml         |    3 +
 contrib/libyaml/include/Makefile.am                |   17 +
 contrib/libyaml/include/yaml.h                     | 1985 +++++++++++
 ...terfuzz-testcase-minimized-5607885063061504.yml |    1 +
 contrib/libyaml/src/Makefile.am                    |    4 +
 contrib/libyaml/src/api.c                          | 1393 ++++++++
 contrib/libyaml/src/dumper.c                       |  394 +++
 contrib/libyaml/src/emitter.c                      | 2358 +++++++++++++
 contrib/libyaml/src/loader.c                       |  544 +++
 contrib/libyaml/src/parser.c                       | 1375 ++++++++
 contrib/libyaml/src/reader.c                       |  469 +++
 contrib/libyaml/src/scanner.c                      | 3598 ++++++++++++++++++++
 contrib/libyaml/src/writer.c                       |  141 +
 contrib/libyaml/src/yaml_private.h                 |  684 ++++
 contrib/libyaml/tests/CMakeLists.txt               |   27 +
 contrib/libyaml/tests/Makefile.am                  |    9 +
 contrib/libyaml/tests/ReadMe.md                    |   63 +
 contrib/libyaml/tests/example-deconstructor-alt.c  |  800 +++++
 contrib/libyaml/tests/example-deconstructor.c      | 1127 ++++++
 contrib/libyaml/tests/example-reformatter-alt.c    |  217 ++
 contrib/libyaml/tests/example-reformatter.c        |  202 ++
 contrib/libyaml/tests/run-all-tests.sh             |   29 +
 contrib/libyaml/tests/run-dumper.c                 |  314 ++
 contrib/libyaml/tests/run-emitter-test-suite.c     |  290 ++
 contrib/libyaml/tests/run-emitter.c                |  327 ++
 contrib/libyaml/tests/run-loader.c                 |   63 +
 contrib/libyaml/tests/run-parser-test-suite.c      |  189 +
 contrib/libyaml/tests/run-parser.c                 |   63 +
 contrib/libyaml/tests/run-scanner.c                |   63 +
 contrib/libyaml/tests/test-reader.c                |  354 ++
 contrib/libyaml/tests/test-version.c               |   29 +
 contrib/libyaml/yaml-0.1.pc.in                     |   10 +
 contrib/libyaml/yamlConfig.cmake.in                |   16 +
 lib/Makefile                                       |    1 +
 lib/libyaml/Makefile                               |   29 +
 share/mk/src.libnames.mk                           |    1 +
 64 files changed, 18620 insertions(+)

diff --git a/contrib/libyaml/.appveyor.yml b/contrib/libyaml/.appveyor.yml
new file mode 100644
index 000000000000..36d706aecdf5
--- /dev/null
+++ b/contrib/libyaml/.appveyor.yml
@@ -0,0 +1,29 @@
+version: 0.2.5.{build}
+
+image:
+- Visual Studio 2015
+- Visual Studio 2013
+
+build_script:
+
+#
+# CMake based in-source build and tests using Visual Studio
+#
+
+# Use 32-bit default generator ("Visual Studio 12 2013" or "Visual Studio 14 2015")
+- cmake .
+- cmake --build . --config Release --clean-first
+- ctest -C Release
+
+#
+# Autoconf based in-source build and tests under Cygwin using gcc
+#
+
+# 32-bit cygwin build
+- C:\cygwin\bin\sh -c "export PATH=/usr/bin:/usr/local/bin:$PATH && ./bootstrap && ./configure && make && make test && make distclean"
+# 64-bit cygwin build
+- C:\cygwin64\bin\sh -c "export PATH=/usr/bin:/usr/local/bin:$PATH && ./bootstrap && ./configure && make && make test && make distclean"
+# 32-bit mingw-w64 build
+- C:\cygwin\bin\sh -c "export PATH=/usr/bin:/usr/local/bin:$PATH && ./bootstrap && ./configure --host=i686-w64-mingw32 --target=i686-w64-mingw32 && make && make test && make distclean"
+# 64-bit mingw-w64 build
+- C:\cygwin64\bin\sh -c "export PATH=/usr/bin:/usr/local/bin:$PATH && ./bootstrap && ./configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 && make && make test && make distclean"
diff --git a/contrib/libyaml/.github/workflows/main.yml b/contrib/libyaml/.github/workflows/main.yml
new file mode 100644
index 000000000000..c2bdef471011
--- /dev/null
+++ b/contrib/libyaml/.github/workflows/main.yml
@@ -0,0 +1,59 @@
+name: linux/mac
+
+on:
+  push:
+    branches: [ '*' ]
+  pull_request:
+    branches: [ master ]
+
+jobs:
+
+  build:
+
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        compiler:
+        - gcc
+        - clang
+        os:
+        - ubuntu-latest
+        - macOS-latest
+
+    steps:
+    - uses: actions/checkout@v2
+
+    - run: env | sort
+    - name: Install software
+      run: |
+        if [[ '${{ matrix.os }}' == macOS-latest ]]; then
+          brew install automake bash coreutils make
+          echo ::add-path::/usr/local/opt/coreutils/libexec/gnubin
+          echo ::add-path::/usr/local/opt/make/libexec/gnubin
+        fi
+    - name: Fetch branches
+      run: |
+        git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
+        git fetch --unshallow
+
+    - run: ./bootstrap
+    - run: ./configure
+    - run: make
+    - run: make test-all
+
+    - run: |
+        git clean -d -x -f
+        rm -fr tests/run-test-suite
+        git worktree prune
+
+    - name: Compiler version
+      run: ${{ matrix.compiler }} --version
+      env:
+        CC: ${{ matrix.compiler }}
+    - run: cmake .
+      env:
+        CC: ${{ matrix.compiler }}
+    - run: make
+      env:
+        CC: ${{ matrix.compiler }}
+    - run: make test
diff --git a/contrib/libyaml/.gitignore b/contrib/libyaml/.gitignore
new file mode 100644
index 000000000000..90840c8ac2de
--- /dev/null
+++ b/contrib/libyaml/.gitignore
@@ -0,0 +1,46 @@
+*.BAK
+*.a
+*.cmake
+*.dll
+*.exe
+*.la
+*.lo
+*.log
+*.o
+*.pc
+*.so
+*.trs
+*~
+.deps/
+.libs/
+/Testing/
+/libtool
+CMakeCache.txt
+CMakeFiles/
+GNUmakefile
+Makefile
+Makefile.in
+/aclocal.m4
+/autom4te.cache
+/config
+config.h*
+/config.status
+/configure
+stamp-h1
+!config/config.h.in
+/packaging/
+/tests/run-dumper
+/tests/run-emitter
+/tests/run-emitter-test-suite
+/tests/run-loader
+/tests/run-parser
+/tests/run-parser-test-suite
+/tests/run-scanner
+/tests/example-deconstructor
+/tests/example-deconstructor-alt
+/tests/example-reformatter
+/tests/example-reformatter-alt
+/tests/run-test-suite
+/tests/test-reader
+/tests/test-version
+/dist/
diff --git a/contrib/libyaml/.indent.pro b/contrib/libyaml/.indent.pro
new file mode 100644
index 000000000000..d647720f74d6
--- /dev/null
+++ b/contrib/libyaml/.indent.pro
@@ -0,0 +1 @@
+-kr -nut -nce -l250
diff --git a/contrib/libyaml/.makefile b/contrib/libyaml/.makefile
new file mode 100644
index 000000000000..9d526a4d3983
--- /dev/null
+++ b/contrib/libyaml/.makefile
@@ -0,0 +1,63 @@
+# This file is used for common development targets that can be done with
+# needing the cumbersome bootstrapping process.
+#
+# You can use it like this:
+#
+#   make -f .makefile indent
+#
+# If you copy or link this file to `GNUmakefile` then you can just do:
+#
+#   make indent
+#
+# When copied to `GNUmakefile`, this file is can also be used for bootstrapping
+# Makefile targets. Since GNUmakefile is loaded before Makefile, we do the
+# bootstrapping tasks need to get a Makefile first, then we use the Makefile to
+# make our target.
+
+# Remind user when they are using GNUmakefile:
+ifeq ($(lastword $(MAKEFILE_LIST)),GNUmakefile)
+    $(info *** NOTE: GNUmakefile in use. ***)
+endif
+
+MAKE_TARGETS := \
+	all \
+	all-am \
+	all-recursive \
+	install \
+	test \
+	test-all \
+	test-suite \
+
+# SOURCE_FILES := $(shell find . | grep '\.c$$')
+SOURCE_FILES := $(shell find tests/run-test-suite | grep '\.c$$')
+ifneq ($(shell which gindent),)
+INDENT := gindent
+else
+INDENT := indent
+endif
+
+#
+# Proxy make targets:
+#
+default: all
+
+# Proxy these targets to the real Makefile, after bootstrapping is necessary.
+$(MAKE_TARGETS): Makefile
+	@make -f $< $@
+
+Makefile: Makefile.in
+	./configure
+
+Makefile.in:
+	./bootstrap
+
+#
+# Development make targets:
+#
+indent:
+	$(INDENT) $(SOURCE_FILES)
+
+distclean purge:
+	git clean -dxf -e GNUmakefile
+	rm -fr tests/run-test-suite
+	git worktree prune
diff --git a/contrib/libyaml/.travis.yml b/contrib/libyaml/.travis.yml
new file mode 100644
index 000000000000..dca3bc73c4c5
--- /dev/null
+++ b/contrib/libyaml/.travis.yml
@@ -0,0 +1,28 @@
+language: c
+
+matrix:
+  include:
+  - os: linux
+    compiler: gcc
+    sudo: required
+  - os: linux
+    compiler: clang
+    sudo: required
+  - os: osx
+    compiler: gcc
+  - os: osx
+    compiler: clang
+
+before_install:
+
+# Travis branch-specific clone problem workaround:
+- git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
+- git fetch
+- env | sort
+
+- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
+    pip install --user scikit-ci-addons==0.15.0;
+    ci_addons travis/install_cmake 3.2.0;
+  fi
+
+script: tests/run-all-tests.sh
diff --git a/contrib/libyaml/CMakeLists.txt b/contrib/libyaml/CMakeLists.txt
new file mode 100644
index 000000000000..4f811481779a
--- /dev/null
+++ b/contrib/libyaml/CMakeLists.txt
@@ -0,0 +1,160 @@
+
+cmake_minimum_required(VERSION 3.0)
+project (yaml C)
+
+set (YAML_VERSION_MAJOR 0)
+set (YAML_VERSION_MINOR 2)
+set (YAML_VERSION_PATCH 5)
+set (YAML_VERSION_STRING "${YAML_VERSION_MAJOR}.${YAML_VERSION_MINOR}.${YAML_VERSION_PATCH}")
+
+option(BUILD_SHARED_LIBS "Build libyaml as a shared library" OFF)
+set(YAML_STATIC_LIB_NAME "yaml" CACHE STRING "Base name of static library output")
+
+#
+# Output directories for a build tree
+#
+if(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
+  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+endif()
+
+#
+# Install relative directories
+#
+if(NOT DEFINED INSTALL_LIB_DIR)
+  set(INSTALL_LIB_DIR lib)
+endif()
+if(NOT DEFINED INSTALL_BIN_DIR)
+  set(INSTALL_BIN_DIR bin)
+endif()
+if(NOT DEFINED INSTALL_INCLUDE_DIR)
+  set(INSTALL_INCLUDE_DIR include)
+endif()
+if(NOT DEFINED INSTALL_CMAKE_DIR)
+  set(INSTALL_CMAKE_DIR cmake)
+endif()
+
+#
+# Build library
+#
+set(SRCS
+  src/api.c
+  src/dumper.c
+  src/emitter.c
+  src/loader.c
+  src/parser.c
+  src/reader.c
+  src/scanner.c
+  src/writer.c
+  )
+
+set(config_h ${CMAKE_CURRENT_BINARY_DIR}/include/config.h)
+configure_file(
+  cmake/config.h.in
+  ${config_h}
+  )
+
+add_library(yaml ${SRCS})
+
+if(NOT BUILD_SHARED_LIBS)
+  set_target_properties(yaml
+    PROPERTIES OUTPUT_NAME ${YAML_STATIC_LIB_NAME}
+  )
+endif()
+
+set_target_properties(yaml
+  PROPERTIES DEFINE_SYMBOL YAML_DECLARE_EXPORT
+  )
+
+target_compile_definitions(yaml
+  PRIVATE HAVE_CONFIG_H
+  PUBLIC
+    $<$<NOT:$<BOOL:${BUILD_SHARED_LIBS}>>:YAML_DECLARE_STATIC>
+    $<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS>
+  )
+
+target_include_directories(yaml PUBLIC
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
+  $<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}>
+  )
+
+#
+# Install rules
+#
+install(
+  FILES
+    include/yaml.h
+  DESTINATION include COMPONENT Development
+  )
+
+install(
+  TARGETS yaml
+  EXPORT yamlTargets
+  RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT Runtime
+  LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT Development
+  ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT Development
+  )
+
+#
+# Add tests
+#
+include(CTest) # This module defines BUILD_TESTING option
+if(BUILD_TESTING)
+  add_subdirectory(tests)
+endif()
+
+#
+# Generate 'yamlConfig.cmake', 'yamlConfigVersion.cmake' and 'yamlTargets.cmake'
+#
+include(CMakePackageConfigHelpers)
+
+# Configure 'yamlConfig.cmake' for a build tree
+set(CONFIG_DIR_CONFIG ${PROJECT_BINARY_DIR})
+set(config_file ${PROJECT_BINARY_DIR}/yamlConfig.cmake)
+configure_package_config_file(
+  yamlConfig.cmake.in
+  ${config_file}
+  INSTALL_DESTINATION ${PROJECT_BINARY_DIR}
+  PATH_VARS CONFIG_DIR_CONFIG
+  NO_CHECK_REQUIRED_COMPONENTS_MACRO
+  )
+
+# Configure 'yamlTargets.cmake' for a build tree
+export(TARGETS yaml
+  FILE ${PROJECT_BINARY_DIR}/yamlTargets.cmake
+  )
+
+# Configure and install 'yamlConfig.cmake' for an install tree
+set(CONFIG_DIR_CONFIG ${INSTALL_CMAKE_DIR})
+set(install_config_file ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/yamlConfig.cmake )
+configure_package_config_file(
+  yamlConfig.cmake.in
+  ${install_config_file}
+  INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR}
+  PATH_VARS CONFIG_DIR_CONFIG
+  NO_CHECK_REQUIRED_COMPONENTS_MACRO
+  )
+install(
+  FILES ${install_config_file}
+  DESTINATION ${INSTALL_CMAKE_DIR} COMPONENT Development
+  )
+
+# Configure and install 'yamlTargets.cmake' for an install tree
+install(EXPORT yamlTargets
+  FILE yamlTargets.cmake
+  DESTINATION ${INSTALL_CMAKE_DIR}
+  COMPONENT Development
+  )
+
+# Configure 'yamlConfigVersion.cmake' for a build tree
+set(config_version_file ${PROJECT_BINARY_DIR}/yamlConfigVersion.cmake)
+write_basic_package_version_file(
+    ${config_version_file}
+    VERSION ${YAML_VERSION_STRING}
+    COMPATIBILITY AnyNewerVersion
+)
+# ... and install for an install tree
+install(
+  FILES ${config_version_file}
+  DESTINATION ${INSTALL_CMAKE_DIR} COMPONENT Development
+  )
diff --git a/contrib/libyaml/Changes b/contrib/libyaml/Changes
new file mode 100644
index 000000000000..e4b96edcbef7
--- /dev/null
+++ b/contrib/libyaml/Changes
@@ -0,0 +1,372 @@
+0.2.5 2020-06-01
+
+https://github.com/yaml/libyaml/pull/105
+Allow question marks in plain scalars in flow collections
+
+https://github.com/yaml/libyaml/pull/186
+Emitter: Don't output trailing space for empty scalar nodes
+
+https://github.com/yaml/libyaml/pull/185
+Emitter: Output space after an alias mapping key
+
+https://github.com/yaml/libyaml/pull/187
+Add -h and --flow (on|off|keep) to run-*-test-suite
+
+https://github.com/yaml/libyaml/pull/182
+Remove unnecessary include and malloc
+
+https://github.com/yaml/libyaml/pull/177
+Add specific files back to .gitignore
+
+https://github.com/yaml/libyaml/pull/181
+Output error position in run-parser-test-suite.c
+
+https://github.com/yaml/libyaml/pull/191
+A couple patches to improve test suite support
+
+0.2.4 2020-04-19
+
+  - https://github.com/yaml/libyaml/pull/143
+    Add packaging/docker-dist to Makefile.am
+
+  - https://github.com/yaml/libyaml/pull/174
+    Fix logic for document end before directive
+
+
+0.2.3 2020-04-11
+
+  - https://github.com/yaml/libyaml/pull/130
+    Fixed typo.
+
+  - https://github.com/yaml/libyaml/pull/144
+    Fix typo in comment
+
+  - https://github.com/yaml/libyaml/pull/140
+    Use pointer to const for strings that aren't/shouldn't be modified
+
+  - https://github.com/yaml/libyaml/pull/128
+    Squash a couple of warnings in example-deconstructor-alt
+
+  - https://github.com/yaml/libyaml/pull/151
+    Fix spelling for error message
+
+  - https://github.com/yaml/libyaml/pull/161
+    Make appveyor config be a hidden file
+
+  - https://github.com/yaml/libyaml/pull/159
+    Add CHANGES file
+
+  - https://github.com/yaml/libyaml/pull/160
+    Always output document end before directive (YAML 1.2 compatibility)
+
+  - https://github.com/yaml/libyaml/pull/162
+    Output document end marker after open ended scalars
+
+  - https://github.com/yaml/libyaml/pull/157
+    change cmake target name from libOFF.a to libyaml.a
+
+  - https://github.com/yaml/libyaml/pull/155
+    include/yaml.h: fix comments
+
+  - https://github.com/yaml/libyaml/pull/169
+    Fixed missing token in example
+
+  - https://github.com/yaml/libyaml/pull/127
+    Avoid recursion in the document loader.
+
+  - https://github.com/yaml/libyaml/pull/172
+    Support %YAML 1.2 directives
+
+  - https://github.com/yaml/libyaml/pull/66
+    Change dllexport controlling macro to use _WIN32
+
+0.2.2 2019-03-12
+
+  - https://github.com/yaml/libyaml/pull/95
+    build: do not install config.h
+
+  - https://github.com/yaml/libyaml/pull/97
+    appveyor.yml: fix Release build
+
+  - https://github.com/yaml/libyaml/pull/103
+    Remove unused code in yaml_document_delete
+
+  - https://github.com/yaml/libyaml/pull/104
+    Allow colons in plain scalars inside flow collections
+
+  - https://github.com/yaml/libyaml/pull/109
+    Fix comparison in tests/run-emitter.c
+
+  - https://github.com/yaml/libyaml/pull/117
+    Fix typo error
+
+  - https://github.com/yaml/libyaml/pull/119
+    The closing single quote needs to be indented...
+
+  - https://github.com/yaml/libyaml/pull/121
+    fix token name typos in comments
+
+  - https://github.com/yaml/libyaml/pull/122
+    Revert removing of open_ended after top level plain scalar
+
+  - https://github.com/yaml/libyaml/pull/125
+    Cherry-picks from PR 27
+
+  - https://github.com/yaml/libyaml/pull/135
+    Windows/C89 compatibility
+
+  - https://github.com/yaml/libyaml/pull/136
+    allow override of Windows static lib name
+
+0.2.1 2018-06-24
+
+  - https://github.com/yaml/libyaml/pull/10
+    Support static and dynamic libraries
+
+  - https://github.com/yaml/libyaml/pull/12
+    Use .gitignore instead of .hgignore
+
+  - https://github.com/yaml/libyaml/pull/13
+    Add support for `make test` and travis
+
+  - https://github.com/yaml/libyaml/pull/14
+    Dockerfile for testing
+
+  - https://github.com/yaml/libyaml/pull/15
+    Apply old fix for `\/` that is not in master.
+
+  - https://github.com/yaml/libyaml/pull/17
+    Update license to include all years until now.
+
+  - https://github.com/yaml/libyaml/pull/18
+    Port bug fix from Perl binding
+
+  - https://github.com/yaml/libyaml/pull/22
+    Fix misspell: preceed
+
+  - https://github.com/yaml/libyaml/pull/23
+    Removed trailing-whitespaces
+
+  - https://github.com/yaml/libyaml/pull/24
+    Fix typo
+
+  - https://github.com/yaml/libyaml/pull/25
+    added an examples directory with a few yaml examples
+
+  - https://github.com/yaml/libyaml/pull/26
+    Added missing Cflags path in pkg-config file
+
+  - https://github.com/yaml/libyaml/pull/31
+    add unit tests to cmake configuration
+
+  - https://github.com/yaml/libyaml/pull/32
+    Include an example of a custom tag from Python
+
+  - https://github.com/yaml/libyaml/pull/33
+    Include an example of a %YAML tag
+
+  - https://github.com/yaml/libyaml/pull/34
+    Added an example of using a global tag
+
+  - https://github.com/yaml/libyaml/pull/36
+    Fix -Wformat compilation errors in tests
+
+  - https://github.com/yaml/libyaml/pull/37
+    Update bug report URL in LibYAML
+
+  - https://github.com/yaml/libyaml/pull/38
+    Use AM_CPPFLAGS since autotools deprecated INCLUDE
+
+  - https://github.com/yaml/libyaml/pull/39
+    Update bug report URL in README
+
+  - https://github.com/yaml/libyaml/pull/41
+    Add travis and Makefile support for libyaml-test
+
+  - https://github.com/yaml/libyaml/pull/43
+    Add Dockerfile for Fedora 25
+
+  - https://github.com/yaml/libyaml/pull/44
+    WIP: Enable all warnings (-Wall) in libyaml and tests
+
+  - https://github.com/yaml/libyaml/pull/45
+    Fix typo
+
+  - https://github.com/yaml/libyaml/pull/47
+    Move travis script guts to separate file
+
+  - https://github.com/yaml/libyaml/pull/48
+    `yaml/libyaml-test` should become part of `yaml/libyaml`
+
+  - https://github.com/yaml/libyaml/pull/50
+    Add a GNUMakefile for immediate make targets
+
+  - https://github.com/yaml/libyaml/pull/53
+    Switch from test blacklist to whitelist
+
+  - https://github.com/yaml/libyaml/pull/55
+    Update defs for MingGW support on Windows
+
+  - https://github.com/yaml/libyaml/pull/58
+    Improve CMakeLists
+
+  - https://github.com/yaml/libyaml/pull/64
+    README: Update libyaml link
+
+  - https://github.com/yaml/libyaml/pull/69
+    Skip 5 tests in libyaml-emitter.list
+
+  - https://github.com/yaml/libyaml/pull/74
+    Forbid escaped singlequote in doublequotes
+
+  - https://github.com/yaml/libyaml/pull/76
+    Rewrite make test-suite
+
+  - https://github.com/yaml/libyaml/pull/77
+    Undefined PTRDIFF_MAX on HP-UX
+
+  - https://github.com/yaml/libyaml/pull/78
+    Fixed most compiler warnings -Wall -Wextra
+
+  - https://github.com/yaml/libyaml/pull/82
+    Move yaml-test-suite integration onto a separate branch.
+
+  - https://github.com/yaml/libyaml/pull/86
+    Fix problems in CI failures (travis and semaphore)
+
+  - https://github.com/yaml/libyaml/pull/87
+    appveyor.yml: add mingw-w64 builds
+
+  - https://github.com/yaml/libyaml/pull/88
+    add -no-undefined to src/Makefile.am
+
+  - https://github.com/yaml/libyaml/pull/89
+    Added alpine linux testing to dockerfiles
+
+  - https://github.com/yaml/libyaml/pull/93
+    remove need for PTRDIFF_MAX
+
+  - https://github.com/yaml/libyaml/pull/94
+    .gitignore: major cleanup
+
+  - https://github.com/yaml/libyaml/pull/120
+    Fix doc.
+
+0.1.7 2016-08-27
+
+  - Fixed segfault in yaml_string_write_handler.
+
+  - Fixed invalid simple key assertion.
+
+  - Fixed error handling in some examples (thank to Mathias Svensson).
+
+  - Removed obsolete VS project files.
+
+0.1.6 2014-03-26
+
+  - https://github.com/yaml/libyaml/commit/d1003a9
+    Fixed heap overflow in yaml_parser_scan_uri_escapes (Thanks
+    Ivan Fratric of the Google Security Team).
+
+  - https://github.com/yaml/libyaml/commit/662f4be
+    Added tag 0.1.5 for changeset a5142b24428b
+
+0.1.5 2014-02-03
+
+  - https://github.com/yaml/libyaml/commit/303b455
+    Manually define PTRDIFF_MAX for VS C compiler.
+
+  - https://github.com/yaml/libyaml/commit/1ef1171
+    Forgot to set the error state.
+
+  - https://github.com/yaml/libyaml/commit/c9479c7
+    Limit input size to SIZE_MAX/2.
+
+  - https://github.com/yaml/libyaml/commit/c201bf6
+    Guard against overflows in indent and flow_level.
+
+  - https://github.com/yaml/libyaml/commit/bb8ab82
+    Added .hgignore.
+
+  - https://github.com/yaml/libyaml/commit/2d94fc5
+    Prevent node index overflow (Reported by Florian Weimer).
+
+  - https://github.com/yaml/libyaml/commit/df33f25
+    Bumped the version number.
+
+  - https://github.com/yaml/libyaml/commit/f56726b
+    Fixed invalid size_t->int cast (Thank to Florian Weimer).
+
+  - https://github.com/yaml/libyaml/commit/01e8dad
+    Added a basic CMake project.
+
+  - https://github.com/yaml/libyaml/commit/f54fc40
+    Added tag 0.1.4 for changeset 3e6507fa0c26
+
+0.1.4 2012-12-24
+
+  - Fixed a bug that prevented an empty mapping being used as a simple key
+    (thank to spitzak(at)rhythm(dot)com).
+
+  - Fixed pointer overflow when calculating the position of a potential
+    simple key (thank to ppelletier(at)oblong(dot)com).
+
+  - Fixed yaml.dll not exporting any symbols
+    (thank to pxn11432(at)nifty(dot)com).
+
+  - Added pkg-config support (thank to rainwoodman(at)gmail(dot)com).
+
+0.1.3 2009-08-29
+
+  - This release fixes non-standard structure initialization and
+    a streaming-related issue.
+
+0.1.2 2008-12-27
+
+  - Minor bugfix release
+
+0.1.1 2006-08-01
+
+  - https://github.com/yaml/libyaml/commit/5e52c31
+    Fixed a problem when the DOCUMENT-END event is not emitted until
+    the beginning of the next document is available. Fixed #51.
+    Thanks edward(at)sweetbytes.net for the bug report.
+
+  - https://github.com/yaml/libyaml/commit/dd71484
+    Add project files for Visual Studio 2003.
+
+  - https://github.com/yaml/libyaml/commit/ce8a93e
+    Fix the example_deconstructor project.
+
+  - https://github.com/yaml/libyaml/commit/c9b74de
+    Eliminate some warnings and add more doxygen definitions.
+
+  - https://github.com/yaml/libyaml/commit/0122490
+    Undefine the NDEBUG directive for the test programs.
+
+  - https://github.com/yaml/libyaml/commit/071329a
+    Fix a bug in the emitter introduced while fixing warnings for VC6.
+
+  - https://github.com/yaml/libyaml/commit/6f6bbb8
+    Add VC6 projects for the test executables.
+
+  - https://github.com/yaml/libyaml/commit/0174ed6
+    Add win32 fixes and project files for VC6.
+
+  - https://github.com/yaml/libyaml/commit/e27a3c8
+    Add functions for constructing, parsing and emitting YAML documents.
+
+  - https://github.com/yaml/libyaml/commit/a907bf8
+    Add `const` qualifier for `yaml_parser_set_input_string` parameter `input`.
+
+  - https://github.com/yaml/libyaml/commit/c83b67a
+    Force a new line at the end of the input stream even if there
+    are no a new line character. This fixes a nasty bug when libyaml hangs on
+    documents like `[[[[`. Thanks ciaranm for reporting the bug.
+
+  - https://github.com/yaml/libyaml/commit/609cce0
+    Older versions of gcc do not know about -Wno-pointer-sign.
+
+0.0.1 2006-08-01
+
+  - Initial release
diff --git a/contrib/libyaml/License b/contrib/libyaml/License
new file mode 100644
index 000000000000..3d82c281ee8c
--- /dev/null
+++ b/contrib/libyaml/License
@@ -0,0 +1,20 @@
+Copyright (c) 2017-2020 Ingy döt Net
+Copyright (c) 2006-2016 Kirill Simonov
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/contrib/libyaml/Makefile.am b/contrib/libyaml/Makefile.am
new file mode 100644
index 000000000000..551c74071f7a
--- /dev/null
+++ b/contrib/libyaml/Makefile.am
@@ -0,0 +1,54 @@
+## Run `./bootstrap` to generate the "Makefile.in" files in this directory and
+## the "$SUBDIRS" subdirectories.
+
+SUBDIRS = include src . tests
+
+EXTRA_DIST = Changes ReadMe.md License CMakeLists.txt doc/doxygen.cfg
+
+LIBYAML_TEST_SUITE_RUN_REPO_DEFAULT := https://github.com/yaml/libyaml
+LIBYAML_TEST_SUITE_RUN_REPO ?= $(LIBYAML_TEST_SUITE_RUN_REPO_DEFAULT)
+LIBYAML_TEST_SUITE_RUN_BRANCH ?= run-test-suite
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = yaml-0.1.pc
+
+maintainer-clean-local:
+	rm -f aclocal.m4 config.h.in configure config/*
+	-find ${builddir} -name Makefile.in -exec rm -f '{}' ';'
+
+distclean-local:
+	rm -fr tests/run-test-suite packaging
+	-git worktree prune
+
+.PHONY: bootstrap
+bootstrap: maintainer-clean
+	./bootstrap
+	./configure
+	make
+
+test: all
+	make -C tests check-TESTS
+
+test-suite: tests/run-test-suite all
+	make -C $< test
+
+test-all: test test-suite
+
+tests/run-test-suite:
+ifeq ($(LIBYAML_TEST_SUITE_RUN_REPO),$(LIBYAML_TEST_SUITE_RUN_REPO_DEFAULT))
+	  -git branch --track $(LIBYAML_TEST_SUITE_RUN_BRANCH) origin/$(LIBYAML_TEST_SUITE_RUN_BRANCH)
+	  -git worktree prune
+	  git worktree add $@ $(LIBYAML_TEST_SUITE_RUN_BRANCH)
+    else
+	  git clone --branch $(LIBYAML_TEST_SUITE_RUN_BRANCH) $(LIBYAML_TEST_SUITE_RUN_REPO) $@
+    endif
+
+packaging:
+	-git branch --track $@ origin/$@
+	git worktree add --force $@ $@
+
+docker-dist: packaging
+	make -C $</docker libyaml-dist
+
+docker-test-pyyaml: packaging
+	make -C $</docker test-pyyaml
diff --git a/contrib/libyaml/ReadMe.md b/contrib/libyaml/ReadMe.md
new file mode 100644
index 000000000000..2dfcc4476dcd
--- /dev/null
+++ b/contrib/libyaml/ReadMe.md
@@ -0,0 +1,46 @@
+## LibYAML - A C library for parsing and emitting YAML.
+
+To build and install the library, run:
+
+    $ ./configure
*** 18112 LINES SKIPPED ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202507081432.568EW9ws071957>