commit:     01960962208fd6ceb9543b3f4cebb4167e9f3a5f
Author:     Azamat H. Hackimov <azamat.hackimov <AT> gmail <DOT> com>
AuthorDate: Wed Jun  4 15:11:59 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jun  4 19:52:58 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01960962

dev-libs/libevent: migrate to mbedtls:3

Migrate ebuild to cmake buildsystem as autotools are deprecated.

Closes: https://bugs.gentoo.org/957135
Signed-off-by: Azamat H. Hackimov <azamat.hackimov <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/42443
Closes: https://github.com/gentoo/gentoo/pull/42443
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../files/libevent-2.2.1-cmake-install-paths.patch | 68 ++++++++++++++++++++
 dev-libs/libevent/libevent-2.2.1-r4.ebuild         | 72 ++++++++++++++++++++++
 dev-libs/libevent/libevent-9999.ebuild             | 44 +++++--------
 3 files changed, 155 insertions(+), 29 deletions(-)

diff --git a/dev-libs/libevent/files/libevent-2.2.1-cmake-install-paths.patch 
b/dev-libs/libevent/files/libevent-2.2.1-cmake-install-paths.patch
new file mode 100644
index 000000000000..15f69cd53698
--- /dev/null
+++ b/dev-libs/libevent/files/libevent-2.2.1-cmake-install-paths.patch
@@ -0,0 +1,68 @@
+From 
https://github.com/libevent/libevent/commit/7870e85ecbfa09d79c66d382301ecd0a1e441c19
+From: kurtliu <[email protected]>
+Date: Wed, 24 Jan 2024 13:19:23 +0800
+Subject: [PATCH] install DESTINATION use CMAKE_INSTALL_<dir>
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1683,12 +1683,12 @@ 
configure_file(${PROJECT_SOURCE_DIR}/cmake/LibeventConfigVersion.cmake.in
+ 
+ # Install compat headers
+ install(FILES ${HDR_COMPAT}
+-        DESTINATION "include"
++        DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
+         COMPONENT dev)
+ 
+ # Install public headers
+ install(FILES ${HDR_PUBLIC}
+-        DESTINATION "include/event2"
++        DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/event2"
+         COMPONENT dev)
+ 
+ # Install the configs.
+@@ -1716,7 +1716,7 @@ endif()
+ # Install the scripts.
+ install(PROGRAMS
+        ${CMAKE_CURRENT_SOURCE_DIR}/event_rpcgen.py
+-       DESTINATION "bin"
++       DESTINATION "${CMAKE_INSTALL_BINDIR}"
+        COMPONENT runtime)
+ 
+ # Create documents with doxygen.
+--- a/cmake/AddEventLibrary.cmake
++++ b/cmake/AddEventLibrary.cmake
+@@ -36,9 +36,9 @@ endmacro()
+ macro(export_install_target TYPE LIB_NAME)
+     if("${LIB_NAME}" STREQUAL "event")
+         install(TARGETS "${LIB_NAME}_${TYPE}"
+-            LIBRARY DESTINATION "lib" COMPONENT lib
+-            ARCHIVE DESTINATION "lib" COMPONENT lib
+-            RUNTIME DESTINATION "lib" COMPONENT lib
++            LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
++            ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
++            RUNTIME DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
+             COMPONENT dev
+         )
+     else()
+@@ -62,9 +62,9 @@ macro(export_install_target TYPE LIB_NAME)
+         )
+         install(TARGETS "${LIB_NAME}_${TYPE}"
+             EXPORT LibeventTargets-${TYPE}
+-            LIBRARY DESTINATION "lib" COMPONENT lib
+-            ARCHIVE DESTINATION "lib" COMPONENT lib
+-            RUNTIME DESTINATION "lib" COMPONENT lib
++            LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
++            ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
++            RUNTIME DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib
+             COMPONENT dev
+         )
+     endif()
+@@ -169,7 +169,7 @@ macro(add_event_library LIB_NAME)
+         if (NOT WIN32)
+             install(FILES
+                 "$<TARGET_FILE_DIR:${LIB_NAME}_shared>/${LIB_LINK_NAME}"
+-                DESTINATION "lib"
++                DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+                 COMPONENT lib)
+         endif()
+     endif()

diff --git a/dev-libs/libevent/libevent-2.2.1-r4.ebuild 
b/dev-libs/libevent/libevent-2.2.1-r4.ebuild
new file mode 100644
index 000000000000..3387f369d3b6
--- /dev/null
+++ b/dev-libs/libevent/libevent-2.2.1-r4.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_REMOVE_MODULES_LIST=( FindMbedTLS )
+
+inherit cmake-multilib verify-sig
+
+MY_P="${P}-alpha-dev"
+DESCRIPTION="Library to execute a function when a specific event occurs on a 
file descriptor"
+HOMEPAGE="
+       https://libevent.org/
+       https://github.com/libevent/libevent/
+"
+BASE_URI="https://github.com/libevent/libevent/releases/download/release-${PV}-alpha";
+SRC_URI="
+       ${BASE_URI}/${MY_P}.tar.gz
+       verify-sig? (
+               ${BASE_URI}/${MY_P}.tar.gz.asc
+       )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0/2.2.1-r2"
+KEYWORDS=""
+IUSE="
+       +clock-gettime debug malloc-replacement mbedtls +ssl static-libs
+       test verbose-debug
+"
+# TODO: hangs
+RESTRICT="test"
+
+DEPEND="
+       mbedtls? ( net-libs/mbedtls:3=[${MULTILIB_USEDEP}] )
+       ssl? ( >=dev-libs/openssl-1.0.1h-r2:=[${MULTILIB_USEDEP}] )
+"
+RDEPEND="
+       ${DEPEND}
+"
+BDEPEND="
+       verify-sig? (
+               sec-keys/openpgp-keys-libevent
+       )
+"
+
+DOCS=( README.md ChangeLog{,-2.0} whatsnew-2.{0,1}.txt )
+MULTILIB_WRAPPED_HEADERS=(
+       /usr/include/event2/event-config.h
+)
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libevent.asc
+
+PATCHES=(
+       # signalfd-by-default breaks at least app-misc/tmux
+       # https://github.com/libevent/libevent/pull/1486
+       "${FILESDIR}/${P}-disable-signalfd.patch"
+       "${FILESDIR}/${P}-cmake-install-paths.patch"
+)
+
+multilib_src_configure() {
+       local mycmakeargs=(
+               -DEVENT__DISABLE_CLOCK_GETTIME=$(usex !clock-gettime)
+               -DEVENT__DISABLE_DEBUG_MODE=$(usex !debug)
+               -DEVENT__DISABLE_MBEDTLS=$(usex !mbedtls)
+               -DEVENT__DISABLE_MM_REPLACEMENT=$(usex !malloc-replacement)
+               -DEVENT__DISABLE_OPENSSL=$(usex !ssl)
+               -DEVENT__LIBRARY_TYPE=$(usex static-libs BOTH SHARED)
+               -DCMAKE_DEBUG_POSTFIX=""
+       )
+       cmake_src_configure
+}

diff --git a/dev-libs/libevent/libevent-9999.ebuild 
b/dev-libs/libevent/libevent-9999.ebuild
index cf26212e3cb4..771ef002b8d5 100644
--- a/dev-libs/libevent/libevent-9999.ebuild
+++ b/dev-libs/libevent/libevent-9999.ebuild
@@ -3,7 +3,9 @@
 
 EAPI=8
 
-inherit autotools git-r3 multilib-minimal
+CMAKE_REMOVE_MODULES_LIST=( FindMbedTLS )
+
+inherit cmake-multilib git-r3
 
 DESCRIPTION="Library to execute a function when a specific event occurs on a 
file descriptor"
 HOMEPAGE="
@@ -13,7 +15,7 @@ HOMEPAGE="
 EGIT_REPO_URI="https://github.com/libevent/libevent.git";
 
 LICENSE="BSD"
-SLOT="0/2.2"
+SLOT="0/2.2.1-r2"
 KEYWORDS=""
 IUSE="
        +clock-gettime debug malloc-replacement mbedtls +ssl static-libs
@@ -23,43 +25,27 @@ IUSE="
 RESTRICT="test"
 
 DEPEND="
-       mbedtls? ( net-libs/mbedtls:0=[${MULTILIB_USEDEP}] )
+       mbedtls? ( net-libs/mbedtls:3=[${MULTILIB_USEDEP}] )
        ssl? ( >=dev-libs/openssl-1.0.1h-r2:=[${MULTILIB_USEDEP}] )
 "
 RDEPEND="
        ${DEPEND}
 "
 
-DOCS=( README.md ChangeLog{,-1.4,-2.0} whatsnew-2.{0,1}.txt )
+DOCS=( README.md ChangeLog{,-2.0,-2.1} whatsnew-2.{0,1}.txt )
 MULTILIB_WRAPPED_HEADERS=(
        /usr/include/event2/event-config.h
 )
 
-src_prepare() {
-       default
-       eautoreconf
-}
-
 multilib_src_configure() {
-       # fix out-of-source builds
-       mkdir -p test || die
-
-       local ECONF_SOURCE="${S}"
-       local myconf=(
-               $(use_enable clock-gettime)
-               $(use_enable debug debug-mode)
-               $(use_enable malloc-replacement malloc-replacement)
-               $(use_enable mbedtls)
-               $(use_enable ssl openssl)
-               $(use_enable static-libs static)
-               $(use_enable test libevent-regress)
-               $(use_enable verbose-debug)
-               --disable-samples
+       local mycmakeargs=(
+               -DEVENT__DISABLE_CLOCK_GETTIME=$(usex !clock-gettime)
+               -DEVENT__DISABLE_DEBUG_MODE=$(usex !debug)
+               -DEVENT__DISABLE_MBEDTLS=$(usex !mbedtls)
+               -DEVENT__DISABLE_MM_REPLACEMENT=$(usex !malloc-replacement)
+               -DEVENT__DISABLE_OPENSSL=$(usex !ssl)
+               -DEVENT__LIBRARY_TYPE=$(usex static-libs BOTH SHARED)
+               -DCMAKE_DEBUG_POSTFIX=""
        )
-       econf "${myconf[@]}"
-}
-
-multilib_src_install_all() {
-       einstalldocs
-       find "${ED}" -name '*.la' -delete || die
+       cmake_src_configure
 }

Reply via email to