diff --git a/sys-cluster/evpath/Manifest b/sys-cluster/evpath/Manifest new file mode 100644 index 0000000000..72570f4c98 --- /dev/null +++ b/sys-cluster/evpath/Manifest @@ -0,0 +1 @@ +DIST evpath-4.5.0.gh.tar.gz 806308 BLAKE2B b69683c165aba2f15c6839adb6357a93e3588cf7ebe48f60062bab43b7f614102af72803ea650b1f7b979a3fa11734f98621e5e11e4f968c2dc3a2bd1511f14e SHA512 e5c7d2a7beda731db39f99fe0e0f3b6d96b0c9442edf523de51a0369f3aa6fb01cb97c52c6f8752a7a18b855793b7138d9aea7d12120a60a7dc6f9f65eb70190 diff --git a/sys-cluster/evpath/evpath-4.5.0.ebuild b/sys-cluster/evpath/evpath-4.5.0.ebuild new file mode 100644 index 0000000000..dab57e8d6d --- /dev/null +++ b/sys-cluster/evpath/evpath-4.5.0.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="EVpath is an event transport middleware layer" +HOMEPAGE="https://github.com/GTkorvo/evpath" +SRC_URI="https://github.com/GTKorvo/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64" +IUSE="enet infiniband libfabric test udt4" # nvml nnti + +RDEPEND=" + dev-libs/atl + dev-libs/dill + dev-libs/ffs + + enet? ( net-libs/enet ) + infiniband? ( sys-block/libfabric ) + libfabric? ( sys-block/libfabric ) + udt4? ( net-libs/udt:4 ) +" +DEPEND="${RDEPEND}" + +RESTRICT="!test? ( test )" +PATCHES=( "${FILESDIR}/${P}-find-udt.patch" ) + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS=ON + -DEVPATH_INSTALL_HEADERS=ON + -DEVPATH_INSTALL_PKGCONFIG=ON + -DEVPATH_QUIET=OFF + -DEVPATH_USE_NNTI=OFF + -DEVPATH_USE_NVML=OFF + + -DBUILD_TESTING=$(usex test) + -DEVPATH_USE_ENET=$(usex enet) + -DEVPATH_USE_IBVERBS=$(usex infiniband) + -DEVPATH_USE_LIBFABRIC=$(usex libfabric) + -DEVPATH_USE_UDT4=$(usex udt4) + ) +# -DEVPATH_USE_ZPL_ENET=$(usex enet) + cmake_src_configure +} + +src_install() { + cmake_src_install +} diff --git a/sys-cluster/evpath/files/evpath-4.5.0-find-udt.patch b/sys-cluster/evpath/files/evpath-4.5.0-find-udt.patch new file mode 100644 index 0000000000..768ebe4110 --- /dev/null +++ b/sys-cluster/evpath/files/evpath-4.5.0-find-udt.patch @@ -0,0 +1,36 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -296,7 +296,8 @@ + if(DEFINED EVPATH_USE_UDT4) + option(EVPATH_USE_UDT4 "Build the udt4 transport" "${EVPATH_USE_UDT4}") + if(EVPATH_USE_UDT4) +- find_package(udt4 4.11 REQUIRED) ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(UDT4 REQUIRED udt) + endif() + else() + find_package(udt4 4.11) +@@ -309,17 +310,18 @@ + set(RUN_UDT4_TESTS FALSE) # DON'T TEST. UDT4 NOT USEFUL + if(EVPATH_TRANSPORT_MODULES) + add_library(cmudt4 MODULE cmudt4.cpp ip_config.c) ++ target_include_directories(cmudt4 PRIVATE ${UDT4_INCLUDE_DIRS}) + set_target_properties(cmudt4 PROPERTIES + OUTPUT_NAME ${EVPATH_LIBRARY_PREFIX}cmudt4) + +- target_link_libraries(cmudt4 evpath udt4::udt4) ++ target_link_libraries(cmudt4 evpath ${UDT4_LIBRARIES}) + list(APPEND EVPATH_TRANSPORT_TARGETS cmudt4) + else() + target_sources(EVPath PRIVATE cmudt4.cpp) +- target_link_libraries(EVPath PRIVATE udt4::udt4) +- _pkg_get_target_prefix(udt4::udt4 udt4_PREFIX) +- list(APPEND _pkg_config_pfxs "${udt4_PREFIX}") +- list(APPEND _pkg_config_private_reqs "udt4 >= ${udt4_VERSION}") ++ target_link_libraries(EVPath PRIVATE ${UDT4_LIBRARIES}) ++ target_include_directories(EVPath PRIVATE ${UDT4_INCLUDE_DIRS}) ++ list(APPEND _pkg_config_pfxs "${UDT4_PREFIX}") ++ list(APPEND _pkg_config_private_reqs "udt >= ${UDT4_VERSION}") + endif() + endif() + diff --git a/sys-cluster/evpath/metadata.xml b/sys-cluster/evpath/metadata.xml new file mode 100644 index 0000000000..6a87daee79 --- /dev/null +++ b/sys-cluster/evpath/metadata.xml @@ -0,0 +1,18 @@ + + + + + lssndrbarbieri@gmail.com + Alessandro Barbieri + + + https://github.com/GTKorvo/evpath/issues + GTKorvo/evpath + + + Build the enet transport + Build the ibverbs transport + Build the libfabric transport + Build the udt4 transport + +