Add libnvidia-container ebuild

From scratch because the guru one patches too match and is going to break too
much. This package is primarily supposed to provide nvidia-container-cli.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
This commit is contained in:
Jeremi Piotrowski 2024-02-26 11:51:25 +00:00
parent b51e3cbd94
commit 2051993ecf
2 changed files with 77 additions and 0 deletions

View File

@ -0,0 +1,3 @@
DIST libnvidia-container-1.14.5.tar.gz 1549093 BLAKE2B ce3769c2589af12bfc802272ae3a6bdff9d2c8d25c669755eb6e9eba3a1a9fc4e89b55b73ed24098777e2eaf680ee686afce818206f7e94fe7f713cfd7cf69bd SHA512 0d50c584af5f222d9e54f8b6b094ddd9b625c965ed519e1b8f74e7b8d26d811084e1c37b3d7fb1a2473890b7b7ef263c0893c15e6bc4586d5155c03f31ab4662
DIST libtirpc-1.3.2.tar.bz2 513151 BLAKE2B 375b7bb046244f4666522c4f148428349fe1867b095dc5e268d037ba26982f88df70b0ad21fbe2b99150f644806a46651b524c3b9f7fe2499469806ea50b0331 SHA512 8664d5c4f842ee5acf83b9c1cadb7871f17b8157a7c4500e2236dcfb3a25768cab39f7c5123758dcd7381e30eb028ddfa26a28f458283f2dcea3426c9878c255
DIST nvidia-modprobe-495.44.tar.gz 43488 BLAKE2B 5af5a07158088fd131e85baf14477281e395fad981507bf6c0ea861abfc32be51e5a7030d412ca1ba3f7cca68d22964c36553b7c4186db7ee2320926acbd4c5b SHA512 67486ed1b17c8962786e13880910bb2b1938206a0fd76b360ddef7faf80ee0c941a2e3fbc73fa92a92009e2c54130dce17a466c8079537a981a2fed09c07e4c9

View File

@ -0,0 +1,74 @@
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit coreos-go-depend toolchain-funcs
DESCRIPTION="NVIDIA container runtime library"
HOMEPAGE="https://github.com/NVIDIA/libnvidia-container"
NVIDIA_MODPROBE_VERSION=495.44
TIRPC_VERSION=1.3.2
SRC_URI="
https://github.com/NVIDIA/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz
https://github.com/NVIDIA/nvidia-modprobe/archive/${NVIDIA_MODPROBE_VERSION}.tar.gz -> nvidia-modprobe-${NVIDIA_MODPROBE_VERSION}.tar.gz
https://downloads.sourceforge.net/project/libtirpc/libtirpc/${TIRPC_VERSION}/libtirpc-${TIRPC_VERSION}.tar.bz2
"
S="${WORKDIR}/${PN}-${PV/_rc/-rc.}"
KEYWORDS="~amd64"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 arm64"
DEPEND="
sys-libs/libcap
sys-libs/libseccomp
virtual/libelf
"
RDEPEND="${DEPEND}"
BDEPEND="
net-libs/rpcsvc-proto
virtual/pkgconfig
"
src_prepare() {
# sanity check:
grep -q "${NVIDIA_MODPROBE_VERSION}" mk/nvidia-modprobe.mk || die
mkdir -p "${S}/deps/src/" || die
local nvmoddir="nvidia-modprobe-${NVIDIA_MODPROBE_VERSION}"
ln -s "${WORKDIR}/${nvmoddir}" "${S}/deps/src/" || die
patch -d "${S}/deps/src/${nvmoddir}" -p1 <"${S}/mk/nvidia-modprobe.patch" || die
touch "${S}/deps/src/${nvmoddir}/.download_stamp" || die
grep -q "${TIRPC_VERSION}" mk/libtirpc.mk || die
local tirpcdir="libtirpc-${TIRPC_VERSION}"
ln -s "${WORKDIR}/${tirpcdir}" "${S}/deps/src/" || die
touch "${S}/deps/src/${tirpcdir}/.download_stamp" || die
default
}
src_compile() {
go_export
tc-export CC OBJCOPY LD AR STRIP PKG_CONFIG
MAKE_ARGS=(
LIB_VERSION="${PV/v/}"
prefix="${EPREFIX}/usr"
libdir="${EPREFIX}/usr/$(get_libdir)"
REVISION="${PV}"
WITH_LIBELF=yes
WITH_SECCOMP=yes
WITH_TIRPC=yes
CURL=die
OBJCPY="${OBJCOPY}"
LDCONFIG=${ROOT}/usr/sbin/ldconfig
)
emake "${MAKE_ARGS[@]}" || die "emake failed"
}
src_install() {
emake DESTDIR="${ED}" "${MAKE_ARGS[@]}" install || die "emake install failed"
}