aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libyaml
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libyaml
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libyaml')
-rw-r--r--vcpkg/ports/libyaml/export-pkgconfig.patch16
-rw-r--r--vcpkg/ports/libyaml/fix-POSIX_name.patch13
-rw-r--r--vcpkg/ports/libyaml/portfile.cmake33
-rw-r--r--vcpkg/ports/libyaml/vcpkg.json17
4 files changed, 79 insertions, 0 deletions
diff --git a/vcpkg/ports/libyaml/export-pkgconfig.patch b/vcpkg/ports/libyaml/export-pkgconfig.patch
new file mode 100644
index 0000000..5e0d5a3
--- /dev/null
+++ b/vcpkg/ports/libyaml/export-pkgconfig.patch
@@ -0,0 +1,16 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4f81148..8006536 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -158,3 +158,11 @@ install(
+ FILES ${config_version_file}
+ DESTINATION ${INSTALL_CMAKE_DIR} COMPONENT Development
+ )
++
++set(prefix ${CMAKE_INSTALL_PREFIX})
++set(exec_prefix ${CMAKE_INSTALL_PREFIX})
++set(includedir ${CMAKE_INSTALL_PREFIX}/include)
++set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
++set(PACKAGE_VERSION 0.1)
++configure_file(yaml-0.1.pc.in ${PROJECT_BINARY_DIR}/yaml-0.1.pc @ONLY)
++install(FILES ${PROJECT_BINARY_DIR}/yaml-0.1.pc DESTINATION lib/pkgconfig)
diff --git a/vcpkg/ports/libyaml/fix-POSIX_name.patch b/vcpkg/ports/libyaml/fix-POSIX_name.patch
new file mode 100644
index 0000000..0aa6d21
--- /dev/null
+++ b/vcpkg/ports/libyaml/fix-POSIX_name.patch
@@ -0,0 +1,13 @@
+diff --git a/src/api.c b/src/api.c
+index e793b08..6f16fc5 100644
+--- a/src/api.c
++++ b/src/api.c
+@@ -63,7 +63,7 @@ yaml_strdup(const yaml_char_t *str)
+ if (!str)
+ return NULL;
+
+- return (yaml_char_t *)strdup((char *)str);
++ return (yaml_char_t *)_strdup((char *)str);
+ }
+
+ /*
diff --git a/vcpkg/ports/libyaml/portfile.cmake b/vcpkg/ports/libyaml/portfile.cmake
new file mode 100644
index 0000000..3a839ee
--- /dev/null
+++ b/vcpkg/ports/libyaml/portfile.cmake
@@ -0,0 +1,33 @@
+if(VCPKG_TARGET_IS_WINDOWS)
+ set(PATCHES fix-POSIX_name.patch)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO yaml/libyaml
+ REF 2c891fc7a770e8ba2fec34fc6b545c672beb37e6 # 0.2.5
+ SHA512 7cdde7b48c937777b851747f7e0b9a74cb7da30173e09305dad931ef83c3fcee3e125e721166690fe6a0987ba897564500530e5518e4b66b1c9b1db8900bf320
+ HEAD_REF master
+ PATCHES
+ ${PATCHES}
+ export-pkgconfig.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DBUILD_TESTING=OFF
+ -DINSTALL_CMAKE_DIR=share/yaml
+)
+
+vcpkg_cmake_install()
+
+vcpkg_copy_pdbs()
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME yaml CONFIG_PATH share/yaml)
+
+vcpkg_fixup_pkgconfig()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/include/config.h" "${CURRENT_PACKAGES_DIR}/debug/share")
+
+configure_file("${SOURCE_PATH}/License" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY)
diff --git a/vcpkg/ports/libyaml/vcpkg.json b/vcpkg/ports/libyaml/vcpkg.json
new file mode 100644
index 0000000..ba805ab
--- /dev/null
+++ b/vcpkg/ports/libyaml/vcpkg.json
@@ -0,0 +1,17 @@
+{
+ "name": "libyaml",
+ "version": "0.2.5",
+ "port-version": 5,
+ "description": "A C library for parsing and emitting YAML.",
+ "homepage": "https://github.com/yaml/libyaml",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}