diff options
Diffstat (limited to 'vcpkg/ports/libyaml')
| -rw-r--r-- | vcpkg/ports/libyaml/export-pkgconfig.patch | 16 | ||||
| -rw-r--r-- | vcpkg/ports/libyaml/fix-POSIX_name.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/libyaml/portfile.cmake | 33 | ||||
| -rw-r--r-- | vcpkg/ports/libyaml/vcpkg.json | 17 |
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 + } + ] +} |