Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37048210
en ru br
ALT Linux repos
S:22.11.2-alt1

Group :: System/Libraries
RPM: dpdk

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%define _unpackaged_files_terminate_build 1

# Add option to build without examples

%def_without examples
# Add option to build without tools
%def_with tools
%def_disable docs

%def_enable afxdp


Name: dpdk
Version: 21.11.4
Release: alt1
Url: http://dpdk.org
License: BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-only
Summary: Set of libraries and drivers for fast packet processing
Group: System/Libraries

Source: %name-%version.tar

Patch0001: 0001-Do-not-redefine-strlcpy-and-strlcat.patch

#

# The DPDK is designed to optimize througput of network traffic using, among
# other techniques, carefully crafted assembly instructions.  As such it
# needs extensive work to port it to other architectures.
#
ExclusiveArch: x86_64 %{ix86} aarch64 ppc64le

BuildRequires(pre): meson >= 0.49.2
BuildRequires(pre): rpm-build-python3
BuildRequires: glibc-kernheaders libpcap-devel zlib-devel libssl-devel
BuildRequires: libnuma-devel libelf-devel libfdt-devel libjansson-devel
BuildRequires: rdma-core-devel libmnl-devel python3(elftools)
%{?_enable_afxdp:BuildRequires: libbpf-devel}
%{?_enable_docs:BuildRequires: doxygen /usr/bin/sphinx-build python3-module-sphinx_rtd_theme}
Requires: lib%name = %EVR

%description
The Data Plane Development Kit is a set of libraries and drivers for
fast packet processing in the user space.

%package -n lib%name
Summary: Data Plane Development Kit runtime libraries
Group: System/Libraries

%description -n lib%name
This package contains the runtime libraries needed for 3rd party application
to use the Data Plane Development Kit.

%package devel
Summary: Data Plane Development Kit development files
Group: System/Libraries
Requires: %name = %EVR
Provides: lib%name-devel = %EVR

%description devel
This package contains the headers and other files needed for developing
applications with the Data Plane Development Kit.

%package doc
Summary: Data Plane Development Kit API documentation
Group: System/Libraries
BuildArch: noarch

%description doc
API programming documentation for the Data Plane Development Kit.

%package tools
Summary: Tools for setting up Data Plane Development Kit environment
Group: Development/Documentation
Requires: %name = %EVR
Requires: kmod pciutils findutils iproute
AutoReqProv: yes, nopython

%description tools
%summary

%package examples
Summary: Data Plane Development Kit example applications
Group: Development/Tools
BuildRequires: libvirt-devel

%description examples
Example applications utilizing the Data Plane Development Kit, such
as L2 and L3 forwarding.

%define sdkdir %_datadir/%name
%define docdir %_docdir/%name
%define incdir %_includedir/%name
%define pmddir %name-pmds

%prep
%setup
%patch0001 -p2

%build
%add_optflags -fcommon
%meson --includedir=include/dpdk \
      -Ddrivers_install_subdir=%pmddir \
      -Dmachine=default \
      %{?_with_examples:-Dexamples=all} \
      %{?_enable_docs:-Denable_docs=true} \
      --default-library=shared

%meson_build

%install
%meson_install
rm -f %buildroot%_libdir/*.a

%files
# BSD
%_bindir/dpdk-dumpcap
%_bindir/dpdk-testpmd
%_bindir/dpdk-proc-info

%files -n lib%name
%_libdir/*.so.*
%_libdir/%pmddir

%if_enabled docs
%files doc
#BSD
%docdir
%endif

%files devel
#BSD
%incdir/
%sdkdir
%if_with examples
%exclude %sdkdir/examples/
%endif
%_libdir/*.so
%_pkgconfigdir/*.pc

%if_with tools
%files tools
%_bindir/dpdk-pdump
%_bindir/dpdk-test
%_bindir/dpdk-test-*
%_bindir/dpdk-*.py
%endif

%if_with examples
%files examples
%_bindir/dpdk_example_*
%doc %sdkdir/examples
%endif

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin