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 |
+ |