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 }
