From 2051993ecf3428194e0c8291a079b82f19ef02de Mon Sep 17 00:00:00 2001 From: Jeremi Piotrowski Date: Mon, 26 Feb 2024 11:51:25 +0000 Subject: [PATCH] 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 --- .../sys-libs/libnvidia-container/Manifest | 3 + .../libnvidia-container-1.14.5.ebuild | 74 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-libs/libnvidia-container/Manifest create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-libs/libnvidia-container/libnvidia-container-1.14.5.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/sys-libs/libnvidia-container/Manifest b/sdk_container/src/third_party/coreos-overlay/sys-libs/libnvidia-container/Manifest new file mode 100644 index 0000000000..13f875458d --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-libs/libnvidia-container/Manifest @@ -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 diff --git a/sdk_container/src/third_party/coreos-overlay/sys-libs/libnvidia-container/libnvidia-container-1.14.5.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-libs/libnvidia-container/libnvidia-container-1.14.5.ebuild new file mode 100644 index 0000000000..f715a767ad --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-libs/libnvidia-container/libnvidia-container-1.14.5.ebuild @@ -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" +}