diff options
Diffstat (limited to 'vcpkg/ports/getdns')
| -rw-r--r-- | vcpkg/ports/getdns/disable-docs.patch | 40 | ||||
| -rw-r--r-- | vcpkg/ports/getdns/fix-include.patch | 30 | ||||
| -rw-r--r-- | vcpkg/ports/getdns/fix-libuv-deps.patch | 33 | ||||
| -rw-r--r-- | vcpkg/ports/getdns/portfile.cmake | 52 | ||||
| -rw-r--r-- | vcpkg/ports/getdns/vcpkg.json | 30 |
5 files changed, 185 insertions, 0 deletions
diff --git a/vcpkg/ports/getdns/disable-docs.patch b/vcpkg/ports/getdns/disable-docs.patch new file mode 100644 index 0000000..3d0670e --- /dev/null +++ b/vcpkg/ports/getdns/disable-docs.patch @@ -0,0 +1,40 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9170be7..def3758 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1036,9 +1036,9 @@ configure_file(src/version.c.in version.c) + + set(version ${PACKAGE_VERSION}) + set(date ${API_VERSION}) +-file(GLOB mans doc/*.3.in) +-file(MAKE_DIRECTORY man3) +-foreach (man ${mans}) ++#file(GLOB mans doc/*.3.in) ++#file(MAKE_DIRECTORY man3) ++if (FALSE) + get_filename_component(out ${man} NAME_WE) + configure_file(${man} man3/${out}.3 @ONLY) + +@@ -1058,7 +1058,7 @@ foreach (man ${mans}) + configure_file(${man} man3/${alt}.3 @ONLY) + endif () + endforeach() +-endforeach() ++endif() + + set(prefix ${CMAKE_INSTALL_PREFIX}) + cmake_path(APPEND libdir_for_pc_file "\${prefix}" "${CMAKE_INSTALL_LIBDIR}") +@@ -1098,10 +1098,10 @@ if (BUILD_GETDNS_SERVER_MON) + endif () + + install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/getdns DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +-install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man3 DESTINATION ${CMAKE_INSTALL_MANDIR}) ++#install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/man3 DESTINATION ${CMAKE_INSTALL_MANDIR}) + +-install(FILES AUTHORS ChangeLog COPYING LICENSE NEWS README.md DESTINATION ${CMAKE_INSTALL_DOCDIR}) +-install(FILES spec/index.html DESTINATION ${CMAKE_INSTALL_DOCDIR}/spec) ++#install(FILES AUTHORS ChangeLog COPYING LICENSE NEWS README.md DESTINATION ${CMAKE_INSTALL_DOCDIR}) ++#install(FILES spec/index.html DESTINATION ${CMAKE_INSTALL_DOCDIR}/spec) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/getdns.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + + install(CODE "message(\"\ diff --git a/vcpkg/ports/getdns/fix-include.patch b/vcpkg/ports/getdns/fix-include.patch new file mode 100644 index 0000000..27ea5fa --- /dev/null +++ b/vcpkg/ports/getdns/fix-include.patch @@ -0,0 +1,30 @@ +diff --git a/src/gldns/parse.c b/src/gldns/parse.c +index 367fa80..79fa527 100644 +--- a/src/gldns/parse.c ++++ b/src/gldns/parse.c +@@ -13,7 +13,7 @@ + #include "gldns/gbuffer.h" + + #include <limits.h> +-#include <strings.h> ++#include <stdlib.h> + + gldns_lookup_table gldns_directive_types[] = { + { GLDNS_DIR_TTL, "$TTL" }, +diff --git a/src/gldns/parseutil.c b/src/gldns/parseutil.c +index 293496a..bcd8e6f 100644 +--- a/src/gldns/parseutil.c ++++ b/src/gldns/parseutil.c +@@ -14,8 +14,12 @@ + + #include "config.h" + #include "gldns/parseutil.h" ++#ifdef HAVE_SYS_TIME_H + #include <sys/time.h> ++#endif ++#ifdef HAVE_TIME_H + #include <time.h> ++#endif + #include <ctype.h> + + gldns_lookup_table * diff --git a/vcpkg/ports/getdns/fix-libuv-deps.patch b/vcpkg/ports/getdns/fix-libuv-deps.patch new file mode 100644 index 0000000..71720ce --- /dev/null +++ b/vcpkg/ports/getdns/fix-libuv-deps.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c5b711e..6bd9ee2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -872,7 +872,7 @@ endif () + + # libuv extension. + if (USE_LIBUV) +- find_package(Libuv) ++ find_package(libuv CONFIG REQUIRED) + if (Libuv_FOUND) + # Check for new-style callbacks. + try_compile(HAVE_NEW_UV_TIMER_CB +@@ -894,8 +894,7 @@ if (USE_LIBUV) + set_property(TARGET uv_objects PROPERTY C_STANDARD 11) + if (ENABLE_STATIC) + add_library(getdns_ext_uv STATIC $<TARGET_OBJECTS:uv_objects>) +- target_include_directories(getdns_ext_uv PRIVATE Libuv::Libuv) +- target_link_libraries(getdns_ext_uv PUBLIC getdns Libuv::Libuv) ++ target_link_libraries(getdns_ext_uv PUBLIC getdns $<IF:$<TARGET_EXISTS:libuv::uv_a>,libuv::uv_a,libuv::uv>) + if (Libunbound_FOUND) + target_link_libraries(getdns_ext_uv PUBLIC Libunbound::Libunbound) + endif () +@@ -903,8 +902,7 @@ if (USE_LIBUV) + endif () + if (ENABLE_SHARED) + add_library(getdns_ext_uv_shared SHARED $<TARGET_OBJECTS:uv_objects>) +- target_include_directories(getdns_ext_uv_shared PRIVATE Libuv::Libuv) +- target_link_libraries(getdns_ext_uv_shared PUBLIC getdns_shared Libuv::Libuv) ++ target_link_libraries(getdns_ext_uv_shared PUBLIC getdns $<IF:$<TARGET_EXISTS:libuv::uv_a>,libuv::uv_a,libuv::uv>) + if (Libunbound_FOUND) + target_link_libraries(getdns_ext_uv_shared PUBLIC Libunbound::Libunbound) + endif () diff --git a/vcpkg/ports/getdns/portfile.cmake b/vcpkg/ports/getdns/portfile.cmake new file mode 100644 index 0000000..64eccdf --- /dev/null +++ b/vcpkg/ports/getdns/portfile.cmake @@ -0,0 +1,52 @@ +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" GETDNS_ENABLE_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" GETDNS_ENABLE_SHARED) + +vcpkg_download_distfile(ARCHIVE + URLS "https://getdnsapi.net/dist/getdns-${VERSION}.tar.gz" + FILENAME "getdns-${VERSION}.tar.gz" + SHA512 d5725a24378b6fe0018daefdaba5565d2d4d51109ef66609fc34270a0a69accb95f5f895d0cdfc5caca51d2ec586db126f367439f05aed12507395af26739e2f +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + disable-docs.patch + fix-include.patch + fix-libuv-deps.patch +) + +if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) + set(VCPKG_CXX_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_CXX_FLAGS}") + set(VCPKG_C_FLAGS "/D_CRT_DECLARE_NONSTDC_NAMES ${VCPKG_C_FLAGS}") +endif() + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + libevent BUILD_LIBEVENT2 + libuv BUILD_LIBUV +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_GETDNS_QUERY=OFF + -DBUILD_GETDNS_SERVER_MON=OFF + -DENABLE_STATIC=${GETDNS_ENABLE_STATIC} + -DENABLE_SHARED=${GETDNS_ENABLE_SHARED} + ${FEATURE_OPTIONS} + -DBUILD_TESTING=OFF + -DENABLE_STUB_ONLY=ON #if setting ON, it will require libunbound to build on Unix platform. +) +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_fixup_pkgconfig() + +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/vcpkg/ports/getdns/vcpkg.json b/vcpkg/ports/getdns/vcpkg.json new file mode 100644 index 0000000..92ee276 --- /dev/null +++ b/vcpkg/ports/getdns/vcpkg.json @@ -0,0 +1,30 @@ +{ + "name": "getdns", + "version": "1.7.3", + "description": "GetDNS is a modern asynchronous DNS API", + "homepage": "https://getdnsapi.net/", + "license": "BSD-3-Clause", + "supports": "!uwp", + "dependencies": [ + "libidn2", + "openssl", + { + "name": "vcpkg-cmake", + "host": true + } + ], + "features": { + "libevent": { + "description": "libevent event loop integration", + "dependencies": [ + "libevent" + ] + }, + "libuv": { + "description": "libuv event loop integration", + "dependencies": [ + "libuv" + ] + } + } +} |