aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2023-04-19 16:11:45 -0400
committerfanquake <fanquake@gmail.com>2024-06-25 16:05:40 +0100
commitf59e9057e2aa596b54cf9e85bab35c3ead137547 (patch)
tree98fb960e841e24d6f5b3bc204a0a12395787e671
parent323b0acfcb9380ce4b3c12a3d0b341d7bb3bfe08 (diff)
depends: switch libevent to CMake
-rw-r--r--depends/packages/libevent.mk14
-rw-r--r--depends/patches/libevent/cmake_fixups.patch35
2 files changed, 43 insertions, 6 deletions
diff --git a/depends/packages/libevent.mk b/depends/packages/libevent.mk
index d764be5d0a..60e1ee469e 100644
--- a/depends/packages/libevent.mk
+++ b/depends/packages/libevent.mk
@@ -3,14 +3,16 @@ $(package)_version=2.1.12-stable
$(package)_download_path=https://github.com/libevent/libevent/releases/download/release-$($(package)_version)/
$(package)_file_name=$(package)-$($(package)_version).tar.gz
$(package)_sha256_hash=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
+$(package)_patches=cmake_fixups.patch
+$(package)_build_subdir=build
# When building for Windows, we set _WIN32_WINNT to target the same Windows
# version as we do in configure. Due to quirks in libevents build system, this
# is also required to enable support for ipv6. See #19375.
define $(package)_set_vars
- $(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress --disable-samples
- $(package)_config_opts += --disable-dependency-tracking --enable-option-checking
- $(package)_config_opts_release=--disable-debug-mode
+ $(package)_config_opts=-DEVENT__DISABLE_BENCHMARK=ON -DEVENT__DISABLE_OPENSSL=ON
+ $(package)_config_opts+=-DEVENT__DISABLE_SAMPLES=ON -DEVENT__DISABLE_REGRESS=ON
+ $(package)_config_opts+=-DEVENT__DISABLE_TESTS=ON -DEVENT__LIBRARY_TYPE=STATIC
$(package)_cppflags_mingw32=-D_WIN32_WINNT=0x0601
ifeq ($(NO_HARDEN),)
@@ -19,11 +21,11 @@ define $(package)_set_vars
endef
define $(package)_preprocess_cmds
- cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux
+ patch -p1 < $($(package)_patch_dir)/cmake_fixups.patch
endef
define $(package)_config_cmds
- $($(package)_autoconf)
+ $($(package)_cmake) -S .. -B .
endef
define $(package)_build_cmds
@@ -35,7 +37,7 @@ define $(package)_stage_cmds
endef
define $(package)_postprocess_cmds
- rm lib/*.la && \
+ rm bin/event_rpcgen.py && \
rm include/ev*.h && \
rm include/event2/*_compat.h
endef
diff --git a/depends/patches/libevent/cmake_fixups.patch b/depends/patches/libevent/cmake_fixups.patch
new file mode 100644
index 0000000000..d80c1a9489
--- /dev/null
+++ b/depends/patches/libevent/cmake_fixups.patch
@@ -0,0 +1,35 @@
+cmake: set minimum version to 3.5
+
+Fix generated pkg-config files, see
+https://github.com/libevent/libevent/pull/1165.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -19,7 +19,7 @@
+ # start libevent.sln
+ #
+
+-cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
++cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
+
+ if (POLICY CMP0054)
+ cmake_policy(SET CMP0054 NEW)
+diff --git a/cmake/AddEventLibrary.cmake b/cmake/AddEventLibrary.cmake
+index 04f5837e..d8ea42c4 100644
+--- a/cmake/AddEventLibrary.cmake
++++ b/cmake/AddEventLibrary.cmake
+@@ -20,12 +20,12 @@ macro(generate_pkgconfig LIB_NAME)
+
+ set(LIBS "")
+ foreach (LIB ${LIB_PLATFORM})
+- set(LIBS "${LIBS} -L${LIB}")
++ set(LIBS "${LIBS} -l${LIB}")
+ endforeach()
+
+ set(OPENSSL_LIBS "")
+ foreach(LIB ${OPENSSL_LIBRARIES})
+- set(OPENSSL_LIBS "${OPENSSL_LIBS} -L${LIB}")
++ set(OPENSSL_LIBS "${OPENSSL_LIBS} -l${LIB}")
+ endforeach()
+
+ configure_file("lib${LIB_NAME}.pc.in" "lib${LIB_NAME}.pc" @ONLY)