commit: e5dbdf8d5ad826b5e7d17aa1eba39a8c02e9e640 Author: Huang Rui <vowstar <AT> gmail <DOT> com> AuthorDate: Fri Jun 12 17:31:44 2020 +0000 Commit: Rui Huang <vowstar <AT> gmail <DOT> com> CommitDate: Fri Jun 12 17:31:44 2020 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=e5dbdf8d
app-emulation/nvidia-container-toolkit: new package NVIDIA container runtime toolkit Replacement of nvidia-docker and nvidia-docker2 nvidia-docker is deprecated because docker now has native gpu support, which this package is required to use. Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Huang Rui <vowstar <AT> gmail.com> app-emulation/nvidia-container-toolkit/Manifest | 1 + .../nvidia-container-toolkit/files/config.toml | 17 ++++++ .../nvidia-container-toolkit/metadata.xml | 20 ++++++++ .../nvidia-container-toolkit-1.1.1.ebuild | 60 ++++++++++++++++++++++ 4 files changed, 98 insertions(+) diff --git a/app-emulation/nvidia-container-toolkit/Manifest b/app-emulation/nvidia-container-toolkit/Manifest new file mode 100644 index 0000000..b8fe638 --- /dev/null +++ b/app-emulation/nvidia-container-toolkit/Manifest @@ -0,0 +1 @@ +DIST nvidia-container-toolkit-1.1.1.tar.gz 1768013 BLAKE2B c7fb99d5da981937bcdb00927b9debf8724bbeb54a3e50d043560c424ade5575b9d62d40988e3804f9dfe78650d9d2b186d0469aa0d8a85f561124da28b752a0 SHA512 99db21a0741b8cb36c55cfb1c74dd275013cfaed51bf35eb5546d335ead22b682547835b5c74c57c8a359f0f7869e9ed7b64c17ce4afcc3540fd0b2da0f547e7 diff --git a/app-emulation/nvidia-container-toolkit/files/config.toml b/app-emulation/nvidia-container-toolkit/files/config.toml new file mode 100644 index 0000000..4d51e51 --- /dev/null +++ b/app-emulation/nvidia-container-toolkit/files/config.toml @@ -0,0 +1,17 @@ +disable-require = false +#swarm-resource = "DOCKER_RESOURCE_GPU" + +[nvidia-container-cli] +#root = "/run/nvidia/driver" +#path = "/usr/bin/nvidia-container-cli" +environment = [] +#debug = "/var/log/nvidia-container-toolkit.log" +#ldcache = "/etc/ld.so.cache" +load-kmods = true +#no-cgroups = false +user = "root:video" +ldconfig = "@/sbin/ldconfig" +#alpha-merge-visible-devices-envvars = false + +[nvidia-container-runtime] +#debug = "/var/log/nvidia-container-runtime.log" diff --git a/app-emulation/nvidia-container-toolkit/metadata.xml b/app-emulation/nvidia-container-toolkit/metadata.xml new file mode 100644 index 0000000..7ce5efe --- /dev/null +++ b/app-emulation/nvidia-container-toolkit/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>[email protected]</email> + <name>Huang Rui</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> +</pkgmetadata> diff --git a/app-emulation/nvidia-container-toolkit/nvidia-container-toolkit-1.1.1.ebuild b/app-emulation/nvidia-container-toolkit/nvidia-container-toolkit-1.1.1.ebuild new file mode 100644 index 0000000..1632552 --- /dev/null +++ b/app-emulation/nvidia-container-toolkit/nvidia-container-toolkit-1.1.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +GITHUB_PN="container-toolkit" +EGO_PN_VCS="github.com/NVIDIA/${GITHUB_PN}" +EGO_PN="${EGO_PN_VCS}" + +inherit golang-build + +DESCRIPTION="NVIDIA container runtime toolkit" +HOMEPAGE="https://github.com/NVIDIA/container-toolkit" + +if [[ "${PV}" == "9999" ]] ; then + inherit golang-vcs +else + inherit golang-vcs-snapshot + SRC_URI=" + https://github.com/NVIDIA/${GITHUB_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + " + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0" +SLOT="0" + +IUSE="" + +RDEPEND=" + app-emulation/libnvidia-container +" + +DEPEND="${RDEPEND}" + +BDEPEND="" + +src_compile() { + echo "${S}" || die + EGO_PN="${EGO_PN_VCS}/pkg" \ + EGO_BUILD_FLAGS="-o ${T}/${PN}" \ + golang-build_src_compile +} + +src_install() { + dobin "${T}/${PN}" + into "/usr/bin" + dosym "${PN}" "/usr/bin/nvidia-container-runtime-hook" + insinto "/etc/nvidia-container-runtime" + doins "${FILESDIR}/config.toml" +} + +pkg_postinst() { + elog "Your docker service must restart after install this package." + elog "OpenRC: sudo rc-service docker restart" + elog "systemd: sudo 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." +}
