From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id ABD711382C5 for ; Wed, 21 Apr 2021 12:22:30 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id DFC2EE084A; Wed, 21 Apr 2021 12:22:29 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id B4699E084A for ; Wed, 21 Apr 2021 12:22:29 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id D8A0834108D for ; Wed, 21 Apr 2021 12:22:27 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 3CF06720 for ; Wed, 21 Apr 2021 12:22:26 +0000 (UTC) From: "David Seifert" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "David Seifert" Message-ID: <1619007591.dd8dd30e8e767b6d6846735b57e33c4f0cc7a01b.soap@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/, x11-drivers/nvidia-drivers/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: x11-drivers/nvidia-drivers/Manifest x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf x11-drivers/nvidia-drivers/files/nvidia-persistenced.init x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch x11-drivers/nvidia-drivers/files/nvidia-settings.desktop x11-drivers/nvidia-drivers/files/nvidia-smi.init x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule x11-drivers/nvidia-drivers/files/nvidia.udev-rule x11-drivers/nvidia-drivers/metadata.xml x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild X-VCS-Directories: x11-drivers/nvidia-drivers/ x11-drivers/nvidia-drivers/files/ X-VCS-Committer: soap X-VCS-Committer-Name: David Seifert X-VCS-Revision: dd8dd30e8e767b6d6846735b57e33c4f0cc7a01b X-VCS-Branch: master Date: Wed, 21 Apr 2021 12:22:26 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 336159b5-8357-45ea-a69c-9ec788795e25 X-Archives-Hash: 40838c47bfdbf0ffc23a1c81b20a8a2c commit: dd8dd30e8e767b6d6846735b57e33c4f0cc7a01b Author: Ionen Wolkens gmail com> AuthorDate: Wed Apr 21 12:19:51 2021 +0000 Commit: David Seifert gentoo org> CommitDate: Wed Apr 21 12:19:51 2021 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dd8dd30e x11-drivers/nvidia-drivers: drop 460.56 Also removes remaining support files/metadata for old style ebuilds. Signed-off-by: Ionen Wolkens gmail.com> Signed-off-by: David Seifert gentoo.org> x11-drivers/nvidia-drivers/Manifest | 2 - .../files/nvidia-drivers-440.26-locale.patch | 13 - .../nvidia-drivers/files/nvidia-persistenced.conf | 8 - .../nvidia-drivers/files/nvidia-persistenced.init | 24 - .../files/nvidia-settings-linker.patch | 22 - .../nvidia-drivers/files/nvidia-settings.desktop | 7 - x11-drivers/nvidia-drivers/files/nvidia-smi.init | 24 - x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 | 20 - .../nvidia-drivers/files/nvidia-uvm.udev-rule | 1 - x11-drivers/nvidia-drivers/files/nvidia.udev-rule | 6 - x11-drivers/nvidia-drivers/metadata.xml | 3 - .../nvidia-drivers/nvidia-drivers-460.56.ebuild | 485 --------------------- 12 files changed, 615 deletions(-) diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index 524020e0b4a..f2cd533cb7d 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -4,7 +4,6 @@ DIST NVIDIA-Linux-aarch64-465.19.01.run 174150951 BLAKE2B 7344404cff1ee5fce5368d DIST NVIDIA-Linux-x86-390.141.run 49589744 BLAKE2B 304672806b89885adbf8459ea99ca872769e44a42ff041a5b79ef05d113d7717f505f543441e7a2fc6c569f6d66391f0380a4f23f3e68108c8de817bf251f850 SHA512 6dfde3b54520070954b45f6bc071251084e1741f55e582b1abd806eb367e4b9ce0015615bf6a887fa784d075b3db08b6940da4163b960969773d1bdc52b4961e DIST NVIDIA-Linux-x86_64-390.141.run 85330901 BLAKE2B 7759d8cf6c9a75607b9a3ecd53cdd6f6a93f2f372d740a5a87d4d3f41a22f3bd953cc7dd6a0dc0e23a829ec86df8d65b9de499a76cfd4266a13b0aa3288aceb5 SHA512 5448d70e6e64a6403e61a004d83c69a442dd8ed0d61da3a31d3e3b7943c06c559a66b0f8d135982868ecbf209a965f60dae1a633367630b4d9287f725bbaa53c DIST NVIDIA-Linux-x86_64-450.102.04.run 141391114 BLAKE2B 019f928464b23d2a86bfdd255b7651e3cfe2b0b6ebf58d1b4a6ba1f27990e1d050d1e2429ba4aa60b966b04e775939084a04d82d1dd3482a10b39375b17b1c31 SHA512 1d13de540da36274a360ea6bcd1ce01eaae103fe417b42aa8f9ac757c382b06da455a78cf6798310179f90e2afeadf3a8c9f3398186490c3c0f9079021e850ed -DIST NVIDIA-Linux-x86_64-460.56.run 178496173 BLAKE2B 8f84a403ccaa9a92186cac9fb2dee9600cd29915cdacf475b6a1105772ffd52c671ef217a1201fbcd9192e858ec17796fd77b817887c79c43c266d32671fe7d0 SHA512 a61855576a27cdd2e48906ecb49cd1e9f88d14a8358aa4bdc57d59e2dfa64b394b2dcee45184d75e889fac6ebedcaaff902a07428c7f9eb011cf265228c6eb4e DIST NVIDIA-Linux-x86_64-460.67.run 177691692 BLAKE2B 25a7d87cc128933a98100d7c5ef37f93c3a870c096eea3228a28ef79d712ce104608f9422221cc1eadc21dccbbc8bc41ab1832795cfee75e217600ed0d76489e SHA512 80fdc023a8ce80e3a103896f28a5564bb43903af6bfc719f755c48eb225e79ec6abf219ab20eb80ada5808ef932ef5fa0fe710c6e0a07dd8a248daff2ba3b898 DIST NVIDIA-Linux-x86_64-465.19.01.run 259853124 BLAKE2B 04d5d738a99e313d9c0c8aa074b28ff744b3d16893f26d4837d7440e7fa51c3182101f7cadedcb7b13f01d0e6dd612c931f2357e87003966cfc5b2c7f4398079 SHA512 b4ececb6069ec961a4bf6b50c3bb0d7ca94add13e04f9dcceaddc6d3267f6dfc5f020d14e49f37e6c09ec3b47b3f44f0f44620e1ab4d25f7739514a07769a67d DIST nvidia-installer-390.141.tar.gz 205299 BLAKE2B b95ddcf9a8d61247572d73faa04558564962782b0eb222601315d741d1ee71fa0636fa87d31105ecc5ec61328d3174a3ed646046e02b6b5f29f071215a0e8bdd SHA512 3848a4ec17510bf4d3060e5ef8aafa1ad921215ec39d26c54b3bbdd8a5867c46e01d247b24b05ad6906fed7fb4ae6dc37346a7da6e5aae88b5b47584c0b07a02 @@ -21,7 +20,6 @@ DIST nvidia-persistenced-460.67.tar.gz 53334 BLAKE2B 1354ec98fd2b95d264fd7df6219 DIST nvidia-persistenced-465.19.01.tar.gz 53555 BLAKE2B 0b163a2cf37c9180512f9d3af442f52d4417f1ca0b286bafc154cd3c235bc8ff82380fbb92633f9dc0e010c9cc4e36ab3b5f6aad726b5357dc368edafe737146 SHA512 ebe8a8eff5770605e751665f325a82cbe24b20395684d124558838553a2815f6cf2804cb58a9624105a99442fea91d774ad4978bcd2ad13a52f55e777ae13c5d DIST nvidia-settings-390.141.tar.gz 1297261 BLAKE2B 452870df1ba598692f5da47444eb2daf4db40c79cac98c10b1c994c0ff39fc7936909b9d7788cbfe784999e68a2bdbbc12e85d63c3bc02ac872e6b3c46834697 SHA512 dbf7c389bbdc94291a1b974adfa33414148b1ab752aa7d948a27e91ee1bceb3b8435aceb6b7ef3cb806333572db11b5524667045ef7686b119d7955d2699cb04 DIST nvidia-settings-450.102.04.tar.gz 1229675 BLAKE2B 166b73a0e9fe1cc1c16f83128aa94f3b9ef44fc71004e80c2681299dd564df6b458b52bedfd60eaaecf6142d0ea7d5147cb9c509d4db4e6b85bc72dd4dc75751 SHA512 c514bb3cc72954a52f4821674f9b783ebc0bd8c7294a296716619ddad15f2b63f50ada47797dee1386709deb7d407cb1d6c04532b7ca6e03d84234555751c9a9 -DIST nvidia-settings-460.56.tar.bz2 1060604 BLAKE2B cd1480e42ab2b25b399f19b458a1d5252d1b77d263ddecbad2d61f0445ba9f0ddf81fc944ac1136c273dfd1d21d06385bcfac9bdd7a7dc02f75302a6b8276df4 SHA512 018eb3cb7f25b926aa620201979b0efaaa82e7f036c4870a1e1234f5aac3ab9cfd48846d7eedd7ed38c3035eface3f2afe1a0d5de7a67e53e6bea760aa99fa72 DIST nvidia-settings-460.67.tar.gz 1233189 BLAKE2B 33ffceefea4e184cb1873cdce97db26637e87cd20c82bcabcbfe88bcb084ac3d833ac5688cafa33a5a89383040d5c1c5d46de9c3f9a8ba6174574aa57aea2e46 SHA512 d1828379aa477394747ae3e5d3505e864d38a349dd159a04cb263613380afea9aea2081300b0d2b8ae205b800bfe6e8ba504e612989da394d757f00e4399b617 DIST nvidia-settings-465.19.01.tar.gz 1233866 BLAKE2B 297ffe66639bd4221f5b780abb784f640553f0f7d4f9bcc254cdf54fa6dcc98ac197fa76178f66b626bcef8c4fc6c2c83c3c2474f81a2c5124df0a651f878663 SHA512 90f2786941ee062f4f8e7f80e0174620d8aedca17164e7e466c77733f29e891ffce9b08a09a75c25a219546efc816ca2fbb26b3b142522e89e495b7b90bd65d1 DIST nvidia-xconfig-390.141.tar.gz 140293 BLAKE2B 08ee93be953f75dbe078c557af7c062092ce8a3b53af0735d43b7feabe6d1c99390b9533027fbc5017d207a70dfa5aecf88d211905bf8f0e846f769a6ea16c2b SHA512 9fedee2f720d86bd24e393328249bf970a1f242b9e750543e757eb13ca30f6ecfda6c63441093ab96ae28d5f38d4e55cc6de6316eb82d2a2f33074144a1eef2f diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch deleted file mode 100644 index aa2a74349f2..00000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-drivers-440.26-locale.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -6,6 +6,10 @@ - SCRIPTDIR=`dirname $0` - cd $SCRIPTDIR - -+# translate_and_compile_header_files() expects the default locale -+# https://bugs.gentoo.org/698238 -+export LC_ALL=C -+ - CC="$1" - ARCH=$2 - ISYSTEM=`$CC -print-file-name=include 2> /dev/null` diff --git a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf b/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf deleted file mode 100644 index 637ac1afb41..00000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.conf +++ /dev/null @@ -1,8 +0,0 @@ -# run-time configuration file for /etc/init.d/nvidia-persistenced - -# NVPD_USER: The user nvidia-persistenced is intended to run for -NVPD_USER="" - -# ARGS: Additional arguments to set the default persistence mode -# (see nvidia-persistenced(1)) -ARGS="" diff --git a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init b/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init deleted file mode 100644 index f80456d1603..00000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-persistenced.init +++ /dev/null @@ -1,24 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -pidfile="/var/run/nvidia-persistenced/nvidia-persistenced.pid" - -start() { - if ! [ "${NVPD_USER}x" = x ]; then - ebegin "Starting nvidia-persistenced for ${NVPD_USER}" - NVPD_USER_ARG="--user ${NVPD_USER}" - else - ebegin "Starting nvidia-persistenced" - fi - start-stop-daemon --start --quiet --pidfile ${pidfile} \ - --background --exec /opt/bin/nvidia-persistenced \ - -- ${NVPD_USER_ARG} ${ARGS} - eend $? -} - -stop() { - ebegin "Stopping nvidia-persistenced" - start-stop-daemon --stop --quiet --pidfile ${pidfile} - eend $? -} diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch b/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch deleted file mode 100644 index fe9d336413f..00000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-settings-linker.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/nvidia-settings-@PV@/utils.mk -+++ b/nvidia-settings-@PV@/utils.mk -@@ -475,7 +475,7 @@ - define READ_ONLY_OBJECT_FROM_FILE_RULE - $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1) - $(at_if_quiet)cd $$(dir $(1)); \ -- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \ -+ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \ - $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@) - $$(call quiet_cmd,OBJCOPY) \ - --rename-section .data=.rodata,contents,alloc,load,data,readonly \ ---- a/nvidia-settings-@PV@/src/libXNVCtrl/utils.mk -+++ b/nvidia-settings-@PV@/src/libXNVCtrl/utils.mk -@@ -475,7 +475,7 @@ - define READ_ONLY_OBJECT_FROM_FILE_RULE - $$(OUTPUTDIR)/$$(notdir $(1)).o: $(1) - $(at_if_quiet)cd $$(dir $(1)); \ -- $$(call quiet_cmd_no_at,LD) -r -z noexecstack --format=binary \ -+ $$(call quiet_cmd_no_at,NVLD) -r -z noexecstack --format=binary \ - $$(notdir $(1)) -o $$(OUTPUTDIR_ABSOLUTE)/$$(notdir $$@) - $$(call quiet_cmd,OBJCOPY) \ - --rename-section .data=.rodata,contents,alloc,load,data,readonly \ diff --git a/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop b/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop deleted file mode 100644 index b4b452ec829..00000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-settings.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Type=Application -Name=NVIDIA X Server Settings -Comment=Configure NVIDIA X Server Settings -Exec=/usr/bin/nvidia-settings -Icon=nvidia-settings -Categories=System;Settings; diff --git a/x11-drivers/nvidia-drivers/files/nvidia-smi.init b/x11-drivers/nvidia-drivers/files/nvidia-smi.init deleted file mode 100644 index 8ee51e34893..00000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-smi.init +++ /dev/null @@ -1,24 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -pidfile="/run/nvidia-smi.pid" - -depend() { - after modules -} - -start() { - ebegin "Starting NVIDIA System Management Interface" - rm -f ${pidfile} - start-stop-daemon --start --quiet --pidfile ${pidfile} \ - --make-pidfile --background --exec /opt/bin/nvidia-smi -- \ - -q -l 300 - eend $? -} - -stop() { - ebegin "Stopping NVIDIA System Management Interface" - start-stop-daemon --stop --quiet --pidfile ${pidfile} - eend $? -} diff --git a/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 b/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 deleted file mode 100644 index 6579bf74adb..00000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-udev.sh-r1 +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -if [ $# -ne 1 ]; then - echo "Invalid args" >&2 - exit 1 -fi - -case $1 in - add|ADD) - #hopefully this prevents infinite loops like bug #454740 - if lsmod | grep -iq nvidia; then - /opt/bin/nvidia-smi > /dev/null - fi - ;; - remove|REMOVE) - rm -f /dev/nvidia* - ;; -esac - -exit 0 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule b/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule deleted file mode 100644 index 0602a4353fe..00000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia-uvm.udev-rule +++ /dev/null @@ -1 +0,0 @@ -KERNEL=="nvidia_uvm", RUN+="/bin/bash -c '/bin/mknod -m 660 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0; /bin/chgrp video /dev/nvidia-uvm'" diff --git a/x11-drivers/nvidia-drivers/files/nvidia.udev-rule b/x11-drivers/nvidia-drivers/files/nvidia.udev-rule deleted file mode 100644 index 2eb30bb0eba..00000000000 --- a/x11-drivers/nvidia-drivers/files/nvidia.udev-rule +++ /dev/null @@ -1,6 +0,0 @@ -ACTION=="add", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}" -# Previously the ACTION was "add|remove" but one user on bug #376527 had a -# problem until he recompiled udev-171-r5, which is one of the versions I -# tested with and it was fine. I'm breaking the rules out just to be safe -# so someone else doesn't have an issue -ACTION=="remove", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}" diff --git a/x11-drivers/nvidia-drivers/metadata.xml b/x11-drivers/nvidia-drivers/metadata.xml index 294430ee9cf..107804d69d1 100644 --- a/x11-drivers/nvidia-drivers/metadata.xml +++ b/x11-drivers/nvidia-drivers/metadata.xml @@ -9,11 +9,8 @@ soap@gentoo.org - Install non-GLVND libGL for backwards compatibility Install kernel driver modules - Enable support for kernel mode setting (KMS) Install additional tools such as nvidia-settings - Install the Unified Memory kernel module (nvidia-uvm) for sharing memory between CPU and GPU in CUDA programs cpe:/a:nvidia:gpu_driver diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild deleted file mode 100644 index 17311c655c7..00000000000 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-460.56.ebuild +++ /dev/null @@ -1,485 +0,0 @@ -# Copyright 1999-2021 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 systemd toolchain-funcs unpacker udev - -AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" -ARM64_NV_PACKAGE="NVIDIA-Linux-aarch64-${PV}" - -NV_URI="https://us.download.nvidia.com/XFree86/" -SRC_URI=" - 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" - -LICENSE="GPL-2 NVIDIA-r2" -SLOT="0/${PV%%.*}" -# TODO: for arm64, keyword virtual/opencl on arm64 -KEYWORDS="-* amd64" -IUSE="compat +driver +kms multilib static-libs +tools uvm wayland +X" -REQUIRED_USE=" - tools? ( X ) - static-libs? ( tools )" - -COMMON=" - driver? ( acct-group/video ) - tools? ( - dev-libs/atk - dev-libs/glib:2 - dev-libs/jansson - x11-libs/cairo - x11-libs/gdk-pixbuf - x11-libs/gtk+:3 - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXrandr - x11-libs/libXv - x11-libs/libXxf86vm - x11-libs/pango[X] - ) - X? ( - app-misc/pax-utils - media-libs/libglvnd[X,${MULTILIB_USEDEP}] - >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}] - )" -DEPEND=" - ${COMMON} - virtual/linux-sources - tools? ( sys-apps/dbus )" -RDEPEND=" - ${COMMON} - net-libs/libtirpc - uvm? ( >=virtual/opencl-3 ) - wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] ) - X? ( - =x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - sys-libs/zlib[${MULTILIB_USEDEP}] - )" - -QA_PREBUILT="opt/* usr/lib*" -S="${WORKDIR}" -NV_KV_MAX_PLUS="5.12" -CONFIG_CHECK=" - !DEBUG_MUTEXES - ~!I2C_NVIDIA_GPU - ~!LOCKDEP - ~DRM - ~DRM_KMS_HELPER - ~SYSVIPC" - -PATCHES=( "${FILESDIR}"/${PN}-440.26-locale.patch ) - -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; 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 -} - -src_prepare() { - gunzip *1.gz || die - - if use tools; then - cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die - sed -i \ - -e "s:@PV@:${PV}:g" \ - "${WORKDIR}"/nvidia-settings-linker.patch \ - || die - eapply "${WORKDIR}"/nvidia-settings-linker.patch - - # remove GTK2 support entirely (#592730) - sed -i \ - -e '/^GTK2LIB = /d;/INSTALL.*GTK2LIB/,+1d' \ - nvidia-settings-${PV}/src/Makefile || die - 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_configure() { - tc-export AR CC LD OBJCOPY - default -} - -src_compile() { - pushd kernel >/dev/null || die - if use driver; then - BUILD_TARGETS=module linux-mod_src_compile \ - KERNELRELEASE="${KV_FULL}" \ - src="${KERNEL_DIR}" - fi - popd >/dev/null || die - - if use tools; then - emake -C nvidia-settings-${PV}/src/libXNVCtrl \ - DO_STRIP= \ - LIBDIR="$(get_libdir)" \ - NVLD="$(tc-getLD)" \ - NV_VERBOSE=1 \ - OUTPUTDIR=. \ - RANLIB="$(tc-getRANLIB)" - - emake -C nvidia-settings-${PV}/src \ - DO_STRIP= \ - GTK3_AVAILABLE=1 \ - 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 [[ -n ${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 [[ -n ${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; 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-460.conf 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 - fi - - # NVIDIA kernel <-> userspace driver config lib - donvidia libnvidia-cfg.so.${PV} - - # NVIDIA framebuffer capture library - donvidia libnvidia-fbc.so.${PV} - - # NVIDIA video encode/decode <-> CUDA - donvidia libnvcuvid.so.${PV} - donvidia libnvidia-encode.so.${PV} - - if use X; then - # Xorg DDX driver - exeinto /usr/$(get_libdir)/xorg/modules/drivers - doexe nvidia_drv.so - - # Xorg GLX driver - donvidia libglxserver_nvidia.so.${PV} \ - /usr/$(get_libdir)/xorg/modules/extensions - - # Xorg nvidia.conf - insinto /usr/share/X11/xorg.conf.d - newins {,50-}nvidia-drm-outputclass.conf - - insinto /usr/share/glvnd/egl_vendor.d - doins 10_nvidia.json - fi - - if use wayland; then - insinto /usr/share/egl/egl_external_platform.d - doins 10_nvidia_wayland.json - fi - - insinto /etc/vulkan/icd.d - doins nvidia_icd.json - - insinto /etc/vulkan/implicit_layer.d - doins nvidia_layers.json - - # OpenCL ICD for NVIDIA - insinto /etc/OpenCL/vendors - doins nvidia.icd - - # Helper Apps - exeinto /opt/bin/ - - use X && doexe nvidia-xconfig - - doexe nvidia-cuda-mps-control - doexe nvidia-cuda-mps-server - doexe nvidia-debugdump - doexe nvidia-persistenced - doexe nvidia-smi - - # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092) - doexe nvidia-modprobe - fowners root:video /opt/bin/nvidia-modprobe - fperms 4710 /opt/bin/nvidia-modprobe - dosym ../../opt/bin/nvidia-modprobe /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 - - if use tools; then - emake -C nvidia-settings-${PV}/src/ \ - DESTDIR="${ED}" \ - DO_STRIP= \ - GTK3_AVAILABLE=1 \ - LIBDIR="${ED}/usr/$(get_libdir)" \ - NV_USE_BUNDLED_LIBJANSSON=0 \ - NV_VERBOSE=1 \ - OUTPUTDIR=. \ - PREFIX=/usr \ - install - - if use static-libs; then - dolib.a nvidia-settings-${PV}/src/libXNVCtrl/libXNVCtrl.a - - insinto /usr/include/NVCtrl - doins 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 - - doicon 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 nvidia-bug-report.sh - - systemd_dounit *.service - dobin nvidia-sleep.sh - exeinto /lib/systemd/system-sleep - doexe nvidia - - if has_multilib_profile && use multilib; then - local OABI=${ABI} - for ABI in $(multilib_get_enabled_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 - newdoc README.txt README - dodoc NVIDIA_Changelog - doman nvidia-smi.1 - use X && doman nvidia-xconfig.1 - use tools && doman nvidia-settings.1 - doman nvidia-cuda-mps-control.1 - - readme.gentoo_create_doc - - dodoc -r supported-gpus - - docinto html - dodoc -r html/. -} - -src_install-libs() { - local inslibdir=$(get_libdir) - local GL_ROOT="/usr/$(get_libdir)" - local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia" - local nv_libdir="${S}" - - if has_multilib_profile && [[ ${ABI} == "x86" ]]; then - nv_libdir="${S}"/32 - fi - - if use X; then - NV_GLX_LIBRARIES=( - "libEGL_nvidia.so.${PV} ${GL_ROOT}" - "libGLESv1_CM_nvidia.so.${PV} ${GL_ROOT}" - "libGLESv2_nvidia.so.${PV} ${GL_ROOT}" - "libGLX_nvidia.so.${PV} ${GL_ROOT}" - "libOpenCL.so.1.0.0 ${CL_ROOT}" - "libcuda.so.${PV}" - "libnvcuvid.so.${PV}" - "libnvidia-compiler.so.${PV}" - "libnvidia-eglcore.so.${PV}" - "libnvidia-encode.so.${PV}" - "libnvidia-fbc.so.${PV}" - "libnvidia-glcore.so.${PV}" - "libnvidia-glsi.so.${PV}" - "libnvidia-glvkspirv.so.${PV}" - "libnvidia-ifr.so.${PV}" - "libnvidia-opencl.so.${PV}" - "libnvidia-ptxjitcompiler.so.${PV}" - "libvdpau_nvidia.so.${PV}" - ) - - if use wayland && [[ ${ABI} == "amd64" ]]; then - NV_GLX_LIBRARIES+=( - "libnvidia-egl-wayland.so.1.1.5" - ) - fi - - NV_GLX_LIBRARIES+=( - "libnvidia-ml.so.${PV}" - "libnvidia-tls.so.${PV}" - ) - - if [[ ${ABI} == "amd64" ]]; then - NV_GLX_LIBRARIES+=( - "libnvidia-cbl.so.${PV}" - "libnvidia-ngx.so.${PV}" - "libnvidia-rtcore.so.${PV}" - "libnvoptix.so.${PV}" - ) - fi - - local nv_lib - for nv_lib in "${NV_GLX_LIBRARIES[@]}"; do - donvidia "${nv_libdir}"/${nv_lib} - done - fi -} - -pkg_preinst() { - if use driver; 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}:" \ - "${ED}"/etc/modprobe.d/nvidia.conf || die - fi - fi - - # Clean the dynamic libGL stuff's home to ensure - # we dont have stale libs floating around - rm -rf "${EROOT}"/usr/lib/opengl/nvidia/* || die - # Make sure we nuke the old nvidia-glx's env.d file - rm -f "${EROOT}"/etc/env.d/09nvidia || die -} - -pkg_postinst() { - use driver && linux-mod_pkg_postinst - - 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 - - elog "To enable nvidia sleep services under systemd, run these commands:" - elog " systemctl enable nvidia-suspend.service" - elog " systemctl enable nvidia-hibernate.service" - elog " systemctl enable nvidia-resume.service" - elog "Set the NVreg_TemporaryFilePath kernel module parameter to a" - elog "suitable path in case the default of /tmp does not work for you" - elog "For more information see:" - elog "${EROOT}/usr/share/doc/${PF}/html/powermanagement.html" -} - -pkg_postrm() { - use driver && linux-mod_pkg_postrm -}