mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-19 12:11:28 +00:00
Merge pull request #297787 from wfdewith/dpdk-23.11
dpdk: 23.07 -> 23.11
This commit is contained in:
commit
6da1795208
|
@ -2,20 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dpdk-kmods";
|
||||
version = "2022-08-29";
|
||||
version = "2023-02-05";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://git.dpdk.org/dpdk-kmods/snapshot/dpdk-kmods-4a589f7bed00fc7009c93d430bd214ac7ad2bb6b.tar.xz";
|
||||
sha256 = "sha256-l9asJuw2nl63I1BxK6udy2pNunRiMJxyoXeg9V5+WgI=";
|
||||
url = "https://git.dpdk.org/dpdk-kmods/snapshot/dpdk-kmods-e721c733cd24206399bebb8f0751b0387c4c1595.tar.xz";
|
||||
sha256 = "sha256-AG5Lthp+CPR4R7I23DUmoWAmET8gLEFHHdjk2TUbQn4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://git.launchpad.net/ubuntu/+source/dpdk-kmods/plain/debian/patches/0001-support-linux-5.18.patch?id=9d628c02c169d8190bc2cb6afd81e4d364c382cd";
|
||||
sha256 = "sha256-j4kpx1DOnmf5lFxOhaVFNT7prEy1jrJERX2NFaybTPU=";
|
||||
})
|
||||
];
|
||||
|
||||
hardeningDisable = [ "pic" ];
|
||||
|
||||
makeFlags = kernel.makeFlags ++ [
|
||||
|
@ -39,5 +32,6 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.gpl2Only;
|
||||
maintainers = [ maintainers.mic92 ];
|
||||
platforms = platforms.linux;
|
||||
broken = kernel.isHardened;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ stdenv, lib
|
||||
, kernel
|
||||
, fetchurl
|
||||
, pkg-config, meson, ninja, makeWrapper
|
||||
, libbsd, numactl, libbpf, zlib, elfutils, jansson, openssl, libpcap, rdma-core
|
||||
|
@ -13,16 +12,13 @@
|
|||
)
|
||||
}:
|
||||
|
||||
let
|
||||
mod = kernel != null;
|
||||
dpdkVersion = "23.07";
|
||||
in stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "dpdk";
|
||||
version = "${dpdkVersion}" + lib.optionalString mod "-${kernel.version}";
|
||||
version = "23.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://fast.dpdk.org/rel/dpdk-${dpdkVersion}.tar.xz";
|
||||
sha256 = "sha256-4IYU6K65KUB9c9cWmZKJpE70A0NSJx8JOX7vkysjs9Y=";
|
||||
url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
|
||||
sha256 = "sha256-ZPpY/fyelRDo5BTjvt0WW9PUykZaIxsoAyP4PNU/2GU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -44,7 +40,7 @@ in stdenv.mkDerivation {
|
|||
openssl.dev
|
||||
zlib
|
||||
python3
|
||||
] ++ lib.optionals mod kernel.moduleBuildDependencies;
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
# Propagated to support current DPDK users in nixpkgs which statically link
|
||||
|
@ -56,21 +52,15 @@ in stdenv.mkDerivation {
|
|||
|
||||
postPatch = ''
|
||||
patchShebangs config/arm buildtools
|
||||
'' + lib.optionalString mod ''
|
||||
# kernel_install_dir is hardcoded to `/lib/modules`; patch that.
|
||||
sed -i "s,kernel_install_dir *= *['\"].*,kernel_install_dir = '$kmod/lib/modules/${kernel.modDirVersion}'," kernel/linux/meson.build
|
||||
'';
|
||||
|
||||
mesonFlags = [
|
||||
"-Dtests=false"
|
||||
"-Denable_docs=true"
|
||||
"-Denable_kmods=${lib.boolToString mod}"
|
||||
"-Ddeveloper_mode=disabled"
|
||||
]
|
||||
# kni kernel driver is currently not compatble with 5.11
|
||||
++ lib.optional (mod && kernel.kernelOlder "5.11") "-Ddisable_drivers=kni"
|
||||
++ [(if shared then "-Ddefault_library=shared" else "-Ddefault_library=static")]
|
||||
++ lib.optional (machine != null) "-Dmachine=${machine}"
|
||||
++ lib.optional mod "-Dkernel_dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
|
||||
++ lib.optional (withExamples != []) "-Dexamples=${builtins.concatStringsSep "," withExamples}";
|
||||
|
||||
postInstall = ''
|
||||
|
@ -87,7 +77,6 @@ in stdenv.mkDerivation {
|
|||
|
||||
outputs =
|
||||
[ "out" "doc" ]
|
||||
++ lib.optional mod "kmod"
|
||||
++ lib.optional (withExamples != []) "examples";
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -96,6 +85,5 @@ in stdenv.mkDerivation {
|
|||
license = with licenses; [ lgpl21 gpl2 bsd2 ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ magenbluten orivej mic92 zhaofengli ];
|
||||
broken = mod && kernel.isHardened;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,23 +18,15 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pktgen";
|
||||
version = "22.07.1";
|
||||
version = "23.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pktgen";
|
||||
repo = "Pktgen-DPDK";
|
||||
rev = "pktgen-${version}";
|
||||
sha256 = "sha256-wBLGwVdn3ymUTVv7J/kbQYz4WNIgV246PHg51+FStUo=";
|
||||
sha256 = "sha256-eujVEU+XkxF1kIGQJoBW3oXXNSqBEzx6mwR2XYoHinM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
# Ealier DPDK deprecated some macros, which were finally removed in >= 22.11
|
||||
url = "https://github.com/pktgen/Pktgen-DPDK/commit/089ef94ac04629f7380f5e618443bcacb2cef5ab.patch";
|
||||
sha256 = "sha256-ITU/dIfu7QPpdIVYuCuDhDG9rVF+n8i1YYn9bFmQUME=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -47,9 +39,7 @@ stdenv.mkDerivation rec {
|
|||
GUI = lib.optionalString withGtk "true";
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
# Needed with GCC 12
|
||||
"-Wno-error=address"
|
||||
"-Wno-error=use-after-free"
|
||||
"-Wno-error=sign-compare"
|
||||
];
|
||||
|
||||
# requires symbols from this file
|
||||
|
|
|
@ -27683,9 +27683,7 @@ with pkgs;
|
|||
|
||||
cryptodev = linuxPackages.cryptodev;
|
||||
|
||||
dpdk = callPackage ../os-specific/linux/dpdk {
|
||||
kernel = null; # dpdk modules are in linuxPackages.dpdk.kmod
|
||||
};
|
||||
dpdk = callPackage ../os-specific/linux/dpdk { };
|
||||
|
||||
keyutils = callPackage ../os-specific/linux/keyutils { };
|
||||
|
||||
|
|
|
@ -309,6 +309,7 @@ in {
|
|||
inherit (pkgs) odp-dpdk pktgen; # added 2018-05
|
||||
inherit (pkgs) bcc bpftrace; # added 2021-12
|
||||
inherit (pkgs) oci-seccomp-bpf-hook; # added 2022-11
|
||||
inherit (pkgs) dpdk; # added 2024-03
|
||||
|
||||
acpi_call = callPackage ../os-specific/linux/acpi-call {};
|
||||
|
||||
|
@ -345,8 +346,6 @@ in {
|
|||
|
||||
dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { };
|
||||
|
||||
dpdk = pkgs.dpdk.override { inherit kernel; };
|
||||
|
||||
exfat-nofuse = if lib.versionOlder kernel.version "5.8" then callPackage ../os-specific/linux/exfat { } else null;
|
||||
|
||||
evdi = callPackage ../os-specific/linux/evdi { };
|
||||
|
|
Loading…
Reference in a new issue