From f351beedfd47766e5e44a04af50e3724bec54dbc Mon Sep 17 00:00:00 2001 From: Daniel Engberg Date: Sat, 23 Feb 2019 22:38:04 +0000 Subject: [PATCH] libevent2: Update to 2.1.11 Update libevent to 2.1.11 Use CMake instead GNU Autotools Backport following commits: https://github.com/libevent/libevent/commit/f05ba671931e2b4e38459899f6f63f79f99869fe ..and partially https://github.com/libevent/libevent/commit/7201062f3ef505a77baa6ccaf1cf73812462308a to fix compilation Signed-off-by: Daniel Engberg --- package/libs/libevent2/Makefile | 43 +++++++++------- ...-Add-missing-file-Uninstall.cmake.in.patch | 45 +++++++++++++++++ ...-ERR_remove_thread_state-do-not-link.patch | 49 ------------------- ...Uninstall.cmake.in-into-dist-archive.patch | 25 ++++++++++ ...ile.am-omit-building-sample-and-test.patch | 13 ----- 5 files changed, 94 insertions(+), 81 deletions(-) create mode 100644 package/libs/libevent2/patches/0001-Add-missing-file-Uninstall.cmake.in.patch delete mode 100644 package/libs/libevent2/patches/0001-Do-not-check-for-ERR_remove_thread_state-do-not-link.patch create mode 100644 package/libs/libevent2/patches/0002-Add-Uninstall.cmake.in-into-dist-archive.patch delete mode 100644 package/libs/libevent2/patches/0002-Makefile.am-omit-building-sample-and-test.patch diff --git a/package/libs/libevent2/Makefile b/package/libs/libevent2/Makefile index f7223a01d6..687f1b93a7 100644 --- a/package/libs/libevent2/Makefile +++ b/package/libs/libevent2/Makefile @@ -8,30 +8,31 @@ 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 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 @@ -73,6 +74,7 @@ endef define Package/libevent2-extra $(call Package/libevent2/Default) TITLE+= extra library (version 2.1) + DEPENDS+=+libevent2-core endef define Package/libevent2-extra/description @@ -85,7 +87,7 @@ endef 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 @@ -98,7 +100,7 @@ endef 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 @@ -108,22 +110,25 @@ 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 diff --git a/package/libs/libevent2/patches/0001-Add-missing-file-Uninstall.cmake.in.patch b/package/libs/libevent2/patches/0001-Add-missing-file-Uninstall.cmake.in.patch new file mode 100644 index 0000000000..b0b4bf8c0b --- /dev/null +++ b/package/libs/libevent2/patches/0001-Add-missing-file-Uninstall.cmake.in.patch @@ -0,0 +1,45 @@ +From 9c2d9d2c8f65d7c6bb268c0e9795bac296661ca8 Mon Sep 17 00:00:00 2001 +From: Daniel Engberg +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 +--- + 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 + diff --git a/package/libs/libevent2/patches/0001-Do-not-check-for-ERR_remove_thread_state-do-not-link.patch b/package/libs/libevent2/patches/0001-Do-not-check-for-ERR_remove_thread_state-do-not-link.patch deleted file mode 100644 index d2677a1f61..0000000000 --- a/package/libs/libevent2/patches/0001-Do-not-check-for-ERR_remove_thread_state-do-not-link.patch +++ /dev/null @@ -1,49 +0,0 @@ -From f519e0f30a00393b949c4e20868952726a9c6d2e Mon Sep 17 00:00:00 2001 -From: Pierce Lopez -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()); diff --git a/package/libs/libevent2/patches/0002-Add-Uninstall.cmake.in-into-dist-archive.patch b/package/libs/libevent2/patches/0002-Add-Uninstall.cmake.in-into-dist-archive.patch new file mode 100644 index 0000000000..c5bea996b7 --- /dev/null +++ b/package/libs/libevent2/patches/0002-Add-Uninstall.cmake.in-into-dist-archive.patch @@ -0,0 +1,25 @@ +From f05ba671931e2b4e38459899f6f63f79f99869fe Mon Sep 17 00:00:00 2001 +From: Azat Khuzhin +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 + diff --git a/package/libs/libevent2/patches/0002-Makefile.am-omit-building-sample-and-test.patch b/package/libs/libevent2/patches/0002-Makefile.am-omit-building-sample-and-test.patch deleted file mode 100644 index 506137d555..0000000000 --- a/package/libs/libevent2/patches/0002-Makefile.am-omit-building-sample-and-test.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- 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 -