From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 62F45158232 for ; Mon, 9 Dec 2024 22:27:52 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6C60AE0CB3; Mon, 9 Dec 2024 22:27:51 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 934ADE0CB1 for ; Mon, 9 Dec 2024 22:27:50 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B746E3430F9 for ; Mon, 9 Dec 2024 22:27:49 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id E1859AED for ; Mon, 9 Dec 2024 22:27:47 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1733783233.d14ef4c688248a08314575c5d9d9b733261c2884.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-containers/nvidia-container-toolkit/, ... X-VCS-Repository: repo/gentoo X-VCS-Files: app-containers/nvidia-container-toolkit/Manifest app-containers/nvidia-container-toolkit/files/config.toml app-containers/nvidia-container-toolkit/metadata.xml app-containers/nvidia-container-toolkit/nvidia-container-toolkit-1.17.3.ebuild app-containers/nvidia-container-toolkit/nvidia-container-toolkit-9999.ebuild X-VCS-Directories: app-containers/nvidia-container-toolkit/files/ app-containers/nvidia-container-toolkit/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: d14ef4c688248a08314575c5d9d9b733261c2884 X-VCS-Branch: master Date: Mon, 9 Dec 2024 22:27:47 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: bf11ab21-5064-484d-90e6-152a4ca86741 X-Archives-Hash: 37d19b33fb0b458f135c75eca4e8bc71 commit: d14ef4c688248a08314575c5d9d9b733261c2884 Author: Z. Liu gmail com> AuthorDate: Thu Dec 5 09:10:00 2024 +0000 Commit: Sam James gentoo 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 gmail.com> and many others, thanks. Changes: - update version to 1.17.3 - remove extldflags patch, applied by upstream Signed-off-by: Z. Liu gmail.com> Signed-off-by: Sam James 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 @@ + + + + + vowstar@gmail.com + Huang Rui + + + zhixu.liu@gmail.com + Z. Liu + + + proxy-maint@gentoo.org + Proxy Maintainers + + + NVIDIA/container-toolkit + + + 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. + + + NVIDIA容器运行时工具包,构建和运行利用NVIDIA GPU的容器。简而言之: + nvidia-docker已经过时,因为docker现在具有原生的GPU支持,而这个包是使用它 + 所必需的。NVIDIA容器工具包(以前称为NVIDIA Docker)允许容器访问完整的 + GPU加速。OpenGL、OpenCL和CUDA支持生产使用。Vulkan支持目前处于测试阶段。 + 这只适用于在配备NVIDIA GPU的Linux主机系统上运行的Linux容器。 + + 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." +}