include $(TOPDIR)/rules.mk
PKG_NAME:=libevent2
-PKG_VERSION:=2.1.8
-PKG_RELEASE:=3
+PKG_VERSION:=2.1.11
+PKG_RELEASE:=1
PKG_SOURCE:=libevent-$(PKG_VERSION)-stable.tar.gz
PKG_SOURCE_URL:=https://github.com/libevent/libevent/releases/download/release-$(PKG_VERSION)-stable
-PKG_HASH:=965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2
+PKG_HASH:=a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d
PKG_BUILD_DIR:=$(BUILD_DIR)/libevent-$(PKG_VERSION)-stable
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_LICENSE:=BSD-3-Clause
PKG_CPE_ID:=cpe:/a:libevent_project:libevent
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
+PKG_CONFIG_DEPENDS:= \
+ CONFIG_PACKAGE_libevent2-openssl \
+ CONFIG_PACKAGE_libevent2-mbedtls
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libevent2/Default
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Event notification
URL:=http://libevent.org
- ABI_VERSION:=6
+ ABI_VERSION:=7
endef
define Package/libevent2/Default/description
define Package/libevent2-extra
$(call Package/libevent2/Default)
TITLE+= extra library (version 2.1)
+ DEPENDS+=+libevent2-core
endef
define Package/libevent2-extra/description
define Package/libevent2-openssl
$(call Package/libevent2/Default)
TITLE+= OpenSSL library (version 2.1)
- DEPENDS+=+libopenssl
+ DEPENDS+=+libopenssl +libevent2-core
endef
define Package/libevent2-openssl/description
define Package/libevent2-pthreads
$(call Package/libevent2/Default)
TITLE+= Pthreads library (version 2.1)
- DEPENDS+=+libpthread
+ DEPENDS+=+libpthread +libevent2-core
endef
define Package/libevent2-pthreads/description
threading & locking.
endef
-TARGET_CFLAGS += $(FPIC)
+TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto
+TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed -flto
-CONFIGURE_ARGS += \
- --enable-shared \
- --enable-static \
- --disable-debug-mode
-
-MAKE_FLAGS += \
- CFLAGS="$(TARGET_CFLAGS)"
+CMAKE_OPTIONS += \
+ -DEVENT__DISABLE_BENCHMARK:BOOL=ON \
+ -DEVENT__DISABLE_DEBUG_MODE:BOOL=ON \
+ -DEVENT__DISABLE_REGRESS:BOOL=ON \
+ -DEVENT__DISABLE_SAMPLES:BOOL=ON \
+ $(if $(CONFIG_PACKAGE_libevent2-openssl),-DEVENT__DISABLE_OPENSSL:BOOL=OFF,-DEVENT__DISABLE_OPENSSL:BOOL=ON) \
+ $(if $(CONFIG_PACKAGE_libevent2-pthreads),-DEVENT__DISABLE_THREAD_SUPPORT:BOOL=OFF,-DEVENT__DISABLE_THREAD_SUPPORT:BOOL=ON) \
+ -DEVENT__DISABLE_TESTS:BOOL=ON \
+ -DBUILD_TESTING:BOOL=OFF
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent*.{la,a,so} $(1)/usr/lib/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent*-2.1.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent*.{a,so}* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/cmake $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libevent*.pc $(1)/usr/lib/pkgconfig/
endef
--- /dev/null
+From 9c2d9d2c8f65d7c6bb268c0e9795bac296661ca8 Mon Sep 17 00:00:00 2001
+From: Daniel Engberg <daniel.engberg.lists@pyret.net>
+Date: Wed, 7 Aug 2019 00:56:39 +0200
+Subject: [PATCH] Add missing file Uninstall.cmake.in
+
+Needed to fix compilation
+
+Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
+---
+ cmake/Uninstall.cmake.in | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+ create mode 100644 cmake/Uninstall.cmake.in
+
+diff --git a/cmake/Uninstall.cmake.in b/cmake/Uninstall.cmake.in
+new file mode 100644
+index 0000000..c6dc09e
+--- /dev/null
++++ b/cmake/Uninstall.cmake.in
+@@ -0,0 +1,23 @@
++# https://gitlab.kitware.com/cmake/community/wikis/FAQ#can-i-do-make-uninstall-with-cmake
++
++if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
++ message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt")
++endif(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
++
++file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
++string(REGEX REPLACE "\n" ";" files "${files}")
++foreach(file ${files})
++ message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
++ if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
++ exec_program(
++ "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
++ OUTPUT_VARIABLE rm_out
++ RETURN_VALUE rm_retval
++ )
++ if(NOT "${rm_retval}" STREQUAL 0)
++ message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
++ endif(NOT "${rm_retval}" STREQUAL 0)
++ else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
++ message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
++ endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
++endforeach(file)
+--
+2.22.0
+
+++ /dev/null
-From f519e0f30a00393b949c4e20868952726a9c6d2e Mon Sep 17 00:00:00 2001
-From: Pierce Lopez <pierce.lopez@gmail.com>
-Date: Thu, 2 Mar 2017 21:09:32 -0500
-Subject: [PATCH] Do not check for ERR_remove_thread_state() (do not link ssl
- into every library)
-
-This reverts commit c4e9d9bd662de7f575f2172c160795d452ebe709
-("sample/https-client: check for ERR_remove_thread_state() existence").
-
-Calling AC_SEARCH_LIBS() modifies LIBS - -lcrypto incorrectly
-ends up in LIBS, and thus linked to by libevent_core.so.
-
-Checking for ERR_remove_thread_state should no longer be needed
-because it was introduced in openssl 1.0.0, and the previous line
-0.9.8 had support discontinued at the end of 2015.
-
-Fixes: #473
----
- configure.ac | 4 ----
- sample/https-client.c | 4 ----
- 2 files changed, 8 deletions(-)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -791,10 +791,6 @@ fi
-
- # check if we have and should use openssl
- AM_CONDITIONAL(OPENSSL, [test "$enable_openssl" != "no" && test "$have_openssl" = "yes"])
--if test "x$enable_openssl" = "xyes"; then
-- AC_SEARCH_LIBS([ERR_remove_thread_state], [crypto eay32],
-- [AC_DEFINE(HAVE_ERR_REMOVE_THREAD_STATE, 1, [Define to 1 if you have ERR_remove_thread_stat().])])
--fi
-
- # Add some more warnings which we use in development but not in the
- # released versions. (Some relevant gcc versions can't handle these.)
---- a/sample/https-client.c
-+++ b/sample/https-client.c
-@@ -484,11 +484,7 @@ cleanup:
- EVP_cleanup();
- ERR_free_strings();
-
--#ifdef EVENT__HAVE_ERR_REMOVE_THREAD_STATE
- ERR_remove_thread_state(NULL);
--#else
-- ERR_remove_state(0);
--#endif
- CRYPTO_cleanup_all_ex_data();
-
- sk_SSL_COMP_free(SSL_COMP_get_compression_methods());
--- /dev/null
+From f05ba671931e2b4e38459899f6f63f79f99869fe Mon Sep 17 00:00:00 2001
+From: Azat Khuzhin <a3at.mail@gmail.com>
+Date: Sat, 3 Aug 2019 14:32:21 +0300
+Subject: [PATCH] Add Uninstall.cmake.in into dist archive
+
+Fixes: #863
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index af75a963..92f9433c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -127,6 +127,7 @@ CMAKE_FILES = \
+ cmake/LibeventConfig.cmake.in \
+ cmake/LibeventConfigVersion.cmake.in \
+ cmake/VersionViaGit.cmake \
++ cmake/Uninstall.cmake.in \
+ event-config.h.cmake \
+ evconfig-private.h.cmake \
+ CMakeLists.txt
+--
+2.22.0
+
+++ /dev/null
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -143,8 +143,8 @@ CLEANFILES=
- DISTCLEANFILES=
- BUILT_SOURCES =
- include include/include.am
--include sample/include.am
--include test/include.am
-+#include sample/include.am
-+#include test/include.am
-
- if BUILD_WIN32
-