diff options
| -rw-r--r-- | sys-libs/libnvidia-container/Manifest | 1 | ||||
| -rw-r--r-- | sys-libs/libnvidia-container/libnvidia-container-1.17.4.ebuild | 131 |
2 files changed, 132 insertions, 0 deletions
diff --git a/sys-libs/libnvidia-container/Manifest b/sys-libs/libnvidia-container/Manifest index 5451668a0b32..a7b3634a4f8d 100644 --- a/sys-libs/libnvidia-container/Manifest +++ b/sys-libs/libnvidia-container/Manifest @@ -1,3 +1,4 @@ DIST libnvidia-container-1.17.2.tar.gz 1611920 BLAKE2B 571ddc5fda854999cd7d1b2bbc40d34728827bf2e9c26afe6784166db7202d2baa55b0ca0eba50be61b029645735aaf91655bfec55113996eaf8c5278b835cd8 SHA512 a791998012f681805b3cc0a3bd38abc958a523c3eaa13cab36be4e0242cfba095719d5f6fa59423453a81c3fc76c96a4bbfd2eea27d20e2ef2f9a03d3a447fd8 DIST libnvidia-container-1.17.3.tar.gz 1612952 BLAKE2B dad0bdf68d6f9e7b7ed37792a7b5609ae632bc450fe69d5d31e035e2e404ec32e5fd8f1663c66c5613041c5d9f814af692a77b6e522c62e673e1df1cf19abc29 SHA512 24293e369fea42ebe64163464f600808c0d18e8b4efeea12095de22e16d43837cb6441f46baf52e8c966810c76b0f5045737a96d173e2ecf8cd15fff37cd4c4f +DIST libnvidia-container-1.17.4.tar.gz 1612093 BLAKE2B 225b0ffb31fca19f8b2996fb64cc31de59f1b38ad2a7389f8098bccabe4244289b3d857b51c9614f61cf770ced7eb74b55776e5398b1b4463d3b7d693c74a28e SHA512 a5edb4eec8cc4a9bd221c3cbb14515656854700b1a6aef7b47147d96b67511d5cfcae38c740fd946452768da0f993edf6c656697cd01189de88b67a4ae00aae5 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.17.4.ebuild b/sys-libs/libnvidia-container/libnvidia-container-1.17.4.ebuild new file mode 100644 index 000000000000..5d4b6cda8900 --- /dev/null +++ b/sys-libs/libnvidia-container/libnvidia-container-1.17.4.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2025 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 +} |
