Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
165
package/libs/libevent2/Makefile
Normal file
165
package/libs/libevent2/Makefile
Normal file
@@ -0,0 +1,165 @@
|
||||
#
|
||||
# Copyright (C) 2011-2015 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libevent2
|
||||
PKG_VERSION:=2.1.12
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE:=libevent-$(PKG_VERSION)-stable.tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/libevent/libevent/releases/download/release-$(PKG_VERSION)-stable
|
||||
PKG_HASH:=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/libevent-$(PKG_VERSION)-stable
|
||||
|
||||
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_CPE_ID:=cpe:/a:libevent_project:libevent
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
CONFIG_PACKAGE_libevent2-openssl \
|
||||
CONFIG_PACKAGE_libevent2-pthreads \
|
||||
CONFIG_PACKAGE_libevent2-mbedtls
|
||||
|
||||
PKG_BUILD_FLAGS:=gc-sections lto
|
||||
|
||||
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:=7
|
||||
endef
|
||||
|
||||
define Package/libevent2/Default/description
|
||||
The libevent API provides a mechanism to execute a callback function
|
||||
when a specific event occurs on a file descriptor or after a timeout
|
||||
has been reached. Furthermore, libevent also support callbacks due
|
||||
to signals or regular timeouts.
|
||||
|
||||
libevent is meant to replace the event loop found in event driven
|
||||
network servers. An application just needs to call event_dispatch()
|
||||
and then add or remove events dynamically without having to change
|
||||
the event loop.
|
||||
endef
|
||||
|
||||
define Package/libevent2
|
||||
$(call Package/libevent2/Default)
|
||||
TITLE+= library (version 2.1)
|
||||
endef
|
||||
|
||||
define Package/libevent2/description
|
||||
$(call Package/libevent2/Default/description)
|
||||
|
||||
This package contains the libevent shared library historically
|
||||
containing both the core & extra libraries.
|
||||
endef
|
||||
|
||||
define Package/libevent2-core
|
||||
$(call Package/libevent2/Default)
|
||||
TITLE+= core library (version 2.1)
|
||||
endef
|
||||
|
||||
define Package/libevent2-core/description
|
||||
$(call Package/libevent2/Default/description)
|
||||
|
||||
This package contains the libevent core shared library for the event,
|
||||
buffer & utility functions.
|
||||
endef
|
||||
|
||||
define Package/libevent2-extra
|
||||
$(call Package/libevent2/Default)
|
||||
TITLE+= extra library (version 2.1)
|
||||
DEPENDS+=+libevent2-core
|
||||
endef
|
||||
|
||||
define Package/libevent2-extra/description
|
||||
$(call Package/libevent2/Default/description)
|
||||
|
||||
This package contains the libevent extra shared library for specific
|
||||
protocols including HTTP, DNS & RPC.
|
||||
endef
|
||||
|
||||
define Package/libevent2-openssl
|
||||
$(call Package/libevent2/Default)
|
||||
TITLE+= OpenSSL library (version 2.1)
|
||||
DEPENDS+=+libopenssl +libevent2-core
|
||||
endef
|
||||
|
||||
define Package/libevent2-openssl/description
|
||||
$(call Package/libevent2/Default/description)
|
||||
|
||||
This package contains the libevent OpenSSL shared library for encrypted
|
||||
bufferevents.
|
||||
endef
|
||||
|
||||
define Package/libevent2-pthreads
|
||||
$(call Package/libevent2/Default)
|
||||
TITLE+= Pthreads library (version 2.1)
|
||||
DEPENDS+=+libpthread +libevent2-core
|
||||
endef
|
||||
|
||||
define Package/libevent2-pthreads/description
|
||||
$(call Package/libevent2/Default/description)
|
||||
|
||||
This package contains the libevent Pthreads shared library for
|
||||
threading & locking.
|
||||
endef
|
||||
|
||||
TARGET_CFLAGS += $(FPIC)
|
||||
TARGET_LDFLAGS += -Wl,--as-needed
|
||||
|
||||
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
|
||||
$(call Build/InstallDev/cmake,$(1))
|
||||
$(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libevent*.pc
|
||||
$(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libevent*.pc
|
||||
endef
|
||||
|
||||
define Package/libevent2/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent-2.1.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libevent2-core/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_core-2.1.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libevent2-extra/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_extra-2.1.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libevent2-openssl/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_openssl-2.1.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/libevent2-pthreads/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libevent_pthreads-2.1.so.* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libevent2))
|
||||
$(eval $(call BuildPackage,libevent2-core))
|
||||
$(eval $(call BuildPackage,libevent2-extra))
|
||||
$(eval $(call BuildPackage,libevent2-openssl))
|
||||
$(eval $(call BuildPackage,libevent2-pthreads))
|
||||
58
package/libs/libevent2/patches/001-relative-cmake.patch
Normal file
58
package/libs/libevent2/patches/001-relative-cmake.patch
Normal file
@@ -0,0 +1,58 @@
|
||||
From 81c6b8823c1b58d7837e827bb1098aa5f9e5956b Mon Sep 17 00:00:00 2001
|
||||
From: "Jeremy W. Murphy" <jeremy.william.murphy@gmail.com>
|
||||
Date: Tue, 16 May 2023 05:07:36 +1000
|
||||
Subject: [PATCH] cmake: Only use relative paths for install DESTINATION option
|
||||
(#1405)
|
||||
|
||||
As described in #1404, the explicit use of CMAKE_INSTALL_PREFIX conflicts with using command-line --prefix.
|
||||
|
||||
This simply removes all explicit use of CMAKE_INSTALL_PREFIX.
|
||||
|
||||
Otherwise this path will be duplicated:
|
||||
|
||||
$ cmake -DCMAKE_BUILD_TYPE=debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_INSTALL_PREFIX=inst ..
|
||||
$ DESTDIR=inst ninja install
|
||||
...
|
||||
-- Installing: inst/src/le/libevent/.cmake-debug/inst/include/event2/util.h
|
||||
-- Installing: inst/src/le/libevent/.cmake-debug/inst/include/event2/ws.h
|
||||
...
|
||||
|
||||
Fixes: #1404
|
||||
Co-authored-by: Jeremy Murphy <jeremymu@blackmagicdesign.com>
|
||||
---
|
||||
CMakeLists.txt | 3 +--
|
||||
cmake/AddEventLibrary.cmake | 4 ++--
|
||||
2 files changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1452,8 +1452,7 @@ endif()
|
||||
# Installation preparation.
|
||||
#
|
||||
|
||||
-set(EVENT_INSTALL_CMAKE_DIR
|
||||
- "${CMAKE_INSTALL_PREFIX}/lib/cmake/libevent")
|
||||
+set(EVENT_INSTALL_CMAKE_DIR "lib/cmake/libevent")
|
||||
|
||||
export(PACKAGE libevent)
|
||||
|
||||
--- a/cmake/AddEventLibrary.cmake
|
||||
+++ b/cmake/AddEventLibrary.cmake
|
||||
@@ -31,7 +31,7 @@ macro(generate_pkgconfig LIB_NAME)
|
||||
configure_file("lib${LIB_NAME}.pc.in" "lib${LIB_NAME}.pc" @ONLY)
|
||||
install(
|
||||
FILES "${CMAKE_CURRENT_BINARY_DIR}/lib${LIB_NAME}.pc"
|
||||
- DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig"
|
||||
+ DESTINATION "lib/pkgconfig"
|
||||
)
|
||||
endmacro()
|
||||
|
||||
@@ -150,7 +150,7 @@ macro(add_event_library LIB_NAME)
|
||||
set_target_properties(
|
||||
"${LIB_NAME}_shared" PROPERTIES
|
||||
OUTPUT_NAME "${LIB_NAME}-${EVENT_PACKAGE_RELEASE}.${CURRENT_MINUS_AGE}"
|
||||
- INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib"
|
||||
+ INSTALL_NAME_DIR "lib"
|
||||
LINK_FLAGS "-compatibility_version ${COMPATIBILITY_VERSION} -current_version ${COMPATIBILITY_VERSION}.${EVENT_ABI_LIBVERSION_REVISION}")
|
||||
else()
|
||||
math(EXPR CURRENT_MINUS_AGE "${EVENT_ABI_LIBVERSION_CURRENT}-${EVENT_ABI_LIBVERSION_AGE}")
|
||||
Reference in New Issue
Block a user