commit:     93b7e48c33e2c39fbd7961a0566707b4c0294d92
Author:     Huang Rui <vowstar <AT> gmail <DOT> com>
AuthorDate: Tue Jan  6 05:02:12 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jan 15 21:00:12 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=93b7e48c

sys-libs/libnvidia-container: add 1.18.1

Signed-off-by: Huang Rui <vowstar <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/45268
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-libs/libnvidia-container/Manifest              |   1 +
 .../libnvidia-container-1.18.1.ebuild              | 131 +++++++++++++++++++++
 2 files changed, 132 insertions(+)

diff --git a/sys-libs/libnvidia-container/Manifest 
b/sys-libs/libnvidia-container/Manifest
index 686c37b2f468..f8b4e9482293 100644
--- a/sys-libs/libnvidia-container/Manifest
+++ b/sys-libs/libnvidia-container/Manifest
@@ -1,3 +1,4 @@
 DIST libnvidia-container-1.17.8.tar.gz 1616106 BLAKE2B 
4e741ced6fe47ecc9c15359be337db740e94bccb06aa30a210ec143fd86a66ba9eb99a93604a16c7e2d74894ad0fd17ec4a6553af5d282c4613066cc0a26e770
 SHA512 
727f66bcb7396110c056e483abc5d2ba38381feaf0d47b4b40159933ccc65e76d4b33d7bb32b1ec87851c802d1823165f50f289d92f748f7f50f6896fe2bd10e
 DIST libnvidia-container-1.18.0.tar.gz 1616152 BLAKE2B 
86316e79209733be795b16570460fe2bd90f16b8279c990ae7c562495cc163ab2220f731205efd467884580aa04446a3ed266a2bd4a08bb5fa7ce09cf110f37c
 SHA512 
230b6d3b0a29a54796cebdc212b4cb4b2249d8bb370e97778be88093b6d36153d1325a5755ef69d5b856cfc6b9a904e30d39466d86efd3369b2c838fa57cd7e9
+DIST libnvidia-container-1.18.1.tar.gz 1616164 BLAKE2B 
dd0243934475b13a24ed74f7dc1113ca657cc910c4d4ddb08d2d04f580191468673f572815212c99a5e7334380996adb38317349ced06c075583c54b5fb9c3a7
 SHA512 
0f8f7c2a7f61ee6396972c42b5ec7fa014ff93d66343c4d7064ff5aab0958a8e18e1cbbc64cdd2607ea0f60de8c7416b003081a34a109299dec8b0b63981360d
 DIST libnvidia-container-nvidia-modprobe-550.54.14.tar.gz 47147 BLAKE2B 
7b334877d98d0c75d5750192dea868436938852443ced14e74e59076ed4d8be9e361cdefbe48295d87bb91ac4565152ec3f3233479b3da19bb8baf8e7ef53cd6
 SHA512 
279228aa315ff5fd1a23df23527aff58b2319f11f9fc7d939fa285ea933b4cc6d223451e20ecf7f50baba9f6c9c100e57cb77675d0d17fa77f19d3fea2ccc193

diff --git a/sys-libs/libnvidia-container/libnvidia-container-1.18.1.ebuild 
b/sys-libs/libnvidia-container/libnvidia-container-1.18.1.ebuild
new file mode 100644
index 000000000000..c028c4f78683
--- /dev/null
+++ b/sys-libs/libnvidia-container/libnvidia-container-1.18.1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+# check the VERSION in libnvidia-container/mk/nvidia-modprobe.mk
+NVMODV="550.54.14"
+
+DESCRIPTION="NVIDIA container runtime library"
+HOMEPAGE="https://github.com/NVIDIA/libnvidia-container";
+
+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
+NVMODS="${WORKDIR}/nvidia-modprobe-${NVMODV}"
+SRC_URI+="
+       https://github.com/NVIDIA/nvidia-modprobe/archive/${NVMODV}.tar.gz -> 
${PN}-nvidia-modprobe-${NVMODV}.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0/${PV}"
+IUSE="+seccomp static-libs"
+
+# libtirpc
+# NOTE It seams that library also has optional support for net-libs/libtirpc, 
but I didn't
+#      manage to build without it, probably the support for that build-roted 
away.
+DEPEND="
+       net-libs/libtirpc:=
+       sys-libs/libcap
+       virtual/libelf:=
+       seccomp? ( sys-libs/libseccomp )
+"
+
+RDEPEND="${DEPEND}
+       elibc_glibc? ( x11-drivers/nvidia-drivers )
+"
+
+BDEPEND="
+       dev-lang/go
+       net-libs/rpcsvc-proto
+       sys-apps/lsb-release
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.17.0-fix-makefile-r1.patch"
+)
+
+DOCS=( NOTICE README.md )
+
+src_unpack() {
+       default_src_unpack
+       if [[ "${PV}" == "9999" ]] ; then
+               git-r3_src_unpack
+       fi
+}
+
+src_prepare() {
+       # nvidia-modprobe patching based on 
libnvidia-container/mk/nvidia-modprobe.mk
+       mkdir -p "${S}"/deps/src/nvidia-modprobe-"${NVMODV}" || die
+       cp -r "${NVMODS}"/modprobe-utils/ 
"${S}"/deps/src/nvidia-modprobe-"${NVMODV}"/ || die
+       touch "${S}/deps/src/nvidia-modprobe-${NVMODV}/.download_stamp" || die
+       pushd "${S}/deps/src/nvidia-modprobe-${NVMODV}" || die
+       eapply -p1 "${S}"/mk/nvidia-modprobe.patch
+       popd || die
+
+       if ! tc-is-gcc; then
+               ewarn "libnvidia-container must be built with gcc because of 
option \"-fplan9-extensions\"!"
+               ewarn "Ignoring CC=$(tc-getCC) and forcing ${CHOST}-gcc"
+               export CC=${CHOST}-gcc AR=${CHOST}-gcc-ar
+               tc-is-gcc || die "tc-is-gcc failed in spite of CC=${CC}"
+       fi
+
+       default
+}
+
+src_configure() {
+       export GOPATH="${S}"
+       export GOFLAGS="-mod=vendor"
+       export CFLAGS="${CFLAGS}"
+       export LDFLAGS="${LDFLAGS}"
+       export CGO_CFLAGS="${CGO_CFLAGS:-$CFLAGS}"
+       export CGO_LDFLAGS="${CGO_LDFLAGS:-$LDFLAGS}"
+
+       tc-export LD OBJCOPY PKG_CONFIG
+
+       # we could also set GO compiller, but it currently defaults to gccgo, 
but as for now I believe
+       # most users will prefer dev-lang/go and they usually don't define 
GO="go" their make.conf either.
+       # tc-export GO
+
+       my_makeopts=(
+               prefix="${EPREFIX}/usr"
+               libdir="${EPREFIX}/usr/$(get_libdir)"
+               GO_LDFLAGS="-compressdwarf=false -linkmode=external"
+               WITH_SECCOMP="$(usex seccomp)"
+       )
+       # WITH_TIRPC="$(usex libtirpc)"
+
+       if [[ "${PV}" != "9999" ]] ; then
+               IFS='_' read -r MY_LIB_VERSION MY_LIB_TAG <<< "${PV}"
+
+               my_makeopts=( "${my_makeopts[@]}"
+                       REVISION="${PV}"
+                       LIB_VERSION="${MY_LIB_VERSION}"
+                       LIB_TAG="${MY_LIB_TAG}"
+               )
+       fi
+}
+
+src_compile() {
+       emake "${my_makeopts[@]}"
+}
+
+src_install() {
+       emake "${my_makeopts[@]}" DESTDIR="${D}" install
+       # Install docs
+       einstalldocs # Bug 831705
+       # Cleanup static libraries
+       if ! use static-libs ; then
+               find "${ED}" -name '*.a' -delete || die # Bug 783984
+       fi
+}

Reply via email to