* [bug#72793] [PATCH] Package DPDK
@ 2024-08-24 13:25 Kai Jellinghaus
2024-11-06 14:13 ` bug#72793: " Zheng Junjie
0 siblings, 1 reply; 2+ messages in thread
From: Kai Jellinghaus @ 2024-08-24 13:25 UTC (permalink / raw)
To: 72793
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: <e2cbd9c0a296bab233728e193d670199e1fda6aa.1724505791.git.kaij@j10-labs.com>
From: Kai Jellinghaus <kaij@j10-labs.com>
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 <kaij@j10-labs.com>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(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))
+ (inputs '())
+ (arguments
+ ; tests do exist, however they all require /sys/devices/system/
to be available. TODO
+ `(#:tests? #f))
+ (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
--
2.46.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* bug#72793: [PATCH] Package DPDK
2024-08-24 13:25 [bug#72793] [PATCH] Package DPDK Kai Jellinghaus
@ 2024-11-06 14:13 ` Zheng Junjie
0 siblings, 0 replies; 2+ messages in thread
From: Zheng Junjie @ 2024-11-06 14:13 UTC (permalink / raw)
To: Kai Jellinghaus; +Cc: 72793-done
[-- Attachment #1: Type: text/plain, Size: 5379 bytes --]
Kai Jellinghaus <contact@kaij.tech> 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: <e2cbd9c0a296bab233728e193d670199e1fda6aa.1724505791.git.kaij@j10-labs.com>
> From: Kai Jellinghaus <kaij@j10-labs.com>
> 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 <kaij@j10-labs.com>
> +;;;
> +;;; 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 <http://www.gnu.org/licenses/>.
> +
> +(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.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-11-06 14:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-24 13:25 [bug#72793] [PATCH] Package DPDK Kai Jellinghaus
2024-11-06 14:13 ` bug#72793: " Zheng Junjie
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).