| 1 |
|
# Copyright 2022-2025 Gentoo Authors
|
|
1 |
# Copyright 2022-2026 Gentoo Authors
|
| 2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
3 |
|
| 4 |
4 |
EAPI=8
|
| 5 |
5 |
|
| 6 |
|
inherit autotools
|
|
6 |
inherit autotools flag-o-matic
|
| 7 |
7 |
|
| 8 |
8 |
DESCRIPTION="The Open Fabrics Interfaces (OFI) framework"
|
| 9 |
9 |
HOMEPAGE="http://libfabric.org/ https://github.com/ofiwg/libfabric"
|
| 10 |
|
SRC_URI="https://github.com/ofiwg/${PN}/releases/download/v${PV}/${P}.tar.bz2"
|
| 11 |
10 |
|
| 12 |
11 |
LICENSE="BSD GPL-2"
|
| 13 |
|
SLOT="0/1"
|
|
12 |
|
|
13 |
SRC_URI="https://github.com/ofiwg/${PN}/releases/download/v${PV}/${P}.tar.bz2"
|
| 14 |
14 |
KEYWORDS="~amd64"
|
| 15 |
|
IUSE="cuda efa usnic rocm verbs"
|
|
15 |
|
|
16 |
# SONAME
|
|
17 |
SLOT="0/1"
|
|
18 |
IUSE="cuda efa io-uring usnic rocm verbs ucx"
|
| 16 |
19 |
|
| 17 |
20 |
DEPEND="
|
|
21 |
efa? ( sys-cluster/rdma-core )
|
|
22 |
io-uring? ( sys-libs/liburing:= )
|
| 18 |
23 |
rocm? ( dev-libs/rocr-runtime:= )
|
| 19 |
24 |
usnic? ( dev-libs/libnl:= )
|
| 20 |
25 |
verbs? ( sys-cluster/rdma-core )
|
| ... | ... | |
| 22 |
27 |
RDEPEND="
|
| 23 |
28 |
${DEPEND}
|
| 24 |
29 |
cuda? ( dev-util/nvidia-cuda-toolkit )
|
|
30 |
ucx? ( sys-cluster/ucx )
|
| 25 |
31 |
"
|
| 26 |
32 |
BDEPEND="
|
| 27 |
33 |
virtual/pkgconfig
|
| ... | ... | |
| 29 |
35 |
|
| 30 |
36 |
DOCS=(
|
| 31 |
37 |
AUTHORS
|
| 32 |
|
#CONTRIBUTORS
|
| 33 |
38 |
NEWS.md
|
| 34 |
39 |
README
|
| 35 |
|
#README.md
|
| 36 |
40 |
)
|
| 37 |
41 |
|
| 38 |
42 |
src_prepare() {
|
| ... | ... | |
| 41 |
45 |
}
|
| 42 |
46 |
|
| 43 |
47 |
src_configure() {
|
|
48 |
# -Werror=lto-type-mismatch
|
|
49 |
# https://bugs.gentoo.org/972480
|
|
50 |
#
|
|
51 |
# Fixed upstream in 2.4.0; remove on next version bump
|
|
52 |
use efa && filter-lto
|
|
53 |
|
| 44 |
54 |
local myeconfargs=(
|
| 45 |
|
--disable-static
|
| 46 |
55 |
# let's try to avoid automagic deps
|
| 47 |
|
--enable-bgq=no
|
| 48 |
|
--enable-cuda-dlopen=$(usex cuda yes no)
|
| 49 |
|
--enable-efa=$(usex efa yes no)
|
| 50 |
|
--enable-gni=no
|
| 51 |
|
#--enable-gdrcopy-dlopen=no
|
|
56 |
--enable-cuda-dlopen="$(usex cuda)"
|
|
57 |
--enable-efa="$(usex efa)"
|
|
58 |
--enable-cxi=no
|
|
59 |
--enable-gdrcopy-dlopen=no
|
| 52 |
60 |
--enable-mrail=yes
|
| 53 |
61 |
--enable-perf=no
|
| 54 |
62 |
# no psm libraries packaged that I can find (patches accepted)
|
| 55 |
|
--enable-psm=no
|
| 56 |
63 |
--enable-psm2=no
|
| 57 |
|
#--enable-psm3=no
|
| 58 |
|
--enable-rocr-dlopen=$(usex rocm yes no)
|
| 59 |
|
--enable-rstream=yes
|
|
64 |
--enable-psm3=no
|
|
65 |
--enable-rocr-dlopen="$(usex rocm)"
|
| 60 |
66 |
--enable-rxd=yes
|
| 61 |
67 |
--enable-rxm=yes
|
| 62 |
68 |
--enable-sockets=yes
|
| 63 |
69 |
--enable-shm=yes
|
|
70 |
--enable-sm2=yes
|
|
71 |
--enable-ucx="$(usex ucx)"
|
|
72 |
--enable-lpp=yes
|
|
73 |
--enable-trace=yes
|
|
74 |
--enable-profile=yes
|
|
75 |
--enable-monitor=yes
|
|
76 |
--enable-hook_hmem=no
|
|
77 |
--enable-dmabuf_peer_mem=no
|
|
78 |
--enable-lnx=yes
|
|
79 |
--enable-opx=no
|
|
80 |
--enable-lnx=yes
|
| 64 |
81 |
--enable-tcp=yes
|
| 65 |
82 |
--enable-udp=yes
|
| 66 |
|
--enable-usnic=$(usex usnic yes no)
|
| 67 |
|
--enable-verbs=$(usex verbs yes no)
|
|
83 |
--enable-usnic="$(usex usnic)"
|
|
84 |
--enable-verbs="$(usex verbs)"
|
| 68 |
85 |
--enable-xpmem=no
|
|
86 |
"$(use_with cuda cuda "${CUDA_PATH:-${ESYSROOT}/opt/cuda}")"
|
|
87 |
$(use_with io-uring uring)
|
| 69 |
88 |
)
|
| 70 |
89 |
econf "${myeconfargs[@]}"
|
| 71 |
90 |
}
|