diff --git a/testing/dpdk/APKBUILD b/testing/dpdk/APKBUILD index 6397b56bcb09e12e4bfa7d4588c002b5ad184508..37501c9217d27b9e84865cbcb9debb30b5fb6647 100644 --- a/testing/dpdk/APKBUILD +++ b/testing/dpdk/APKBUILD @@ -2,12 +2,13 @@ # Maintainer: Duncan Bellamy <dunk@denkimushi.com> pkgname=dpdk pkgver=23.03 -pkgrel=1 +pkgrel=2 +_majorver=${pkgver%%.*} pkgdesc="Data Plane Development Kit" url="https://dpdk.org/" # s390x, riscv64 is not supported, 32bit not supported arch="aarch64 ppc64le x86_64" -license="BSD-3-Clause AND GPL-2.0" +license="BSD-3-Clause AND GPL-2.0-only" makedepends=" bsd-compat-headers dtc-dev @@ -20,13 +21,220 @@ makedepends=" rdma-core-dev zlib-dev " -subpackages="$pkgname-static $pkgname-dev" +subpackages="$pkgname-dev $pkgname-utils" source="https://fast.dpdk.org/rel/dpdk-$pkgver.tar.xz" # at least half tests fail on each platform options="!check" +_libs=" + acl + baseband_acc + baseband_fpga_5gnr_fec + baseband_fpga_lte_fec + baseband_la12xx + baseband_null + baseband_turbo_sw + bbdev + bitratestats + bpf + bus_auxiliary + bus_dpaa + bus_fslmc + bus_ifpga + bus_pci + bus_platform + bus_vdev + bus_vmbus + cfgfile + cmdline + common_cnxk + common_cpt + common_dpaax + common_iavf + common_idpf + common_mlx5 + common_octeontx + common_qat + compress_isal + compress_mlx5 + compress_octeontx + compress_zlib + compressdev + crypto_bcmfs + crypto_caam_jr + crypto_ccp + crypto_cnxk + crypto_dpaa2_sec + crypto_dpaa_sec + crypto_mlx5 + crypto_nitrox + crypto_null + crypto_octeontx + crypto_openssl + crypto_scheduler + crypto_virtio + cryptodev + distributor + dma_cnxk + dma_dpaa + dma_dpaa2 + dma_skeleton + dmadev + eal + efd + ethdev + event_cnxk + event_dpaa + event_dpaa2 + event_dsw + event_octeontx + event_opdl + event_skeleton + event_sw + eventdev + fib + gpudev + graph + gro + gso + hash + ip_frag + ipsec + jobstats + kvargs + latencystats + lpm + mbuf + member + mempool + mempool_bucket + mempool_cnxk + mempool_dpaa + mempool_dpaa2 + mempool_octeontx + mempool_ring + mempool_stack + meter + metrics + ml_cnxk + mldev + net + net_af_packet + net_ark + net_atlantic + net_avp + net_axgbe + net_bnx2x + net_bnxt + net_bond + net_cnxk + net_cpfl + net_cxgbe + net_dpaa + net_dpaa2 + net_e1000 + net_ena + net_enetc + net_enetfec + net_enic + net_failsafe + net_fm10k + net_gve + net_hinic + net_i40e + net_iavf + net_ice + net_idpf + net_igc + net_ionic + net_ipn3ke + net_ixgbe + net_liquidio + net_memif + net_mlx4 + net_mlx5 + net_netvsc + net_nfp + net_ngbe + net_null + net_octeon_ep + net_octeontx + net_pcap + net_pfe + net_qede + net_ring + net_softnic + net_tap + net_thunderx + net_txgbe + net_vdev_netvsc + net_vhost + net_virtio + net_vmxnet3 + node + pcapng + pci + pdump + pipeline + port + power + raw_cnxk_bphy + raw_cnxk_gpio + raw_dpaa2_cmdif + raw_ifpga + raw_ntb + raw_skeleton + rawdev + rcu + regex_cn9k + regex_mlx5 + regexdev + reorder + rib + ring + sched + security + stack + table + telemetry + timer + vdpa_ifc + vdpa_mlx5 + vhost + " +_x86_64_libs=" + common_sfc_efx + dma_ioat + dma_idxd + dma_hisilicon + event_dlb2 + net_hns3 + net_mana + net_sfc + vdpa_sfc + " +_aarch64_libs=" + common_sfc_efx + dma_hisilicon + net_hns3 + net_sfc + vdpa_sfc + " +case $CARCH in +x86_64) + _libs="$_libs $_x86_64_libs" + ;; +aarch64) + _libs="$_libs $_aarch64_libs" + ;; +esac +for _lib in $_libs; do + subpackages="$subpackages $pkgname-${_lib//_/-}:splitlib" +done + build() { abuild-meson \ + --default-library=dynamic \ -Denable_docs=false \ -Dtests="$(want_check && echo true || echo false)" \ -Dplatform=generic \ @@ -44,6 +252,29 @@ package() { rm -r "$pkgdir"/usr/share/dpdk/examples } +dev() { + default_dev + amove usr/lib/dpdk/pmds-*/*.so +} + +utils() { + pkgdesc="command line utilities for $pkgname" + depends="python3" + amove usr/bin +} + +splitlib() { + pkgdesc="DPDK library: $subpkgname" + + local libname="${subpkgname#"$pkgname"-}" + libname=${libname//-/_} + local _real=$(readlink "$pkgdir"/usr/lib/librte_$libname.so.$_majorver) + if echo $_real | grep -q pmds; then + amove usr/lib/$_real* + fi + amove usr/lib/librte_$libname.so.* +} + sha512sums=" c879ad1d84200af3233d8d717b25121e8a9906cd9f2908411e9e6044f388d7f60046427873e592bb922fd603da400ea680d2338a707809ca54bd5f5c944d945d dpdk-23.03.tar.xz "