guru/sys-libs/libnvidia-container/libnvidia-container-1.14.6.ebuild
Huang Rui f67bf11860
sys-libs/libnvidia-container: bump to 1.14.6
- Fix misses USE=static-libs and installs '.a' files
- Fix go: command not found, add go as BDEPEND
- Fix doc install
- Respect LDFLAGS and CFLAGS
- Don't strip files
- Fix overwrites CFLAGS/CXXFLAGS or adds uncommon ones

Closes: https://bugs.gentoo.org/783984
Closes: https://bugs.gentoo.org/831703
Closes: https://bugs.gentoo.org/831705
Closes: https://bugs.gentoo.org/831706
Closes: https://bugs.gentoo.org/831707
Closes: https://bugs.gentoo.org/831708
Closes: https://bugs.gentoo.org/907876
Signed-off-by: Huang Rui <vowstar@gmail.com>
2024-03-26 20:15:17 +08:00

97 lines
2.3 KiB
Bash

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# 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
https://github.com/NVIDIA/nvidia-modprobe/archive/${NVMODV}.tar.gz -> ${PN}-nvidia-modprobe-${NVMODV}.tar.gz
"
S="${WORKDIR}/${PN}-${PV/_rc/-rc.}"
NVMODS="${WORKDIR}/nvidia-modprobe-${NVMODV}"
KEYWORDS="~amd64"
fi
LICENSE="Apache-2.0"
SLOT="0/${PV}"
IUSE="doc static-libs"
RDEPEND="
net-libs/libtirpc:=
sys-libs/libcap
sys-libs/libseccomp
virtual/libelf:=
x11-drivers/nvidia-drivers
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-build/bmake
dev-lang/go
net-libs/rpcsvc-proto
sys-apps/lsb-release
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${PN}-1.14.6-fix-makefile.patch
)
DOCS=( COPYING COPYING.LESSER LICENSE NOTICE README.md)
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
default
}
src_compile() {
export GOPATH="${S}"
export GOFLAGS="-mod=vendor"
IFS='_' read -r MY_LIB_VERSION MY_LIB_TAG <<< "${PV}"
emake \
CGO_CFLAGS="${CFLAGS}" \
CGO_LDFLAGS="${LDFLAGS}" \
GO_LDFLAGS="-compressdwarf=false -linkmode=external" \
REVISION="${PV}" \
LIB_VERSION="${MY_LIB_VERSION}" \
LIB_TAG="${MY_LIB_TAG}"
}
src_install() {
emake \
CGO_CFLAGS="${CFLAGS}" \
CGO_LDFLAGS="${LDFLAGS}" \
GO_LDFLAGS="-compressdwarf=false -linkmode=external" \
REVISION="${PV}" \
LIB_VERSION="${MY_LIB_VERSION}" \
LIB_TAG="${MY_LIB_TAG}" \
DESTDIR="${D}" \
install
# Install docs
if use doc ; then
einstalldocs # Bug 831705
fi
# Cleanup static libraries
if ! use static-libs ; then
find "${ED}" -name '*.a' -delete || die # Bug 783984
fi
}