aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libevent
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/libevent
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libevent')
-rw-r--r--vcpkg/ports/libevent/fix-LibeventConfig_cmake_in_path.patch28
-rw-r--r--vcpkg/ports/libevent/fix-file_path.patch22
-rw-r--r--vcpkg/ports/libevent/fix-usage.patch13
-rw-r--r--vcpkg/ports/libevent/fix-uwp.patch53
-rw-r--r--vcpkg/ports/libevent/portfile.cmake76
-rw-r--r--vcpkg/ports/libevent/vcpkg.json38
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"
+ }
+ }
+}