public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-containers/nvidia-container-toolkit/, ...
@ 2024-12-09 22:27 Sam James
  0 siblings, 0 replies; only message in thread
From: Sam James @ 2024-12-09 22:27 UTC (permalink / raw
  To: gentoo-commits

commit:     d14ef4c688248a08314575c5d9d9b733261c2884
Author:     Z. Liu <zhixu.liu <AT> gmail <DOT> com>
AuthorDate: Thu Dec  5 09:10:00 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Dec  9 22:27:13 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d14ef4c6

app-containers/nvidia-container-toolkit: new package (from ::guru)

based on the ::guru ebuild by Huang Rui <vowstar <AT> gmail.com> and many
others, thanks. Changes:

- update version to 1.17.3
- remove extldflags patch, applied by upstream

Signed-off-by: Z. Liu <zhixu.liu <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-containers/nvidia-container-toolkit/Manifest   |  1 +
 .../nvidia-container-toolkit/files/config.toml     | 39 +++++++++++++++
 .../nvidia-container-toolkit/metadata.xml          | 35 +++++++++++++
 .../nvidia-container-toolkit-1.17.3.ebuild         | 57 ++++++++++++++++++++++
 .../nvidia-container-toolkit-9999.ebuild           | 57 ++++++++++++++++++++++
 5 files changed, 189 insertions(+)

diff --git a/app-containers/nvidia-container-toolkit/Manifest b/app-containers/nvidia-container-toolkit/Manifest
new file mode 100644
index 000000000000..6fa03184a094
--- /dev/null
+++ b/app-containers/nvidia-container-toolkit/Manifest
@@ -0,0 +1 @@
+DIST nvidia-container-toolkit-1.17.3.tar.gz 2718001 BLAKE2B 455a4159c45846951e8ebaee94393e20764e9e6cac10247dcbd4d9a16431a529ebe9bd6146fb590c1ea92f2e5f4c5561adfa6b8b495fe79f761e5664661acad4 SHA512 8c7a4290a1decc448c72e9a09213e0dc4e418ec633cefb16bb6b01fef7c502d23ed72cc1f3cc6583cad07feae5ca3cf44dad73e1274e042e3b26bdc7a4152b95

diff --git a/app-containers/nvidia-container-toolkit/files/config.toml b/app-containers/nvidia-container-toolkit/files/config.toml
new file mode 100644
index 000000000000..cf5c0a8fe979
--- /dev/null
+++ b/app-containers/nvidia-container-toolkit/files/config.toml
@@ -0,0 +1,39 @@
+#accept-nvidia-visible-devices-as-volume-mounts = false
+#accept-nvidia-visible-devices-envvar-when-unprivileged = true
+disable-require = false
+supported-driver-capabilities = "compat32,compute,display,graphics,ngx,utility,video"
+#swarm-resource = "DOCKER_RESOURCE_GPU"
+
+[nvidia-container-cli]
+#debug = "/var/log/nvidia-container-toolkit.log"
+environment = []
+#ldcache = "/etc/ld.so.cache"
+ldconfig = "@/sbin/ldconfig"
+load-kmods = true
+#no-cgroups = false
+#path = "/usr/bin/nvidia-container-cli"
+#root = "/run/nvidia/driver"
+user = "root:video"
+
+[nvidia-container-runtime]
+#debug = "/var/log/nvidia-container-runtime.log"
+log-level = "info"
+mode = "auto"
+runtimes = ["docker-runc", "runc", "crun"]
+
+[nvidia-container-runtime.modes]
+
+[nvidia-container-runtime.modes.cdi]
+annotation-prefixes = ["cdi.k8s.io/"]
+default-kind = "nvidia.com/gpu"
+spec-dirs = ["/etc/cdi", "/var/run/cdi"]
+
+[nvidia-container-runtime.modes.csv]
+mount-spec-path = "/etc/nvidia-container-runtime/host-files-for-container.d"
+
+[nvidia-container-runtime-hook]
+path = "nvidia-container-runtime-hook"
+skip-mode-detection = false
+
+[nvidia-ctk]
+path = "nvidia-ctk"

diff --git a/app-containers/nvidia-container-toolkit/metadata.xml b/app-containers/nvidia-container-toolkit/metadata.xml
new file mode 100644
index 000000000000..37403bfe0760
--- /dev/null
+++ b/app-containers/nvidia-container-toolkit/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person" proxied="yes">
+		<email>vowstar@gmail.com</email>
+		<name>Huang Rui</name>
+	</maintainer>
+	<maintainer type="person" proxied="yes">
+		<email>zhixu.liu@gmail.com</email>
+		<name>Z. Liu</name>
+	</maintainer>
+	<maintainer type="project" proxied="proxy">
+		<email>proxy-maint@gentoo.org</email>
+		<name>Proxy Maintainers</name>
+	</maintainer>
+	<upstream>
+		<remote-id type="github">NVIDIA/container-toolkit</remote-id>
+	</upstream>
+	<longdescription lang="en">
+		NVIDIA container runtime toolkit, build and run containers leveraging
+		NVIDIA GPUs. tl;dr: nvidia-docker is deprecated because docker now has
+		native gpu support, which this package is required to use. The NVIDIA
+		Container Toolkit (formerly known as NVIDIA Docker) allows containers to
+		access full GPU acceleration. OpenGL, OpenCL and CUDA are supported for
+		production use. Vulkan support is currently in beta. This only works for
+		Linux containers running on Linux host systems with NVIDIA GPUs.
+	</longdescription>
+	<longdescription lang="zh">
+		NVIDIA容器运行时工具包,构建和运行利用NVIDIA GPU的容器。简而言之:
+		nvidia-docker已经过时,因为docker现在具有原生的GPU支持,而这个包是使用它
+		所必需的。NVIDIA容器工具包(以前称为NVIDIA Docker)允许容器访问完整的
+		GPU加速。OpenGL、OpenCL和CUDA支持生产使用。Vulkan支持目前处于测试阶段。
+		这只适用于在配备NVIDIA GPU的Linux主机系统上运行的Linux容器。
+	</longdescription>
+</pkgmetadata>

diff --git a/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-1.17.3.ebuild b/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-1.17.3.ebuild
new file mode 100644
index 000000000000..dadbd1fc8907
--- /dev/null
+++ b/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-1.17.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EGO_PN="github.com/NVIDIA/${PN}"
+
+inherit go-module
+
+DESCRIPTION="NVIDIA container runtime toolkit"
+HOMEPAGE="https://github.com/NVIDIA/container-toolkit"
+
+if [[ "${PV}" == "9999" ]] ; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/NVIDIA/${PN}.git"
+else
+	SRC_URI="
+		https://github.com/NVIDIA/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz
+	"
+	S="${WORKDIR}/${PN}-${PV/_rc/-rc.}"
+	KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+
+# Some tests may require specific environmental setups or additional hardware.
+RESTRICT="test" # Bug 831702
+
+RDEPEND="
+	>=sys-libs/libnvidia-container-$(ver_cut 1-2)
+"
+
+src_compile() {
+	emake binaries
+}
+
+src_install() {
+	dobin nvidia-cdi-hook \
+		nvidia-container-runtime \
+		nvidia-container-runtime.cdi \
+		nvidia-container-runtime.legacy \
+		nvidia-container-runtime-hook \
+		nvidia-ctk
+	insinto "/etc/nvidia-container-runtime"
+	doins "${FILESDIR}/config.toml"
+}
+
+pkg_postinst() {
+	elog "Your docker or containerd (if applicable) service may need restart"
+	elog "after install this package:"
+	elog "OpenRC: rc-service containerd restart; rc-service docker restart"
+	elog "systemd: systemctl restart containerd; systemctl restart docker"
+	elog "You may need to edit your /etc/nvidia-container-runtime/config.toml"
+	elog "file before running ${PN} for the first time."
+	elog "For details, please see the NVIDIA docker manual page."
+}

diff --git a/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-9999.ebuild b/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-9999.ebuild
new file mode 100644
index 000000000000..b11ae45b1ca4
--- /dev/null
+++ b/app-containers/nvidia-container-toolkit/nvidia-container-toolkit-9999.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EGO_PN="github.com/NVIDIA/${PN}"
+
+inherit go-module
+
+DESCRIPTION="NVIDIA container runtime toolkit"
+HOMEPAGE="https://github.com/NVIDIA/container-toolkit"
+
+if [[ "${PV}" == "9999" ]] ; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/NVIDIA/${PN}.git"
+else
+	SRC_URI="
+		https://github.com/NVIDIA/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz
+	"
+	S="${WORKDIR}/${PN}-${PV/_rc/-rc.}"
+	KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+
+# Some tests may require specific environmental setups or additional hardware.
+RESTRICT="test" # Bug 831702
+
+RDEPEND="
+	sys-libs/libnvidia-container
+"
+
+src_compile() {
+	emake binaries
+}
+
+src_install() {
+	dobin nvidia-cdi-hook \
+		nvidia-container-runtime \
+		nvidia-container-runtime.cdi \
+		nvidia-container-runtime.legacy \
+		nvidia-container-runtime-hook \
+		nvidia-ctk
+	insinto "/etc/nvidia-container-runtime"
+	doins "${FILESDIR}/config.toml"
+}
+
+pkg_postinst() {
+	elog "Your docker or containerd (if applicable) service may need restart"
+	elog "after install this package:"
+	elog "OpenRC: rc-service containerd restart; rc-service docker restart"
+	elog "systemd: systemctl restart containerd; systemctl restart docker"
+	elog "You may need to edit your /etc/nvidia-container-runtime/config.toml"
+	elog "file before running ${PN} for the first time."
+	elog "For details, please see the NVIDIA docker manual page."
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-12-09 22:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-09 22:27 [gentoo-commits] repo/gentoo:master commit in: app-containers/nvidia-container-toolkit/, Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox