diff options
Diffstat (limited to 'vcpkg/ports/libevent')
| -rw-r--r-- | vcpkg/ports/libevent/fix-LibeventConfig_cmake_in_path.patch | 28 | ||||
| -rw-r--r-- | vcpkg/ports/libevent/fix-file_path.patch | 22 | ||||
| -rw-r--r-- | vcpkg/ports/libevent/fix-usage.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/libevent/fix-uwp.patch | 53 | ||||
| -rw-r--r-- | vcpkg/ports/libevent/portfile.cmake | 76 | ||||
| -rw-r--r-- | vcpkg/ports/libevent/vcpkg.json | 38 |
6 files changed, 230 insertions, 0 deletions
diff --git a/vcpkg/ports/libevent/fix-LibeventConfig_cmake_in_path.patch b/vcpkg/ports/libevent/fix-LibeventConfig_cmake_in_path.patch new file mode 100644 index 0000000..b974f9d --- /dev/null +++ b/vcpkg/ports/libevent/fix-LibeventConfig_cmake_in_path.patch @@ -0,0 +1,28 @@ +diff --git a/cmake/LibeventConfig.cmake.in b/cmake/LibeventConfig.cmake.in +index a12fc23c..fe108b8d 100644 +--- a/cmake/LibeventConfig.cmake.in ++++ b/cmake/LibeventConfig.cmake.in +@@ -58,7 +58,7 @@ endif() + + # Get the path of the current file. + get_filename_component(LIBEVENT_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +-get_filename_component(_INSTALL_PREFIX "${LIBEVENT_CMAKE_DIR}/../../.." ABSOLUTE) ++get_filename_component(_INSTALL_PREFIX "${LIBEVENT_CMAKE_DIR}/../.." ABSOLUTE) + + macro(message_if_needed _flag _msg) + if (NOT ${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY) +@@ -131,12 +131,10 @@ if(CONFIG_FOR_INSTALL_TREE) + unset(_event_lib_rel CACHE) + find_library(_event_lib_dbg + NAMES "event_${_comp}d" +- PATHS "${_INSTALL_PREFIX}/lib" +- NO_DEFAULT_PATH) ++ PATHS "${_INSTALL_PREFIX}/lib") + find_library(_event_lib_rel + NAMES "event_${_comp}" +- PATHS "${_INSTALL_PREFIX}/lib" +- NO_DEFAULT_PATH) ++ PATHS "${_INSTALL_PREFIX}/lib") + if(_event_lib_rel OR _event_lib_dbg) + list(APPEND LIBEVENT_LIBRARIES "libevent::${_comp}") + set_case_insensitive_found(${_comp}) diff --git a/vcpkg/ports/libevent/fix-file_path.patch b/vcpkg/ports/libevent/fix-file_path.patch new file mode 100644 index 0000000..fb34080 --- /dev/null +++ b/vcpkg/ports/libevent/fix-file_path.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/AddEventLibrary.cmake b/cmake/AddEventLibrary.cmake +index 04f5837..95d9808 100644 +--- a/cmake/AddEventLibrary.cmake ++++ b/cmake/AddEventLibrary.cmake +@@ -42,7 +42,7 @@ macro(export_install_target TYPE LIB_NAME OUTER_INCLUDES) + install(TARGETS "${LIB_NAME}_${TYPE}" + LIBRARY DESTINATION "lib" COMPONENT lib + ARCHIVE DESTINATION "lib" COMPONENT lib +- RUNTIME DESTINATION "lib" COMPONENT lib ++ RUNTIME DESTINATION "bin" COMPONENT bin + COMPONENT dev + ) + else() +@@ -69,7 +69,7 @@ macro(export_install_target TYPE LIB_NAME OUTER_INCLUDES) + EXPORT LibeventTargets-${TYPE} + LIBRARY DESTINATION "lib" COMPONENT lib + ARCHIVE DESTINATION "lib" COMPONENT lib +- RUNTIME DESTINATION "lib" COMPONENT lib ++ RUNTIME DESTINATION "bin" COMPONENT bin + COMPONENT dev + ) + endif() diff --git a/vcpkg/ports/libevent/fix-usage.patch b/vcpkg/ports/libevent/fix-usage.patch new file mode 100644 index 0000000..1609bd1 --- /dev/null +++ b/vcpkg/ports/libevent/fix-usage.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 676727f..c83afae 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1453,7 +1453,7 @@ endif()
+ #
+
+ set(EVENT_INSTALL_CMAKE_DIR
+- "${CMAKE_INSTALL_PREFIX}/lib/cmake/libevent")
++ "lib/cmake/libevent")
+
+ export(PACKAGE libevent)
+
diff --git a/vcpkg/ports/libevent/fix-uwp.patch b/vcpkg/ports/libevent/fix-uwp.patch new file mode 100644 index 0000000..64afb42 --- /dev/null +++ b/vcpkg/ports/libevent/fix-uwp.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 07520043..7eec4059 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1022,6 +1022,9 @@ if(WIN32) + add_definitions( + -D_CRT_SECURE_NO_WARNINGS + -D_CRT_NONSTDC_NO_DEPRECATE) ++ if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") ++ add_definitions(-DWINRT) ++ endif() + + include_directories(./WIN32-Code) + endif() +diff --git a/evdns.c b/evdns.c +index 05e515c0..912f1115 100644 +--- a/evdns.c ++++ b/evdns.c +@@ -4501,8 +4501,12 @@ evdns_get_default_hosts_filename(void) + char *path_out; + size_t len_out; + ++#ifndef WINRT + if (! SHGetSpecialFolderPathA(NULL, path, CSIDL_SYSTEM, 0)) + return NULL; ++#else ++ return NULL; ++#endif + len_out = strlen(path)+strlen(hostfile)+1; + path_out = mm_malloc(len_out); + evutil_snprintf(path_out, len_out, "%s%s", path, hostfile); +diff --git a/evutil.c b/evutil.c +index d46c997b..bad21ede 100644 +--- a/evutil.c ++++ b/evutil.c +@@ -2240,6 +2240,9 @@ evutil_inet_pton_scope(int af, const char *src, void *dst, unsigned *indexp) + if (cp == NULL) + return evutil_inet_pton(af, src, dst); + ++#ifdef WINRT ++ return -1; ++#else + if_index = if_nametoindex(cp + 1); + if (if_index == 0) { + /* Could be numeric */ +@@ -2256,6 +2259,7 @@ evutil_inet_pton_scope(int af, const char *src, void *dst, unsigned *indexp) + r = evutil_inet_pton(af, tmp_src, dst); + free(tmp_src); + return r; ++#endif + } + + int diff --git a/vcpkg/ports/libevent/portfile.cmake b/vcpkg/ports/libevent/portfile.cmake new file mode 100644 index 0000000..59b8a7e --- /dev/null +++ b/vcpkg/ports/libevent/portfile.cmake @@ -0,0 +1,76 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libevent/libevent + REF 4d85d28acdbb83bb60e500e9345bab757b64d6d1 + SHA512 d03daf8e2277e8b9d67e0028d05566c8972a706e53dcb6593f8f92942ff9ce814970418a10d4c37e68228ec153f8fbc7d764a7ff92e2872277a92039380cbbe9 + PATCHES + fix-uwp.patch + fix-file_path.patch + fix-LibeventConfig_cmake_in_path.patch + fix-usage.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + INVERTED_FEATURES + openssl EVENT__DISABLE_OPENSSL + thread EVENT__DISABLE_THREAD_SUPPORT +) + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(LIBEVENT_LIB_TYPE SHARED) +else() + set(LIBEVENT_LIB_TYPE STATIC) +endif() + +if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(LIBEVENT_STATIC_RUNTIME ON) +else() + set(LIBEVENT_STATIC_RUNTIME OFF) +endif() + +if(VCPKG_TARGET_IS_UWP) + list(APPEND FEATURE_OPTIONS -DEVENT__HAVE_AFUNIX_H=0) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS ${FEATURE_OPTIONS} + -DEVENT__LIBRARY_TYPE=${LIBEVENT_LIB_TYPE} + -DEVENT__MSVC_STATIC_RUNTIME=${LIBEVENT_STATIC_RUNTIME} + -DEVENT__DISABLE_BENCHMARK=ON + -DEVENT__DISABLE_TESTS=ON + -DEVENT__DISABLE_REGRESS=ON + -DEVENT__DISABLE_SAMPLES=ON + -DEVENT__DISABLE_MBEDTLS=ON +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT}) + +file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/libevent/") +file(RENAME "${CURRENT_PACKAGES_DIR}/bin/event_rpcgen.py" "${CURRENT_PACKAGES_DIR}/tools/libevent/event_rpcgen.py") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +if(NOT VCPKG_TARGET_IS_WINDOWS OR VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +set(_target_suffix) +if(VCPKG_LIBRARY_LINKAGE STREQUAL static) + set(_target_suffix static) +else() + set(_target_suffix shared) +endif() +vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/libevent/LibeventTargets-${_target_suffix}.cmake + "${CURRENT_PACKAGES_DIR}" + "${CURRENT_INSTALLED_DIR}" + IGNORE_UNCHANGED +) +vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/libevent/LibeventConfig.cmake "${SOURCE_PATH}/include;${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/include" "") +vcpkg_fixup_pkgconfig() +vcpkg_copy_pdbs() + +#Handle copyright +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/vcpkg/ports/libevent/vcpkg.json b/vcpkg/ports/libevent/vcpkg.json new file mode 100644 index 0000000..7fd1419 --- /dev/null +++ b/vcpkg/ports/libevent/vcpkg.json @@ -0,0 +1,38 @@ +{ + "name": "libevent", + "version": "2.1.12+20230128", + "port-version": 1, + "description": "An event notification library", + "homepage": "https://github.com/libevent/libevent", + "license": "BSD-3-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "default-features": [ + "thread" + ], + "features": { + "openssl": { + "description": "Support for openssl", + "dependencies": [ + { + "name": "libevent", + "features": [ + "thread" + ] + }, + "openssl" + ] + }, + "thread": { + "description": "Support for thread" + } + } +} |