summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2020-03-28 07:46:19 +0100
committerJeroen Roovers <jer@gentoo.org>2020-03-28 07:47:21 +0100
commita671362f955f333504b7e6259dbc2253acadf8f7 (patch)
tree355855c0d10d6ededf863b2f07be92d2dedb438c /x11-drivers
parentx11-drivers/nvidia-drivers: Stable (diff)
downloadgentoo-a671362f955f333504b7e6259dbc2253acadf8f7.tar.gz
gentoo-a671362f955f333504b7e6259dbc2253acadf8f7.tar.bz2
gentoo-a671362f955f333504b7e6259dbc2253acadf8f7.zip
x11-drivers/nvidia-drivers: Old
Package-Manager: Portage-2.3.96, Repoman-2.3.22 Signed-off-by: Jeroen Roovers <jer@gentoo.org>
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/nvidia-drivers/Manifest3
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-440.59.ebuild578
2 files changed, 0 insertions, 581 deletions
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index 8e2f7635bf1e..61a7aa28ee4a 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -4,7 +4,6 @@ DIST NVIDIA-FreeBSD-x86_64-340.108.tar.gz 61500286 BLAKE2B 6997395199b5105249c93
DIST NVIDIA-FreeBSD-x86_64-390.132.tar.gz 64206643 BLAKE2B a95bc5bbb99c89b817692167946deddff1c131c54165e5958e0600432c59fa7ce06cfc6037f4bcf090232c8c25ae36e370e77594ca9a057565adc8e8ac231e72 SHA512 120bf1c5784ef2c74047780383ce5ba8997dc588bab7a5178afeca99fb3829f7b99651238348c9098d023eee1c7f94b5321e6fb4c6e542ece2af705fe33da863
DIST NVIDIA-FreeBSD-x86_64-430.64.tar.gz 62723909 BLAKE2B f3e48bc38a3ec051a75c08845b45c0ba6b80bca31d7efd85f115e6244f9cdff70c68466f9139f69c645207d4cf61103432d75c943d3f3508811d405fba55d1b6 SHA512 498a3007c065d8b17f94024f6ca80ffbe3dca253fdb73c4a08babede821e52f8466523b402af350e961f153c5f732eb04160937fabef1f1be3846a0a4743b310
DIST NVIDIA-FreeBSD-x86_64-435.21.tar.gz 64153630 BLAKE2B fee655cc843c004ac0c1ec85b9417292016a013136e04ad047d2513edbdc7c732561d6bcc4603c658905972dce6618de49d4d6ac583e84fdf212cf45397b48c1 SHA512 2c160c06ca58e3009deb1ba4a4a28d39419e251ced3bfa9a442942f9cce17003d67e8a8bfa23036d3916cc0e66f4bff0fbedaae73db6f10b995235a56d7eba7c
-DIST NVIDIA-FreeBSD-x86_64-440.59.tar.gz 82197680 BLAKE2B 0a241a1e8e4a14039e289065c3e0bda32c8322bef87868daade5a27c7d10d4118c45cde9c93ae63d3f5820dfcdea3fdf91433661de14b7097beb78ba547927a7 SHA512 5d48db9cdd69cc0369c196682b424db4ef3f8bc29853637b28a8053df3711f8404c5c26b8533fc7a1e2815a221552d762c9c31a4dc70834e040c5b97d7a3e06f
DIST NVIDIA-FreeBSD-x86_64-440.64.tar.gz 82235774 BLAKE2B a0dcc29069986488b8432b534ad295f8a40bb21d0a59580d26a9cb7e810223c571182f32a940314e8f8ae597627ba91a1bd6a4821b548cf7d290864eb267da7d SHA512 ff97c0548b01b6fd99102c05cb6b5d15a54017c599992a97b2b5ae3b3958fb5aa1ad9b14672206e99f4487c2e0b1f222bac35799359ed2de2d76c7f2ba816928
DIST NVIDIA-Linux-armv7l-gnueabihf-390.132.run 29084574 BLAKE2B 4727627de610928f0808c0213c9d359c5566900972ab9fbd3d0c58b36c0a1331799ceea22b4defdcfb81c3132f6124d8a6357de8124921eef608938afdc1380d SHA512 2f78a722ec31ceda86afc1831cb42d0eab8f8698b94c7fbc8569a6d34693b50e74453d5aaf3c0180f1fc2511b8c237ac635aceb24bcbea468f2a092cb44f98ee
DIST NVIDIA-Linux-x86-340.108.run 38902892 BLAKE2B 67e3c336a1f3e953e0fbccf96177bef7e0674c32243856660e9203e7c5fd4ada12a5fa784cebc2150d2133bdb16c19109f9fc5c04d4a138bd519def80c43164c SHA512 cf122c4cf724737cc647bc3d115e853bfe17027d5070c5ed68caf78e0dab718e7345bf824d0e8b33489bf299957dab8ff249cb0f837c3d17b2bb60887afe2818
@@ -13,11 +12,9 @@ DIST NVIDIA-Linux-x86_64-340.108.run 70165522 BLAKE2B 890d00ff2d1d1a602d7ce65e62
DIST NVIDIA-Linux-x86_64-390.132.run 82900057 BLAKE2B e94cc2493701e34c4dd2f0fc4f89501d6b1d3e44abf80af2eff20c19a22c1160ce322c25d2b5b13e212bf48fb41f94d3c1bb6f9251302e6c8facb687d807a3dc SHA512 bad3453472e8af9ef0681b82db75f9c53816a7d57ff2bf1facd2ea010e757bf7fd4fb907317471934a0cb56510eaf2a90503a3a86ec80b76afdacfa2b9ee6c13
DIST NVIDIA-Linux-x86_64-430.64.run 111331457 BLAKE2B 59d8b739bc472810eb896ef620735b6f21ccfde653e08f248797720d21d75580dcea2448f17a5d1c32be393595d9dfedc48c81e96a8ea422c7f0d9eadf36ae1c SHA512 552bf1e8c4725258c07cbb0e000d0e407fba1b51207903f2b77c0d9fd8b15b629f791b20239f75a1aec85aa03cbcca90a1cb633090919cf0599054231f715250
DIST NVIDIA-Linux-x86_64-435.21.run 144387574 BLAKE2B e9afd6335182a28f5136dbef55195a2f2d8f768376ebc148190a0a82470a34d008ce04170ffc1aab36585605910c1300567a90443b5f58cb46ec3bff6ab9409c SHA512 e83b6dff80434971c0b254815945d485a45c978b8a19994244f50a463658863948b2eac8bc62d667bb10c23f41cf1c3521c409d23ac2ab6a0c0cd094a6e20270
-DIST NVIDIA-Linux-x86_64-440.59.run 143384618 BLAKE2B f39831f2ef04c55ef2fa9757fd8ab4e22f880710d31593aa8e90ccaff4844eca0d456cb5b640b41b7c2b681432ccbc458d4feaaa5d4776d601f2349931deb361 SHA512 2e9029bc7c93a99eac7d3a5ca1f21da799da442a70b1708d2db734956f77dd1a1eb300f947b8ab46ff9113048cd63ca57924caa912a3ea6c3d678425182b9711
DIST NVIDIA-Linux-x86_64-440.64.run 141302182 BLAKE2B 1b6830ac970fcc51179c51ed19b9ed768116112a3cb3fcadabd7fbdadfaf3c516ee61d55bf9dc87a984de54759877263c4380731a966b8b64d756216a560f5c1 SHA512 26156974d9a18456ada329f19e93c2f2abb1c5b12fec47df870a0e5b7788204cf0a745ebfefad6ab50d8f659127722905d5156462d4ce794cc52d796b762bf43
DIST nvidia-settings-340.108.tar.bz2 1550018 BLAKE2B 1acdfbcb0e7c02af33f5e86b9b140e356057efd9825fbc130971884ae76dd23765c2a0dbd00e1ac47bbff882f6d004e0a10c0195e6c6dce1408c72a00e0e6322 SHA512 d8b6dcbd3803af4da22cfffc039e1c050313f90b7ee86106a784863f7c203de9137ac2fee12aa800498cc56081dbe7e3aaa943c162037477ce97a07a237db41a
DIST nvidia-settings-390.132.tar.bz2 1109373 BLAKE2B cec60b7409f6d352afe3845a2ec65db96183d1fe009340fa3601166718f21b43bb08b63c5eaaaf4c266c7b16e7d374f6ecc00691763d5ae1b6902c8002da5bea SHA512 12553edc1a1ba9c3f578e0e921b25ec7114cbc80a55621cbd612a1bd85c9a518e221b30809058e4df5da6ae75ea7a1cd5c3d9c8f02a0898bc8c08ac9c22ccee3
DIST nvidia-settings-430.64.tar.bz2 1130931 BLAKE2B 032bbe8cdb7ec3b353e8f8ef33d0e86f4b4f3ef24b38de669e09173519149efe0aa55d5d30d0a0c6d2b8398d5ce38bbe4176df735501725475df4137d533e57d SHA512 fa82699610aa0f4709101e1a4e9e8147b133c85afb20ecb4506bfccf233e4f42dac26e53e2966f2137eb29190b5e4173b267167f5341b516fa1169785946e240
DIST nvidia-settings-435.21.tar.bz2 1131222 BLAKE2B 855f5c7667f4a5ec0f917fbb017d70ec6ee5e768f7087e77e54a66dea852c471bd1810a2163fb33204e5f381998a27a4254e0a5d2c73e2b6b624813ff8294f24 SHA512 8b408cc70118df3a138a99fe7fc14f6370d500b8ae26888b27b07de22f6fc6eebd65bd437d83ee82e18a1d8ee4cceec601c414b1947302ca808fff48165f31bb
-DIST nvidia-settings-440.59.tar.bz2 1128810 BLAKE2B 9b1438dbcbab3123a5a8bf431286e443a1e44ea4c52c99d566a3f36ee973cf81bce200b17265b6bb4f227daf7fe4ee830f6a817a226bbc81cc91ec8b0584fd11 SHA512 b8ac9e85f754dbb0f9dc26baacc10c05bb7d85f7d166e86b35a26d72a69749ea167035f3d938e91c8b6028e3e5389c7e42a2faf25ef2fafc63c31b4fcb1eb2bb
DIST nvidia-settings-440.64.tar.bz2 1128372 BLAKE2B 08e1dcb5d191c8f09de6403fac427d6b3cf3d52f46ed56940fdc12e27548bdf7c4a89f5c6e59eff3ce852abe9e2361a4588cc29939e6243846377e3c6c6bc8aa SHA512 ab574628f1ff73f389e6be371c599bb908b0fcea1c4aecce42d0bc88661883cb571dceec8ac074e187d2d37f18997c7c4ee79c4a164db93340d3110dc3e67de8
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-440.59.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-440.59.ebuild
deleted file mode 100644
index c239b98ea016..000000000000
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-440.59.ebuild
+++ /dev/null
@@ -1,578 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit desktop flag-o-matic linux-info linux-mod multilib-minimal \
- nvidia-driver portability toolchain-funcs unpacker udev
-
-DESCRIPTION="NVIDIA Accelerated Graphics Driver"
-HOMEPAGE="https://www.nvidia.com/"
-
-AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
-AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
-ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
-
-NV_URI="https://us.download.nvidia.com/XFree86/"
-SRC_URI="
- amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
- amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
- tools? (
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
- )
-"
-
-EMULTILIB_PKG="true"
-KEYWORDS="-* amd64"
-LICENSE="GPL-2 NVIDIA-r2"
-SLOT="0/${PV%.*}"
-
-IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms +libglvnd multilib static-libs +tools uvm wayland +X"
-REQUIRED_USE="
- tools? ( X )
- static-libs? ( tools )
-"
-
-COMMON="
- app-eselect/eselect-opencl
- driver? ( kernel_linux? ( acct-group/video ) )
- kernel_linux? ( >=sys-libs/glibc-2.6.1 )
- tools? (
- dev-libs/atk
- dev-libs/glib:2
- dev-libs/jansson
- gtk3? (
- x11-libs/gtk+:3
- )
- x11-libs/cairo
- x11-libs/gdk-pixbuf[X]
- x11-libs/gtk+:2
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
- x11-libs/libXv
- x11-libs/libXxf86vm
- x11-libs/pango[X]
- )
- X? (
- !libglvnd? ( >=app-eselect/eselect-opengl-1.0.9 )
- libglvnd? (
- media-libs/libglvnd[${MULTILIB_USEDEP}]
- !app-eselect/eselect-opengl
- )
- app-misc/pax-utils
- )
-"
-DEPEND="
- ${COMMON}
- kernel_linux? ( virtual/linux-sources )
- tools? ( sys-apps/dbus )
-"
-RDEPEND="
- ${COMMON}
- acpi? ( sys-power/acpid )
- tools? ( !media-video/nvidia-settings )
- wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
- X? (
- <x11-base/xorg-server-1.20.99:=
- >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
- >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
- >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
- sys-libs/zlib[${MULTILIB_USEDEP}]
- )
-"
-QA_PREBUILT="opt/* usr/lib*"
-S=${WORKDIR}/
-PATCHES=(
- "${FILESDIR}"/${PN}-440.26-locale.patch
-)
-NV_KV_MAX_PLUS="5.6"
-CONFIG_CHECK="!DEBUG_MUTEXES ~!I2C_NVIDIA_GPU ~!LOCKDEP ~MTRR ~SYSVIPC ~ZONE_DMA"
-
-pkg_pretend() {
- nvidia-driver_check
-}
-
-pkg_setup() {
- nvidia-driver_check
-
- # try to turn off distcc and ccache for people that have a problem with it
- export DISTCC_DISABLE=1
- export CCACHE_DISABLE=1
-
- if use driver && use kernel_linux; then
- MODULE_NAMES="nvidia(video:${S}/kernel)"
- use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
- use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
-
- # This needs to run after MODULE_NAMES (so that the eclass checks
- # whether the kernel supports loadable modules) but before BUILD_PARAMS
- # is set (so that KV_DIR is populated).
- linux-mod_pkg_setup
-
- BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
- SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
-
- # linux-mod_src_compile calls set_arch_to_kernel, which
- # sets the ARCH to x86 but NVIDIA's wrapping Makefile
- # expects x86_64 or i386 and then converts it to x86
- # later on in the build process
- BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
- fi
-
- if use kernel_linux && kernel_is lt 2 6 9; then
- eerror "You must build this against 2.6.9 or higher kernels."
- fi
-
- # set variables to where files are in the package structure
- if use kernel_FreeBSD; then
- use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
- NV_DOC="${S}/doc"
- NV_OBJ="${S}/obj"
- NV_SRC="${S}/src"
- NV_MAN="${S}/x11/man"
- NV_X11="${S}/obj"
- NV_SOVER=1
- elif use kernel_linux; then
- NV_DOC="${S}"
- NV_OBJ="${S}"
- NV_SRC="${S}/kernel"
- NV_MAN="${S}"
- NV_X11="${S}"
- NV_SOVER=${PV}
- else
- die "Could not determine proper NVIDIA package"
- fi
-}
-
-src_configure() {
- tc-export AR CC LD
-
- default
-}
-
-src_prepare() {
- local man_file
- for man_file in "${NV_MAN}"/*1.gz; do
- gunzip $man_file || die
- done
-
- if use tools; then
- cp "${FILESDIR}"/nvidia-settings-fno-common.patch "${WORKDIR}" || die
- cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
- sed -i \
- -e "s:@PV@:${PV}:g" \
- "${WORKDIR}"/nvidia-settings-fno-common.patch \
- "${WORKDIR}"/nvidia-settings-linker.patch \
- || die
- eapply "${WORKDIR}"/nvidia-settings-fno-common.patch
- eapply "${WORKDIR}"/nvidia-settings-linker.patch
- fi
-
- default
-
- if ! [ -f nvidia_icd.json ]; then
- cp nvidia_icd.json.template nvidia_icd.json || die
- sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
- fi
-}
-
-src_compile() {
- cd "${NV_SRC}"
- if use kernel_FreeBSD; then
- MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
- LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
- elif use driver && use kernel_linux; then
- BUILD_TARGETS=module linux-mod_src_compile \
- KERNELRELEASE="${KV_FULL}" \
- src="${KERNEL_DIR}"
- fi
-
- if use tools; then
- emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
- DO_STRIP= \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NV_VERBOSE=1 \
- OUTPUTDIR=. \
- RANLIB="$(tc-getRANLIB)"
-
- emake -C "${S}"/nvidia-settings-${PV}/src \
- DO_STRIP= \
- GTK3_AVAILABLE=$(usex gtk3 1 0) \
- LIBDIR="$(get_libdir)" \
- NVLD="$(tc-getLD)" \
- NVML_ENABLED=0 \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- OUTPUTDIR=.
- fi
-}
-
-# Install nvidia library:
-# the first parameter is the library to install
-# the second parameter is the provided soversion
-# the third parameter is the target directory if it is not /usr/lib
-donvidia() {
- # Full path to library
- nv_LIB="${1}"
-
- # SOVER to use
- nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
-
- # Where to install
- nv_DEST="${2}"
-
- # Get just the library name
- nv_LIBNAME=$(basename "${nv_LIB}")
-
- if [[ "${nv_DEST}" ]]; then
- exeinto ${nv_DEST}
- action="doexe"
- else
- nv_DEST="/usr/$(get_libdir)"
- action="dolib.so"
- fi
-
- # Install the library
- ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
-
- # If the library has a SONAME and SONAME does not match the library name,
- # then we need to create a symlink
- if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER}
- fi
-
- dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so}
-}
-
-src_install() {
- if use driver && use kernel_linux; then
- linux-mod_src_install
-
- # Add the aliases
- # This file is tweaked with the appropriate video group in
- # pkg_preinst, see bug #491414
- insinto /etc/modprobe.d
- newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
- if use uvm; then
- doins "${FILESDIR}"/nvidia-rmmod.conf
- udev_newrules "${FILESDIR}"/nvidia-uvm.udev-rule 99-nvidia-uvm.rules
- else
- sed -e 's|nvidia-uvm ||g' "${FILESDIR}"/nvidia-rmmod.conf \
- > "${T}"/nvidia-rmmod.conf || die
- doins "${T}"/nvidia-rmmod.conf
- fi
-
- # Ensures that our device nodes are created when not using X
- exeinto "$(get_udevdir)"
- newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
- udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
- elif use kernel_FreeBSD; then
- if use x86-fbsd; then
- insinto /boot/modules
- doins "${S}/src/nvidia.kld"
- fi
-
- exeinto /boot/modules
- doexe "${S}/src/nvidia.ko"
- fi
-
- # NVIDIA kernel <-> userspace driver config lib
- donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
-
- # NVIDIA framebuffer capture library
- donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
-
- # NVIDIA video encode/decode <-> CUDA
- if use kernel_linux; then
- donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
- donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
- fi
-
- if use X; then
- # Xorg DDX driver
- insinto /usr/$(get_libdir)/xorg/modules/drivers
- doins ${NV_X11}/nvidia_drv.so
-
- # Xorg GLX driver
- donvidia ${NV_X11}/libglxserver_nvidia.so.${NV_SOVER} \
- /usr/$(get_libdir)/xorg/modules/extensions
-
- # Xorg nvidia.conf
- if has_version '>=x11-base/xorg-server-1.16'; then
- insinto /usr/share/X11/xorg.conf.d
- newins {,50-}nvidia-drm-outputclass.conf
- fi
-
- insinto /usr/share/glvnd/egl_vendor.d
- doins ${NV_X11}/10_nvidia.json
- fi
-
- if use wayland; then
- insinto /usr/share/egl/egl_external_platform.d
- doins ${NV_X11}/10_nvidia_wayland.json
- fi
-
- # OpenCL ICD for NVIDIA
- if use kernel_linux; then
- insinto /etc/OpenCL/vendors
- doins ${NV_OBJ}/nvidia.icd
- fi
-
- # Helper Apps
- exeinto /opt/bin/
-
- if use X; then
- doexe ${NV_OBJ}/nvidia-xconfig
-
- insinto /etc/vulkan/icd.d
- doins nvidia_icd.json
-
- insinto /etc/vulkan/implicit_layer.d
- doins nvidia_layers.json
- fi
-
- if use kernel_linux; then
- doexe ${NV_OBJ}/nvidia-cuda-mps-control
- doexe ${NV_OBJ}/nvidia-cuda-mps-server
- doexe ${NV_OBJ}/nvidia-debugdump
- doexe ${NV_OBJ}/nvidia-persistenced
- doexe ${NV_OBJ}/nvidia-smi
-
- # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
- doexe ${NV_OBJ}/nvidia-modprobe
- fowners root:video /opt/bin/nvidia-modprobe
- fperms 4710 /opt/bin/nvidia-modprobe
- dosym /{opt,usr}/bin/nvidia-modprobe
-
- doman nvidia-cuda-mps-control.1
- doman nvidia-modprobe.1
- doman nvidia-persistenced.1
- newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
- newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
- newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
- fi
-
- if use tools; then
- emake -C "${S}"/nvidia-settings-${PV}/src/ \
- DESTDIR="${D}" \
- DO_STRIP= \
- GTK3_AVAILABLE=$(usex gtk3 1 0) \
- LIBDIR="${D}/usr/$(get_libdir)" \
- NV_USE_BUNDLED_LIBJANSSON=0 \
- NV_VERBOSE=1 \
- OUTPUTDIR=. \
- PREFIX=/usr \
- install
-
- if use static-libs; then
- dolib.a "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a
-
- insinto /usr/include/NVCtrl
- doins "${S}"/nvidia-settings-${PV}/src/libXNVCtrl/*.h
- fi
-
- insinto /usr/share/nvidia/
- doins nvidia-application-profiles-${PV}-key-documentation
-
- insinto /etc/nvidia
- newins \
- nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
-
- # There is no icon in the FreeBSD tarball.
- use kernel_FreeBSD || \
- doicon ${NV_OBJ}/nvidia-settings.png
-
- domenu "${FILESDIR}"/nvidia-settings.desktop
-
- exeinto /etc/X11/xinit/xinitrc.d
- newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
- fi
-
- dobin ${NV_OBJ}/nvidia-bug-report.sh
-
- if has_multilib_profile && use multilib; then
- local OABI=${ABI}
- for ABI in $(get_install_abis); do
- src_install-libs
- done
- ABI=${OABI}
- unset OABI
- else
- src_install-libs
- fi
-
- is_final_abi || die "failed to iterate through all ABIs"
-
- # Documentation
- if use kernel_FreeBSD; then
- dodoc "${NV_DOC}/README"
- use X && doman "${NV_MAN}"/nvidia-xconfig.1
- use tools && doman "${NV_MAN}"/nvidia-settings.1
- else
- # Docs
- newdoc "${NV_DOC}/README.txt" README
- dodoc "${NV_DOC}/NVIDIA_Changelog"
- doman "${NV_MAN}"/nvidia-smi.1
- use X && doman "${NV_MAN}"/nvidia-xconfig.1
- use tools && doman "${NV_MAN}"/nvidia-settings.1
- doman "${NV_MAN}"/nvidia-cuda-mps-control.1
- fi
-
- readme.gentoo_create_doc
-
- docinto html
- dodoc -r ${NV_DOC}/html/*
-}
-
-src_install-libs() {
- local inslibdir=$(get_libdir)
- if use libglvnd; then
- local GL_ROOT="/usr/$(get_libdir)"
- else
- local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
- fi
- local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
- local nv_libdir="${NV_OBJ}"
-
- if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
- nv_libdir="${NV_OBJ}"/32
- fi
-
- if use X; then
- NV_GLX_LIBRARIES=(
- "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
- "libOpenCL.so.1.0.0 ${CL_ROOT}"
- "libcuda.so.${NV_SOVER}"
- "libnvcuvid.so.${NV_SOVER}"
- "libnvidia-compiler.so.${NV_SOVER}"
- "libnvidia-eglcore.so.${NV_SOVER}"
- "libnvidia-encode.so.${NV_SOVER}"
- "libnvidia-fatbinaryloader.so.${NV_SOVER}"
- "libnvidia-fbc.so.${NV_SOVER}"
- "libnvidia-glcore.so.${NV_SOVER}"
- "libnvidia-glsi.so.${NV_SOVER}"
- "libnvidia-glvkspirv.so.${NV_SOVER}"
- "libnvidia-ifr.so.${NV_SOVER}"
- "libnvidia-opencl.so.${NV_SOVER}"
- "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
- "libvdpau_nvidia.so.${NV_SOVER}"
- )
- if ! use libglvnd; then
- NV_GLX_LIBRARIES+=(
- "libEGL.so.$( [[ ${ABI} == "amd64" ]] && usex compat ${NV_SOVER} 1.1.0 || echo 1.1.0) ${GL_ROOT}"
- "libGL.so.1.7.0 ${GL_ROOT}"
- "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
- "libGLESv2.so.2.1.0 ${GL_ROOT}"
- "libGLX.so.0 ${GL_ROOT}"
- "libGLdispatch.so.0 ${GL_ROOT}"
- "libOpenGL.so.0 ${GL_ROOT}"
- )
- fi
-
- if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
- then
- NV_GLX_LIBRARIES+=(
- "libnvidia-egl-wayland.so.1.1.4"
- )
- fi
-
- if use kernel_FreeBSD; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-tls.so.${NV_SOVER}"
- )
- fi
-
- if use kernel_linux; then
- NV_GLX_LIBRARIES+=(
- "libnvidia-ml.so.${NV_SOVER}"
- "libnvidia-tls.so.${NV_SOVER}"
- )
- fi
-
- if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
- then
- NV_GLX_LIBRARIES+=(
- "libnvidia-cbl.so.${NV_SOVER}"
- "libnvidia-rtcore.so.${NV_SOVER}"
- "libnvoptix.so.${NV_SOVER}"
- )
- fi
-
- for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
- donvidia "${nv_libdir}"/${NV_LIB}
- done
- fi
-}
-
-pkg_preinst() {
- if use driver && use kernel_linux; then
- linux-mod_pkg_preinst
-
- local videogroup="$(getent group video | cut -d ':' -f 3)"
- if [ -z "${videogroup}" ]; then
- eerror "Failed to determine the video group gid"
- die "Failed to determine the video group gid"
- else
- sed -i \
- -e "s:PACKAGE:${PF}:g" \
- -e "s:VIDEOGID:${videogroup}:" \
- "${D}"/etc/modprobe.d/nvidia.conf || die
- fi
- fi
-
- # Clean the dynamic libGL stuff's home to ensure
- # we dont have stale libs floating around
- if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
- rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
- fi
- # Make sure we nuke the old nvidia-glx's env.d file
- if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
- rm -f "${ROOT}"/etc/env.d/09nvidia
- fi
-}
-
-pkg_postinst() {
- use driver && use kernel_linux && linux-mod_pkg_postinst
-
- # Switch to the nvidia implementation
- if ! use libglvnd; then
- use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
- fi
- "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
-
- readme.gentoo_print_elog
-
- if ! use X; then
- elog "You have elected to not install the X.org driver. Along with"
- elog "this the OpenGL libraries and VDPAU libraries were not"
- elog "installed. Additionally, once the driver is loaded your card"
- elog "and fan will run at max speed which may not be desirable."
- elog "Use the 'nvidia-smi' init script to have your card and fan"
- elog "speed scale appropriately."
- elog
- fi
- if ! use tools; then
- elog "USE=tools controls whether the nvidia-settings application"
- elog "is installed. If you would like to use it, enable that"
- elog "flag and re-emerge this ebuild. Optionally you can install"
- elog "media-video/nvidia-settings"
- elog
- fi
-}
-
-pkg_prerm() {
- if ! use libglvnd; then
- use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
- fi
-}
-
-pkg_postrm() {
- use driver && use kernel_linux && linux-mod_pkg_postrm
- if ! use libglvnd; then
- use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
- fi
-}