x11-drivers/nvidia-drivers: Old.

Package-Manager: portage-2.2.24
This commit is contained in:
Jeroen Roovers
2015-11-17 08:16:09 +01:00
parent fbcefa3e84
commit 7c9ebb752e
2 changed files with 0 additions and 505 deletions

View File

@@ -7,7 +7,6 @@ DIST NVIDIA-FreeBSD-x86-346.96.tar.gz 58010757 SHA256 a27d7b79c053702bf6524b2c47
DIST NVIDIA-FreeBSD-x86-352.55.tar.gz 55222267 SHA256 e06dc59876172be35a7b9210d0d84a96f46f6ee1cdcbfd7d01e5e89338d700c3 SHA512 d35e758ee7611e3d8a7fa773600d32b3d8945480166c607644cb1d375370f2ad05bb3234b5a7c51a3cec190346623db72fe5a2156a7b67333972f6bd0f15e530 WHIRLPOOL 240218a39d3798ef73e4c1c175fbb9dd16033bccc91367a6770f6fbd295f746977ea0d6cce79d949825a48b43d8ff25254c47c0202ec8cca2a4e6c460865ad24
DIST NVIDIA-FreeBSD-x86-352.63.tar.gz 55368686 SHA256 1d290a9d583b6e99addb4888c2b1c568bbcec712fd98c034be2448a0d1228313 SHA512 b2cb33f6e3a2ef69dd7759217f8d2eac4197940bda5007a3d755e8769df70a197485a1df6186bb5eb5e8c2a70117a2bdcbe10b9f0e02f6eb2ca30180c4ee49bb WHIRLPOOL 695e2daff45a532e3217612d28dc102b88554c775cf67af39f413871427bfbf895901ad582e78f7581f32a571b1425d3de6e74696282f8be9eec81b556357058
DIST NVIDIA-FreeBSD-x86-355.11.tar.gz 56832647 SHA256 3d4d5d8fcf558a8f5f1a88846161b1a89bd7fc66c0268b40613c7e3457f5ce7b SHA512 744d9b8c48b82bac0bfeea5e8b2b2bbaa0e6a183cbd1f5d4f782fa7b21a6f6c5b252e556a8b2161c3b5d43938ef8fabf6cb36f995ee823fbf792f3c9a92b87e1 WHIRLPOOL 43bceb8e8d3b00789cf2c8163a055b1d2405ef93e471fda4c4e2146093289891557f4ec8debfe6bca89ad6ed6dc2e389f1d3060759a71e8949df343bc31b85b9
DIST NVIDIA-FreeBSD-x86-358.09.tar.gz 58416284 SHA256 45af760f645b0881e632c63e6211f539f26ab7ac29e9118e5197b06a01f80cf0 SHA512 5b438f90b973773912169daa7986442323a893d9638b20ffbcd1782bd0bff301e0730d4482af74fcf619e8dbd01802cd69f89691200803d4876cd1c8417808b4 WHIRLPOOL fca235548624f86d631330bce7cf3c5782f31ab10e04548fb7f5f1470fc95e07389613ac07c6b8650c5ec7e1945271d734c608e660a9bb70da8cd2c04a460401
DIST NVIDIA-FreeBSD-x86-96.43.23.tar.gz 15463464 SHA256 18d855db8381eda1a6cf548c9e5095fc5bb8694bf1d6e24fc1072fba4e54cd78 SHA512 42d7b1b76cdb3b23680363e565614a22112162a5dd3639cb804fe670c0c3f3f23595bbefa3f78afdc6a8ca848446dee853c7a355f2c96a0d01b354753ba2785c WHIRLPOOL f8e59ce521990cd9edee441e73f973f074db492952807a0931e362102874cddbb47604ff5c5eb20a0cbde27f9b6d4e440dd12cc2e5a20c9cb65bf3c0b3e62511
DIST NVIDIA-FreeBSD-x86_64-304.128.tar.gz 35481444 SHA256 ee38635fb02eb598dd0cdfdbc9014096774104d75ba42fee7688126e531fed8f SHA512 36b045bd556512c83fc841e5d379b1af70b47df99f7042b64d3ed009f3dadb8e7a06e34506b839d0e936de06064c343aac370dad3fe96ea53aa3e25322eda0ff WHIRLPOOL bc53f009da857ca34396f6d49e9c8774e0062cfb437a1b711256b3c0bbbd50d49bb4691697ce7bee347533aeb150d7fe6d061170c1ca9ced6a694694399542c8
DIST NVIDIA-FreeBSD-x86_64-304.131.tar.gz 35812363 SHA256 e10aa34f4aeb6981c0bc6762f37e6ad57de52b45c7322d0caef9781c1a43858a SHA512 0df69d11c79cfd66f40f5adf091f9c3ad494b89fbe9200a1a01fef8cb2d2591ffdeb703d82a263e050384d39ef81af3a717ac24716f96b1fd8386d1758bcf45b WHIRLPOOL a7e01ac4646d52229efb1d22df9b4db98bfd6bc30c79fc4c65273001b1cd09c4db823a0141a060f8c53926ae23a33fe66e27aec805879228d64bf3f45aa66bcd
@@ -17,7 +16,6 @@ DIST NVIDIA-FreeBSD-x86_64-346.96.tar.gz 58774970 SHA256 89daaff29afe92d825ec8c0
DIST NVIDIA-FreeBSD-x86_64-352.55.tar.gz 56869851 SHA256 b8e29e23619382bf470bd899223b290d58920abaee1b3fe58a1ae600b8965b7f SHA512 36f4ef497d5871e0eee3918a867194142afb869d04ef78ddd3fc591fc543fa50b2099b23392a1b1168c7bd558bf79e057f4f0e2c5fc5badb1f45741e6ba5d49d WHIRLPOOL 02e972f11b992ef4f3abe29961b2f6da4bf46fceab93f732ff5f02eb1378472f319ff9425fb5c5f389d0a6b634b34a0ba21b37d23861cec09cc7e6b8329002a4
DIST NVIDIA-FreeBSD-x86_64-352.63.tar.gz 57026971 SHA256 ac2e3926df50f6c0a020b359b29dee0f81a9474d7d68944edf9026c73f672cb6 SHA512 7ef75124b4cdd2de67f3001a74d0fb8f13f4c767c806615cb993749a54e7932d1a9f45b162bcde5dd1d617764950290cd240aa71cd3b0bf11384606986449d91 WHIRLPOOL c9a69476b8d73fa242b2f667b2eb7e40d9ec88f2a8dc65cdd6259573f53f7573e28f12845837be9b50210808536e5591b5853963348b0ccb896fc70a53ed5258
DIST NVIDIA-FreeBSD-x86_64-355.11.tar.gz 54031364 SHA256 3637a879905bb541bf02f9bcdfe37c242a52ec6071671a0ba33581efdce1504e SHA512 84add7d90c7f45d19d736ee70c1c4a6434be1c512bafa29cbbf9221e99a31fc383971696dce99da5a77a171eb3537c98cfec7005ff061411ac9c310fa219c906 WHIRLPOOL d8ade5d63c3ef78fa92f9dc07934eed8fdd4ead1e40f1820ad95feb166264a95a800879e1fc6374bf2deef419b0838b4864796d9f81a81110d06ccd9b65c459d
DIST NVIDIA-FreeBSD-x86_64-358.09.tar.gz 55191037 SHA256 d6d92c23a1d15ca275db03a59add2969fa8f1ffcafc3cb0786e7c840fe162bc0 SHA512 e6cafaf32f779537133b10005ccd2eb9fd6e012699905759f5b497ffff5b7d65d1b98119798beb7b19ca6e83be45d916fb6b29d0a3905ee8b5650c6f2bcbdb27 WHIRLPOOL 053fa5336edd67a24084ab32d0396da376cc44ff828b134621190cb4d2263e7faee70ca907143d83fc3361c4bfbd762e2db9e6e03b1e7dbb2517715898e4d2a6
DIST NVIDIA-Linux-x86-173.14.39-pkg0.run 15134997 SHA256 a09935f37121ed3db8ae3da63a0d8e9d4348a19c859811c9fe44d6ce8e3eab23 SHA512 e24e15ccec725d3cbca502c2b77061776a81ef92917a950adec4ff6bdc34f10903aa654433177ea74be0dade4af81c5380d5710d375a5ea445940d06154bde93 WHIRLPOOL fce3d8e4f6cdf698f5a057514b6fe220bb1011025bdce5bd4cf0e424fb4d306d38251b6726bda03f290ea8137d5a95ed418cf8751722879f9042462abd9181b6
DIST NVIDIA-Linux-x86-304.128.run 40607927 SHA256 f6aa695b3375473e3444412e4a3b7ef6bd8b13e3f3678f4cbe7a3649b5129068 SHA512 9822b61872ae28751cd5c41714048612f7ddf0fd9f02e6340598150afbea43dddeba88482a8c88bcf893b015d14b2a2cf5157ed60583da57fdfe183ecb620c90 WHIRLPOOL 6ffb8d0638af82c3a844f699c57379863fbef3a79b1308bb382c38015fbf26889e41f911f327b63a955586c1c636ecc4ad399fc12db189739d9e80fd63ed1390
DIST NVIDIA-Linux-x86-304.131.run 40893199 SHA256 d2554bb6f7867e7762d0ecedcac5bde7de0634e43b952bf466323ea8b4032da8 SHA512 3e67c40648554dc49472081eee88ae982c3b235b3346e4d9e7fb5ae33ec5f10ed088da804ac7d8bd1565995df3861f12b3560030cd3a19339a2d35768b0a943e WHIRLPOOL 88e9cc0270a4fc64ed8475a217c7c8c50e6ea21fe14b5b5beb16f494bd62bf5ada2f47e26e5380dd3d0bc678091e29f0e26937eef1ee3c7bdc5805153201bae3
@@ -27,7 +25,6 @@ DIST NVIDIA-Linux-x86-346.96.run 40751579 SHA256 8a299ddce7d34389206599a306a41d3
DIST NVIDIA-Linux-x86-352.55.run 42435938 SHA256 1d2f237b0885e0492f068786a5c3612f5e9751542826c4c7d51612193d9dd841 SHA512 8bcd612ddced33936f0f148420f847d5ea9c1596b9f4305e666131d84cc3c81753ca9ef7a6547e15b8739b11667389669b2dc27f7dd03cc5764de51dfca0a84f WHIRLPOOL 771e334c85bb91a8be499df7fa46bdab159321679f16371f11aba8fe94c68d3b33ada5af5e8613f1be6ac337cde020719479ecfe53c7f5854ac019c9f918b53e
DIST NVIDIA-Linux-x86-352.63.run 42983438 SHA256 484442dd5163c3249e86736b1e297cb4b500f60eeeaa2ac6f570335fa1e8b96f SHA512 499e9949d0221e40c8050a589e5d174d8c38108152948876cd9e523ce9d3b7f85646c40c76d2af032ead848d6508189afaa27226100d72b0484ce3634d3434a8 WHIRLPOOL 79424e46ba2a4a3fafd01364230779c567b5a002e4bbe9056415d6cce6ac8492e88e0676d64cb9deb24eefb5be61221c32b4a432224ce835a884f93c55929fe5
DIST NVIDIA-Linux-x86-355.11.run 43569515 SHA256 94ce6b879581b931b84d83a9111040b9a5aa9306b012b4380cd93f6ffede3066 SHA512 450caea472c5e1b3d7098adba28d18c1221cf809c6bd0071466ff2a946dd0eca6555475f5f6bc044fb19a21c8939b1020357d4aeb0ce47d0edfcda071a66fd46 WHIRLPOOL 3a95e83ab3f46e64150caf1489aa3173aae69919bf432eabcdd0501de8bcdee5402cdb33e149a4d5d429ccb85e4b4af9b30bec5516ad7b7f091ae42f6093d26f
DIST NVIDIA-Linux-x86-358.09.run 44098888 SHA256 ce51529905fe32ade279959177a3162f95cb4860f8f8ed6e6fbacbea3ec348cf SHA512 31e6d02b206e2e476ca25a3b80c00200ea9c8d68e7e85f1b175f7849be67a74c254c9e2c0ee3f14a6ae96860ec1d2f34077ab25dcd89926805371182802b0e60 WHIRLPOOL f33d77558aca5d4607e7ed664a575abc1440b5ebd0544e610fac9bb861db4c9c3b232d8423929ba4cbd80e9bb0a28d294fb3e464bb7f74233772515519255302
DIST NVIDIA-Linux-x86-96.43.23-pkg0.run 11504817 SHA256 51e6adf4ba73071622045fc37169f80db3ae3e784dff53b29d35146a04042142 SHA512 bed5726e57637481fe4e3c03a65ec14fe949f00860e729ebde408f4fd861d7bfdc296a78bc2f5d42e8b282db09f4bbde1e0545df7228fa20227080dc4b868ba7 WHIRLPOOL 6d4fd1786c11f4e326cc3101d0bb1a2f8b63c25c3dd59f10188f8355759e2861ce44fd53d60258b513d5a1d6124d0f91ba8edf4d3668b6feabfb3e8d585f14fe
DIST NVIDIA-Linux-x86_64-173.14.39-pkg2.run 21100833 SHA256 15a953666d5681ba54c97498b578ffd286a1dc96d605f3b02110f3f99813100e SHA512 a65cd496e6ed57f771c3d99f37f616a1242d97844f6faef7a807825ad899c0e536a99fde397020839f0857883b934032f9491024f3047a6b06d3eea1f5d77713 WHIRLPOOL dc5f243b7d1de7e2d1b7f005e018a2940d63335b11a7c83c234b348b7a1839e9131169d2ea928bd8c2f549a4535149b03e16e6c94d59dfa745f7f904ff790a45
DIST NVIDIA-Linux-x86_64-304.128.run 69091465 SHA256 e301342b93af24a6676519cb3a7fbe5d557b6a23a588ef121478b7fbab8a495f SHA512 493b6c9647122c9fda5ac3146f3e8f60000d3efd09e93762d49d70266baffeba493479fb046cf2f6465b2ce9e53a8699254cbd165b5a3efcefee5fca9fb11056 WHIRLPOOL fe9735282f91e8e68c50325a4c0506d18347b53fb11f0328a6d0fc1f395ec3d2ea48a510b90f3c05f1c447b40db94216a0445eadac220ff500c5864439845b1b
@@ -38,6 +35,5 @@ DIST NVIDIA-Linux-x86_64-346.96.run 73538317 SHA256 229b28a6b65965a248d07223d941
DIST NVIDIA-Linux-x86_64-352.55.run 77698379 SHA256 d8c9b5a15c1e4712ae6c081a0bda2c09fdabae516798351fc7f70c28df7e1c5e SHA512 4b27e532c2b099aaf049d0931a677519d7432c9703799af5e9f7370031abb69898cd61524f84063f128250f35f15432860ac773af8b1b6afefd46cad63a28854 WHIRLPOOL 74d635cb1c0b310d37369b13147a88e695bc2ceb3faec2aa121453d0cc3a3ca8869fd42c22bca0ee74ad9226525a8413dfcf1e133230ba014438fd504f5092ed
DIST NVIDIA-Linux-x86_64-352.63.run 77647248 SHA256 3705a122fbd4fe04f4077dea7ba8b1127f1a9b40e92f3abc7afa91964e817e2a SHA512 37b38be1e9394aa8bdd33cfbdf3c16ed62b16f852f76e013fb5573803e057ac51f6728ff594f7d48008871d9503fe64bb6e2dfc00b4415a62894f7f26c6ad719 WHIRLPOOL df8debfe7655982a7ca2194cdd833e8dcdb69250077c18551a0b93c31eadeea793b21118ecdc7b9f59721ab0f8431a0442152d3d685a1afac87587dbed3ec816
DIST NVIDIA-Linux-x86_64-355.11.run 76490009 SHA256 a59b425381add9d9058dc2d987bf3087ab59c43224b5eb04c3f273f5886451ed SHA512 bfc7ab7741183408aa0226dc29176c8ffe08566fbea7cebf78f4aa30627dc27ddf90bb82951c99006b34bc481be15712b4f5867ef543a32bfe3fe81a8e6ddeae WHIRLPOOL bb5d3397a855a53c2cd7e48056564085b906550f856207932e4670fef995030a3a7bcc0a9b97fee2e60aaff9b41c4a954afc57585441f5dec92c795358da810a
DIST NVIDIA-Linux-x86_64-358.09.run 77365758 SHA256 4e9ab7f20d63fd604a72b8656c0296dd4278cf523252d1c1fd28f27b78fe0671 SHA512 6b366aeed9d3a0f7a8c46925e4c3831dd6a19cf8f9fda62f16e9f373cf0c43ab6e7ead969b163af17eb6ce2681124ed60ec709a3f55d527ff72fb15813009088 WHIRLPOOL 417fed0295e6ddb26be0b516a2ea27e54205e0a7ac42d2ee592d40e06a896cfc576d27a94ea04b3d5419fcf043af3618f35059928275833ac8f828fb9c120957
DIST NVIDIA-Linux-x86_64-358.13.run 76695266 SHA256 d0f280ee1ecfd24a8ad527eb600dbc788122eb21b494ab7611630c053a4e4a7c SHA512 0e438d561422faac633731346768cda33dcd51ad3ade0425071a2065ae18ec673bb74cfd34f2cabb7a4b6d703ec1b00bd1b6f75b3fd4e7e8f94d7e01f8c3b59f WHIRLPOOL 2dc8290195c5eb11b4f04cc00c7092831e990685f1c86a783c913964d50a33a054c136b88c76ad6d5e3f1bc4f588139ef694bfb9581456a49318b31be0c63f24
DIST NVIDIA-Linux-x86_64-96.43.23-pkg2.run 15962375 SHA256 ce8d8253e7dab7da63fbdac449ebf190cd0c10cbfffea0f8d0165515f851bc64 SHA512 04bec1187a6024a2b9839f008ec829281f1f2602dae2e639030bc385943186506bcaa2b46a230b2ab87f9217190841abc62f9e2d6395ab5559623389c31c6563 WHIRLPOOL 0651c44a51a1a06fcff5bfddbf9c3e408977e03263c7fe806cb6c01f9fe92f716dfe4e5190ffe1048bde72fcffdc8bca8267e74dd43ba5c9dfb22b6201fcc2bb

View File

@@ -1,501 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
portability toolchain-funcs unpacker user udev
NV_URI="http://us.download.nvidia.com/XFree86/"
X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
DESCRIPTION="NVIDIA Accelerated Graphics Driver"
HOMEPAGE="http://www.nvidia.com/"
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 )
x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
"
LICENSE="GPL-2 NVIDIA-r2"
SLOT="0/358"
KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
RESTRICT="bindist mirror strip"
EMULTILIB_PKG="true"
IUSE="acpi multilib kernel_FreeBSD kernel_linux +kms pax_kernel +tools gtk2 gtk3 +X uvm"
REQUIRED_USE="
tools? ( X || ( gtk2 gtk3 ) )
"
COMMON="
app-eselect/eselect-opencl
gtk3? ( x11-libs/cairo )
kernel_linux? ( >=sys-libs/glibc-2.6.1 )
X? (
>=app-eselect/eselect-opengl-1.0.9
)
"
DEPEND="
${COMMON}
app-arch/xz-utils
kernel_linux? ( virtual/linux-sources )
"
RDEPEND="
${COMMON}
acpi? ( sys-power/acpid )
tools? (
dev-libs/atk
dev-libs/glib:2
x11-libs/gdk-pixbuf
gtk2? ( >=x11-libs/gtk+-2.4:2 )
gtk3? ( x11-libs/gtk+:3 )
x11-libs/libX11
x11-libs/libXext
x11-libs/pango[X]
)
X? (
<x11-base/xorg-server-1.17.99:=
>=x11-libs/libvdpau-0.3-r1
multilib? (
>=x11-libs/libX11-1.6.2[abi_x86_32]
>=x11-libs/libXext-1.3.2[abi_x86_32]
)
)
"
QA_PREBUILT="opt/* usr/lib*"
S=${WORKDIR}/
pkg_pretend() {
if use amd64 && has_multilib_profile && \
[ "${DEFAULT_ABI}" != "amd64" ]; then
eerror "This ebuild doesn't currently support changing your default ABI"
die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
fi
if use kernel_linux && kernel_is ge 4 3; then
ewarn "Gentoo supports kernels which are supported by NVIDIA"
ewarn "which are limited to the following kernels:"
ewarn "<sys-kernel/gentoo-sources-4.3"
ewarn "<sys-kernel/vanilla-sources-4.3"
ewarn ""
ewarn "You are free to utilize epatch_user to provide whatever"
ewarn "support you feel is appropriate, but will not receive"
ewarn "support as a result of those changes."
ewarn ""
ewarn "Do not file a bug report about this."
fi
# Since Nvidia ships many different series of drivers, we need to give the user
# some kind of guidance as to what version they should install. This tries
# to point the user in the right direction but can't be perfect. check
# nvidia-driver.eclass
nvidia-driver-check-warning
# Kernel features/options to check for
CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
use x86 && CONFIG_CHECK+=" ~HIGHMEM"
# Now do the above checks
use kernel_linux && check_extra_config
}
pkg_setup() {
# 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 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)"
# 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
# set variables to where files are in the package structure
if use kernel_FreeBSD; then
use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
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_prepare() {
# Please add a brief description for every added patch
if use kernel_linux; then
if kernel_is lt 2 6 9; then
eerror "You must build this against 2.6.9 or higher kernels."
fi
# If greater than 2.6.5 use M= instead of SUBDIR=
# convert_to_m "${NV_SRC}"/Makefile.kbuild
fi
if use pax_kernel; then
ewarn "Using PAX patches is not supported. You will be asked to"
ewarn "use a standard kernel should you have issues. Should you"
ewarn "need support with these patches, contact the PaX team."
epatch "${FILESDIR}"/${PN}-355.06-pax.patch
fi
# Allow user patches so they can support RC kernels and whatever else
epatch_user
}
src_compile() {
# This is already the default on Linux, as there's no toplevel Makefile, but
# on FreeBSD there's one and triggers the kernel module build, as we install
# it by itself, pass this.
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 kernel_linux; then
MAKEOPTS=-j1
linux-mod_src_compile
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 minus SOVER
MY_LIB="$1"
# SOVER to use
MY_SOVER="$2"
# Where to install
MY_DEST="$3"
if [[ -z "${MY_DEST}" ]]; then
MY_DEST="/usr/$(get_libdir)"
action="dolib.so"
else
exeinto ${MY_DEST}
action="doexe"
fi
# Get just the library name
libname=$(basename $1)
# Install the library with the correct SOVER
${action} ${MY_LIB}.${MY_SOVER} || \
die "failed to install ${libname}"
# If SOVER wasn't 1, then we need to create a .1 symlink
if [[ "${MY_SOVER}" != "1" ]]; then
dosym ${libname}.${MY_SOVER} \
${MY_DEST}/${libname}.1 || \
die "failed to create ${libname} symlink"
fi
# Always create the symlink from the raw lib to the .1
dosym ${libname}.1 \
${MY_DEST}/${libname} || \
die "failed to create ${libname} symlink"
}
src_install() {
if 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
use uvm && doins "${FILESDIR}"/nvidia-uvm.conf
# 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}/libglx.so ${NV_SOVER} \
/usr/$(get_libdir)/opengl/nvidia/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
fi
# OpenCL ICD for NVIDIA
if use kernel_linux; then
insinto /etc/OpenCL/vendors
doins ${NV_OBJ}/nvidia.icd
fi
# Documentation
dohtml ${NV_DOC}/html/*
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.gz"
use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
use tools && doman "${NV_MAN}/nvidia-settings.1.gz"
doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
fi
# Helper Apps
exeinto /opt/bin/
if use X; then
doexe ${NV_OBJ}/nvidia-xconfig
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.gz
doman nvidia-modprobe.1.gz
doman nvidia-persistenced.1.gz
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
doexe ${NV_OBJ}/nvidia-settings
use gtk2 && donvidia libnvidia-gtk2.so ${PV}
use gtk3 && donvidia libnvidia-gtk3.so ${PV}
insinto /usr/share/nvidia/
doins nvidia-application-profiles-${PV}-key-documentation
insinto /etc/nvidia
newins nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
fi
dobin ${NV_OBJ}/nvidia-bug-report.sh
# Desktop entries for nvidia-settings
if use tools; then
# There is no icon in the FreeBSD tarball.
use kernel_FreeBSD || newicon ${NV_OBJ}/nvidia-settings.png ${PN}-settings.png
domenu "${FILESDIR}"/${PN}-settings.desktop
exeinto /etc/X11/xinit/xinitrc.d
doexe "${FILESDIR}"/95-nvidia-settings
fi
#doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
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"
readme.gentoo_create_doc
}
src_install-libs() {
local inslibdir=$(get_libdir)
local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
local libdir=${NV_OBJ}
if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
libdir=${NV_OBJ}/32
fi
if use X; then
NV_GLX_LIBRARIES=(
"libEGL.so 1 ${GL_ROOT}"
"libEGL_nvidia.so 0 ${GL_ROOT}"
"libGL.so ${NV_SOVER} ${GL_ROOT}"
"libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}"
"libGLdispatch.so 0 ${GL_ROOT}"
"libOpenCL.so 1.0.0 ${CL_ROOT}"
"libOpenGL.so 0 ${GL_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-fbc.so ${NV_SOVER}"
"libnvidia-glcore.so ${NV_SOVER}"
"libnvidia-glsi.so ${NV_SOVER}"
"libnvidia-ifr.so ${NV_SOVER}"
"libnvidia-opencl.so ${NV_SOVER}"
"libvdpau.so ${NV_SOVER} ${GL_ROOT}"
"libvdpau_nvidia.so ${NV_SOVER}"
"libvdpau_trace.so ${NV_SOVER} ${GL_ROOT}"
)
if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
then
NV_GLX_LIBRARIES+=( "libnvidia-wfb.so ${NV_SOVER}" )
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}"
"tls/libnvidia-tls.so ${NV_SOVER}"
)
fi
for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
donvidia ${libdir}/${NV_LIB}
done
# GLES v2 library is special
insinto ${GL_ROOT}
doexe ${libdir}/libGLESv2.so.${PV}
dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
fi
}
pkg_preinst() {
if use kernel_linux; then
linux-mod_pkg_preinst
local videogroup="$(egetent 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 kernel_linux && linux-mod_pkg_postinst
# Switch to the nvidia implementation
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
"${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() {
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
}
pkg_postrm() {
use kernel_linux && linux-mod_pkg_postrm
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
}