Gentoo Archives: gentoo-commits

From: Aisha Tammy <gentoo@×××××.cc>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: net-libs/dpdk/, net-libs/dpdk/files/
Date: Tue, 26 Apr 2022 17:31:55
Message-Id: 1650994238.6c65642a0077e41494c62045771e98801d4dde9d.epsilon-0@gentoo
1 commit: 6c65642a0077e41494c62045771e98801d4dde9d
2 Author: Aisha Tammy <gentoo <AT> aisha <DOT> cc>
3 AuthorDate: Tue Apr 26 17:30:38 2022 +0000
4 Commit: Aisha Tammy <gentoo <AT> aisha <DOT> cc>
5 CommitDate: Tue Apr 26 17:30:38 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6c65642a
7
8 net-libs/dpdk: add 21.11.1, 22.03
9
10 Signed-off-by: Aisha Tammy <gentoo <AT> aisha.cc>
11
12 net-libs/dpdk/Manifest | 2 +
13 net-libs/dpdk/dpdk-21.11.1.ebuild | 67 ++++++++++++++++++++++
14 net-libs/dpdk/dpdk-22.03.ebuild | 66 +++++++++++++++++++++
15 .../dpdk/files/dpdk-21.11.1-static_linker.patch | 25 ++++++++
16 4 files changed, 160 insertions(+)
17
18 diff --git a/net-libs/dpdk/Manifest b/net-libs/dpdk/Manifest
19 index cf0fb5cc1..bcd3dead8 100644
20 --- a/net-libs/dpdk/Manifest
21 +++ b/net-libs/dpdk/Manifest
22 @@ -1 +1,3 @@
23 +DIST dpdk-21.11.1.tar.xz 15115156 BLAKE2B 089e98279922b5494b205d957f9ac05001a668f4536d45e5fd89b9f7d04779e0671ec428b2408963641da3ae999d5943a1ff5dc59c23020ccefce824609c8f11 SHA512 d7afc0c918626b1706a18a129086fcd3741b251c28fa00c5711eb85a03137e5ee6e08de7bd5ebe957e442dc9b901314042b382b223e74f0fdd5d560ac657f1b3
24 DIST dpdk-21.11.tar.xz 15102516 BLAKE2B e82fb03242b74e458810ee5e0d21feaf5d6d781b81b8dc5c2a2ab977bac202290dadc8734ea13993bb1cb1df4b5c4d770df574052a384b590ac798d19c370c59 SHA512 843282023c2f77a9b8af393d50c6dde54f09d490cd6f4a99f03d4df5df13a7d963aa86885fdf64e13f9da71e01c881d1f301dd093574a32cddd84f4b1fb58fd5
25 +DIST dpdk-22.03.tar.xz 15055548 BLAKE2B 16fb52618e72deba7097e4d920e160e14f1332eed2b8f2f2957f3dd1b847859e6b8b8cd6adef0513cd7bc528a37d4c481f803e8c5badaa299d2bb2af3615e696 SHA512 b3940642f99767323f39470c1e3e0eab7a07bcaca225e2a714b62ba6c59d2c66e4ea17d38e8266f37ed8b5c5c2ad272930fd28f545324ec0a1cb185685e06a5f
26
27 diff --git a/net-libs/dpdk/dpdk-21.11.1.ebuild b/net-libs/dpdk/dpdk-21.11.1.ebuild
28 new file mode 100644
29 index 000000000..0f9a707a0
30 --- /dev/null
31 +++ b/net-libs/dpdk/dpdk-21.11.1.ebuild
32 @@ -0,0 +1,67 @@
33 +# Copyright 2021 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +PYTHON_COMPAT=( python3_{8..10} )
39 +inherit toolchain-funcs python-single-r1 meson
40 +
41 +DESCRIPTION="Data Plane Development Kit libraries for fast userspace networking"
42 +HOMEPAGE="https://dpdk.org/"
43 +SRC_URI="https://fast.dpdk.org/rel/${P}.tar.xz"
44 +S="${WORKDIR}/dpdk-stable-${PV}"
45 +
46 +LICENSE="BSD GPL-2"
47 +SLOT="0"
48 +KEYWORDS="~amd64"
49 +IUSE="test"
50 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
51 +# tests require rte_kni module to be loaded
52 +# and also needs network and /dev access
53 +# and need to be run as root
54 +#RESTRICT="test"
55 +
56 +DEPEND="${PYTHON_DEPS}
57 + $(python_gen_cond_dep '
58 + dev-python/pyelftools[${PYTHON_USEDEP}]
59 + ')
60 + ~sys-kernel/rte_kni-kmod-${PV}[${PYTHON_SINGLE_USEDEP}]
61 + app-arch/libarchive
62 + app-crypt/intel-ipsec-mb
63 + dev-libs/elfutils
64 + dev-libs/isa-l
65 + dev-libs/jansson
66 + dev-libs/libbpf
67 + dev-libs/libbsd
68 + dev-libs/openssl
69 + net-libs/libmnl
70 + net-libs/libpcap
71 + sys-apps/dtc
72 + sys-cluster/rdma-core
73 + sys-process/numactl
74 +"
75 +RDEPEND="${DEPEND}"
76 +BDEPEND="
77 + dev-lang/nasm
78 +"
79 +
80 +PATCHES=( "${FILESDIR}/dpdk-21.11.1-static_linker.patch" )
81 +
82 +src_configure() {
83 + python-single-r1_pkg_setup
84 + local emesonargs=(
85 + -Denable_kmods=false
86 + -Dmachine=default
87 + -Dplatform=generic
88 + $(meson_use test tests)
89 + )
90 + meson_src_configure
91 +}
92 +
93 +src_install() {
94 + meson_src_install
95 + local pyfiles=( "${ED}"/usr/bin/*.py )
96 + for pyfile in "${pyfiles[@]}"; do
97 + python_fix_shebang "${pyfile}"
98 + done
99 +}
100
101 diff --git a/net-libs/dpdk/dpdk-22.03.ebuild b/net-libs/dpdk/dpdk-22.03.ebuild
102 new file mode 100644
103 index 000000000..ed32f138d
104 --- /dev/null
105 +++ b/net-libs/dpdk/dpdk-22.03.ebuild
106 @@ -0,0 +1,66 @@
107 +# Copyright 2021 Gentoo Authors
108 +# Distributed under the terms of the GNU General Public License v2
109 +
110 +EAPI=7
111 +
112 +PYTHON_COMPAT=( python3_{8..10} )
113 +inherit toolchain-funcs python-single-r1 meson
114 +
115 +DESCRIPTION="Data Plane Development Kit libraries for fast userspace networking"
116 +HOMEPAGE="https://dpdk.org/"
117 +SRC_URI="https://fast.dpdk.org/rel/${P}.tar.xz"
118 +
119 +LICENSE="BSD GPL-2"
120 +SLOT="0"
121 +KEYWORDS="~amd64"
122 +IUSE="test"
123 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
124 +# tests require rte_kni module to be loaded
125 +# and also needs network and /dev access
126 +# and need to be run as root
127 +#RESTRICT="test"
128 +
129 +DEPEND="${PYTHON_DEPS}
130 + $(python_gen_cond_dep '
131 + dev-python/pyelftools[${PYTHON_USEDEP}]
132 + ')
133 + ~sys-kernel/rte_kni-kmod-${PV}[${PYTHON_SINGLE_USEDEP}]
134 + app-arch/libarchive
135 + app-crypt/intel-ipsec-mb
136 + dev-libs/elfutils
137 + dev-libs/isa-l
138 + dev-libs/jansson
139 + dev-libs/libbpf
140 + dev-libs/libbsd
141 + dev-libs/openssl
142 + net-libs/libmnl
143 + net-libs/libpcap
144 + sys-apps/dtc
145 + sys-cluster/rdma-core
146 + sys-process/numactl
147 +"
148 +RDEPEND="${DEPEND}"
149 +BDEPEND="
150 + dev-lang/nasm
151 +"
152 +
153 +PATCHES=( "${FILESDIR}/dpdk-21.11.1-static_linker.patch" )
154 +
155 +src_configure() {
156 + python-single-r1_pkg_setup
157 + local emesonargs=(
158 + -Denable_kmods=false
159 + -Dmachine=default
160 + -Dplatform=generic
161 + $(meson_use test tests)
162 + )
163 + meson_src_configure
164 +}
165 +
166 +src_install() {
167 + meson_src_install
168 + local pyfiles=( "${ED}"/usr/bin/*.py )
169 + for pyfile in "${pyfiles[@]}"; do
170 + python_fix_shebang "${pyfile}"
171 + done
172 +}
173
174 diff --git a/net-libs/dpdk/files/dpdk-21.11.1-static_linker.patch b/net-libs/dpdk/files/dpdk-21.11.1-static_linker.patch
175 new file mode 100644
176 index 000000000..10282c1b1
177 --- /dev/null
178 +++ b/net-libs/dpdk/files/dpdk-21.11.1-static_linker.patch
179 @@ -0,0 +1,25 @@
180 +diff --git a/buildtools/meson.build b/buildtools/meson.build
181 +index e1c600e..47496b8 100644
182 +--- a/buildtools/meson.build
183 ++++ b/buildtools/meson.build
184 +@@ -24,18 +24,11 @@ binutils_avx512_check = (py3 + files('binutils-avx512-check.py') +
185 + # select library and object file format
186 + pmdinfo = py3 + files('gen-pmdinfo-cfile.py') + [meson.current_build_dir()]
187 + pmdinfogen = py3 + files('pmdinfogen.py')
188 ++ar = find_program('ar')
189 ++pmdinfo += ar
190 + if host_machine.system() == 'windows'
191 +- if cc.get_id() == 'gcc'
192 +- pmdinfo += 'ar'
193 +- else
194 +- pmdinfo += 'llvm-ar'
195 +- endif
196 + pmdinfogen += 'coff'
197 +-elif host_machine.system() == 'freebsd'
198 +- pmdinfo += 'llvm-ar'
199 +- pmdinfogen += 'elf'
200 + else
201 +- pmdinfo += 'ar'
202 + pmdinfogen += 'elf'
203 + endif
204 +