Kai Jellinghaus writes: > I've created a small patch to create a dpdk package. I did my best to > follow the docs, but please do point out any mistake I've made. > As you will see tests are disabled currently - I've not been able to > figure out how to mount /sys into the build sandbox. I'm not sure if > this is critical for accepting the package. > Additionally, this patch is based on my own copy of guix, so the base > commit is likely incompatible. Again, I'm unsure if this poses a > problem. > > Lastly, I haven't seen info on how the copyright headers are done. > I've seen a bunch of different people so I'm assuming it's the author, > and copyright isn't somehow signed over. > > Please let me know about any issues, I'm happy to put in the work. > > From e2cbd9c0a296bab233728e193d670199e1fda6aa Mon Sep 17 00:00:00 2001 > Message-ID: > From: Kai Jellinghaus > Date: Sat, 24 Aug 2024 15:06:09 +0200 > Subject: [PATCH] Package DPDK > > Change-Id: Ib1486e7c9af77a88a90631f9dd775d54ba88ce9c > --- > gnu/local.mk | 1 + > gnu/packages/dpdk.scm | 63 +++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 64 insertions(+) > create mode 100644 gnu/packages/dpdk.scm > > diff --git a/gnu/local.mk b/gnu/local.mk > index 4d7b17e4b4..e0bb90fa13 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -249,6 +249,7 @@ GNU_SYSTEM_MODULES = \ > %D%/packages/docbook.scm \ > %D%/packages/docker.scm \ > %D%/packages/documentation.scm \ > + %D%/packages/dpdk.scm \ > %D%/packages/dvtm.scm \ > %D%/packages/easyrpg.scm \ > %D%/packages/ebook.scm \ > diff --git a/gnu/packages/dpdk.scm b/gnu/packages/dpdk.scm > new file mode 100644 > index 0000000000..4fb965799a > --- /dev/null > +++ b/gnu/packages/dpdk.scm > @@ -0,0 +1,63 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright © 2024 Kai Jellinghaus > +;;; > +;;; This file is part of GNU Guix. > +;;; > +;;; GNU Guix is free software; you can redistribute it and/or modify it > +;;; under the terms of the GNU General Public License as published by > +;;; the Free Software Foundation; either version 3 of the License, or (at > +;;; your option) any later version. > +;;; > +;;; GNU Guix is distributed in the hope that it will be useful, but > +;;; WITHOUT ANY WARRANTY; without even the implied warranty of > +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > +;;; GNU General Public License for more details. > +;;; > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see . > + > +(define-module (gnu packages dpdk) > + #:use-module ((guix licenses) #:prefix license:) > + #:use-module (guix gexp) > + #:use-module (guix utils) > + #:use-module (guix packages) > + #:use-module (guix download) > + #:use-module (guix git-download) > + #:use-module (guix build-system meson) > + #:use-module (gnu packages) > + #:use-module (gnu packages backup) > + #:use-module (gnu packages elf) > + #:use-module (gnu packages linux) > + #:use-module (gnu packages python) > + #:use-module (gnu packages python-xyz) > + #:use-module (gnu packages pkg-config)) > + > +(define-public dpdk > + (package > + (name "dpdk") > + (version "24.07") > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/DPDK/dpdk") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "04i4j4c5vcyldh0435hr01d2d5c0xf6y0sfg64764f79902i8p6i")))) > + (build-system meson-build-system) > + (native-inputs (list pkg-config python python-pyelftools numactl > libarchive libelf)) Normally we use python-minimal, not python. move some native-inputs to inputs. they're runtime dependent. > + (inputs '()) add numactl libarchive zlib jansson libxcrypt libpcap libbpf openssl libbsd, is meson configure phase say. > + (arguments > + ; tests do exist, however they all require /sys/devices/system/ > to be available. TODO > + `(#:tests? #f)) test require /sys/devices/system/, so we canno't run tests. add -Dplatform=generic -Dtests=false . and add properties tunable? to #t > + (license (list > + ; some files are additionally lgpl-2.1, but only in combination > with bsd-3 > + license:bsd-3 ; core components > + license:gpl2 ; kernel components > + license:expat ; lib/eal/windows/include/dirent.h, drivers/net/gve/base/* > + license:bsd-2 ; lib/eal/windows/include/getopt.h > + license:isc)) ; lib/eal/windows/getopt.c (dual licensed to bsd-2) > + (synopsis "Data Plane Development Kit") > + (description "DPDK is a set of libraries and drivers for fast > packet processing.") > + (home-page "https://www.dpdk.org/"))) > \ No newline at end of file > > base-commit: e27369b5e62e58b480b7d0dfeb1ed03180342353 patch pushed.