diff --git a/srcpkgs/dpdk/patches/arm.patch b/srcpkgs/dpdk/patches/arm.patch new file mode 100644 index 0000000000..de5d8f7b66 --- /dev/null +++ b/srcpkgs/dpdk/patches/arm.patch @@ -0,0 +1,17 @@ +diff --git config/meson.build config/meson.build +index 2bafea5..6b15f13 100644 +--- config/meson.build ++++ config/meson.build +@@ -50,11 +50,7 @@ meson.add_install_script('../buildtools/symlink-drivers-solibs.sh', + pmd_subdir_opt) + + # set the machine type and cflags for it +-if meson.is_cross_build() +- machine = host_machine.cpu() +-else +- machine = get_option('machine') +-endif ++machine = get_option('machine') + + # machine type 'default' is special, it defaults to the per arch agreed common + # minimal baseline needed for DPDK. diff --git a/srcpkgs/dpdk/template b/srcpkgs/dpdk/template index b7689e4114..2bd4700e81 100644 --- a/srcpkgs/dpdk/template +++ b/srcpkgs/dpdk/template @@ -1,11 +1,14 @@ # Template file for 'dpdk' pkgname=dpdk version=19.08 -revision=1 +revision=2 +# no musl - uses error.h, execinfo.h and argp.h +archs="x86_64 aarch64 ppc64le i686 armv7l" build_style=meson configure_args="-Denable_kmods=false -Denable_docs=true -Db_lto=false" hostmakedepends="doxygen python3-Sphinx pkg-config elfutils" -makedepends="libnuma-devel linux-headers jansson-devel libpcap-devel zlib-devel libressl-devel libbsd-devel libelf libmnl" +makedepends="libnuma-devel linux-headers jansson-devel libpcap-devel + zlib-devel libressl-devel libbsd-devel libelf libmnl" depends="python-pyelftools" short_desc="Data Plane Development Kit" maintainer="Hans-J. Schmid " @@ -14,12 +17,11 @@ homepage="https://www.dpdk.org/" distfiles="https://github.com/DPDK/${pkgname}/archive/v${version}.tar.gz" checksum=1ceff1a6f4f8d5f6f62c1682097249227ac5225ccd9638e0af09f5411c681038 -if [ "$XBPS_TARGET_LIBC" = "musl" ]; then - broken="Usage of error.h, execinfo.h and argp.h" -fi - -case "$XBPS_TARGET_MACHINE" in - armv*) broken="Cannot get define of '__ARM_NEON'";; +case "${XBPS_TARGET_MACHINE}" in + armv7l*) configure_args+=" -Dmachine=armv7-a";; + aarch64*) configure_args+=" -Dmachine=armv8-a";; + ppc64le*) configure_args+=" -Dmachine=power8";; + *) configure_args+=" -Dmachine=default" esac post_install() {