diff options
author | BlackNoxis <steven.darklight@gmail.com> | 2015-01-16 13:07:21 +0200 |
---|---|---|
committer | BlackNoxis <steven.darklight@gmail.com> | 2015-01-16 13:07:21 +0200 |
commit | dc5f50853b072f8644a87ada2ccecbff3c66d0b9 (patch) | |
tree | 07cac473bd46b3635d761027a85e7b27e52bda76 | |
parent | 2d92ee36e3f67ab1f95bba73853748a56dd16667 (diff) |
Added nvidia userspace 340.58
-rw-r--r-- | x11-drivers/nvidia-userspace/Manifest | 4 | ||||
-rw-r--r-- | x11-drivers/nvidia-userspace/nvidia-userspace-340.58.ebuild | 353 |
2 files changed, 357 insertions, 0 deletions
diff --git a/x11-drivers/nvidia-userspace/Manifest b/x11-drivers/nvidia-userspace/Manifest index 722639cd..0b93ca9f 100644 --- a/x11-drivers/nvidia-userspace/Manifest +++ b/x11-drivers/nvidia-userspace/Manifest @@ -4,20 +4,24 @@ DIST NVIDIA-FreeBSD-x86-331.67.tar.gz 55876749 SHA256 0c88c363db516ef09b0027aacb DIST NVIDIA-FreeBSD-x86-337.25.tar.gz 58137349 SHA256 9857b24b5d910fb8688a2b9e11039d88b70ec250e900149183454675a363e8db SHA512 0c85814061732bd09948b5fd203d5d3a1fd5df0e1c23f4af11e1cfae6f7d8c7d7f569f35398c2c5551abf7eb5ce357229fa9b16ce2c21799e96396cff3313777 WHIRLPOOL a7ca516e184334117e1cdd45b3f4c1b0a8c50281ffd1c3859865d877c2bfb20136c308b1ff09e4d64d0e7fef8eeddacab488d0bc30c98d82a9280572be5f0de0 DIST NVIDIA-FreeBSD-x86-340.32.tar.gz 59021194 SHA256 ee4f34a279ae84b97373adbc8c91ab7d34eb52dd4a7b095d51d8592b3e264df8 SHA512 9b5eafa48ccb105fe978242096c99355a291314cacf7a232cb81292355dffac5496cdb8667fa4ad3f0f2286792bf0473f523535e3258bb3b0237c76dbf5ba837 WHIRLPOOL b9438f675f65ec0b55aa2c1ca8c3beb35d20f3c56837bbeb02d511b66d4bce825ba95852ecbca70f6f83ff53f23c98e1c0d2bd313d195426fea63baed27c1cce DIST NVIDIA-FreeBSD-x86-340.46.tar.gz 59013852 SHA256 5aa4ec5f9ca4425cd3fdc47ac19c76900cecae8a9606632a8063514481363571 SHA512 03bddeb919c6ff58e11df2a4d7f0c30a8f47a9970704dde762c81183773057cdffadf37d60bb920c218b1c72bc8f71949aadcf250747f48b1cd27b1a6164949b WHIRLPOOL 0ce3f23d4660e368b10972a39366a1d26116e38fddaee1a3a4764e85e868151bc7f1e27f3c1dbbc52187c74acabd483c65455d7fd0b9679d89a2c05200e05d83 +DIST NVIDIA-FreeBSD-x86-340.58.tar.gz 59074607 SHA256 be4fdf4502532c39483a1072ed89bd33e0e49717a2523f412fe3c75da5edbc6c SHA512 c02d160ffc6a027a26c5fe2e6d7eff833f1e2cdb2c2006baad571bb733ddee68a8675175bddb1e154bea69571af633b125a524ca7b8ffd535b88ac91579f7bfb WHIRLPOOL 0999d380ae8770e1240287de002dc133d816c0895d39110fdc3f7455a7d25effbce09cbfea1b09b8b01b2214cd1f33554ba202a5f816c80b9884edb03ce2d9d6 DIST NVIDIA-FreeBSD-x86_64-304.123.tar.gz 35144064 SHA256 32ea8ce22b4fe50f59782c390b8ec1d90bb44e02787255476f0304c60f11e877 SHA512 e12f55e2a303e8df628b3d7e5f2c80517cae4f6a146f20a3c10ab2d1147b4bc9386b678bbab9e519e28ea921832e1c855b4b8f4643c839717c5c97a833679b2a WHIRLPOOL 5d751bf72e1e089edcaab34d2ba8d413793a92c5a0d3601ff71285b458ad6aef4632481ece9f520f2006440d35b2eab3941e30f54d79351bc8da3ba12eaf3388 DIST NVIDIA-FreeBSD-x86_64-331.67.tar.gz 46997728 SHA256 5781bba8b7783f96c1f239961140317426910633fbfa3ba80fdcefe54aec7e92 SHA512 1653c03e091451f14c040c2b56de8574e5fd5d7b24db6ce979f99693f6a10e61e6c28fb3a962288a135551664973bba6d2f29b92aff726a4ee592fddc807db4e WHIRLPOOL a97d473c786451c7cb88155edb12a86da5f2888a584da7538dae93056357d0c63f294d638f6949c7a6f8255c60c3db84fdbb28ce10cd6da4c82758f95eb90679 DIST NVIDIA-FreeBSD-x86_64-337.25.tar.gz 58941876 SHA256 189dc0f70528d0099d0396a52bf759af74d6a99203484be2d2d6514faf0d4161 SHA512 458c9200579a6caed02aabbc196ec998a0d19149cca665c5ef9bc709c018b991b27713c92d00bdd1ea6ddd86e04c641f387e1ec8a1235cc9581af9e7a3b19ebf WHIRLPOOL d819cf486edc443b1da39ea67582a12698b1dea1501f3b6738014a80f8a96260aa0ba30a9e2f1fac075f0f7d604dc94978f7f82092b40531dd4989a2954cc420 DIST NVIDIA-FreeBSD-x86_64-340.32.tar.gz 59836909 SHA256 4a55cbd4f87528d4d5b5a8809a8c6e2dac9ad22b0f8b357590893dfb39e52512 SHA512 ef333d94a147e04292d6e197ee72a7abfb10a84665931876455b689409af42ac713d1a16f965214a46d9dd28fd324769fa4dd14dde5caf20a8b23a9683b6c55e WHIRLPOOL 76fd78eb97b69d7a5d7dc46e06a8d7b4dc3fadc1f2c6995d86161ca90ce99ec4a0b42eedf09939a4436481bad33ef201f49c73c8add833cf912af86774d47b34 DIST NVIDIA-FreeBSD-x86_64-340.46.tar.gz 59835566 SHA256 699a65b5184f8705ba4ddbefb5776136bec98619ea00af3304725e5e028b7346 SHA512 7a6ba9fbd769aec45985664edd7291403e70c0e89a90f5c0665d6433e4baa8e0b59ceb99e817b377753576d189c0091d5af0bc2da796726ce0a9f0ebfa831d5b WHIRLPOOL aea421916646f68efbba007c08319d7b26259e1ee146bd420910468c36c04c3bc574ee6db103d64259083b11190cb3d5342a3dd1af42b0a306aa4515eb4bc9af +DIST NVIDIA-FreeBSD-x86_64-340.58.tar.gz 59892350 SHA256 c59e4c4e1c95a53d1dd797b99c852272fad0a256be65599eef82a6a2a16ce502 SHA512 bad7975662045e8e8075a558e3805b65e69536c9c8896a31245ff9e28b44c723ec7b3e9c9b40fa92622c0f5a966ea89bcf247156ee34e4977e933eab4595f22d WHIRLPOOL 893744d9f532ab463e7ba7d99999714816ad8eaed18a9e72ef47b3d9da4d493da4f4f2b6bf415dc20dec70d3ec850dfa26c8fae69a5166b093c8de36797b94e2 DIST NVIDIA-Linux-x86-173.14.39-pkg0.run 15134997 SHA256 a09935f37121ed3db8ae3da63a0d8e9d4348a19c859811c9fe44d6ce8e3eab23 SHA512 e24e15ccec725d3cbca502c2b77061776a81ef92917a950adec4ff6bdc34f10903aa654433177ea74be0dade4af81c5380d5710d375a5ea445940d06154bde93 WHIRLPOOL fce3d8e4f6cdf698f5a057514b6fe220bb1011025bdce5bd4cf0e424fb4d306d38251b6726bda03f290ea8137d5a95ed418cf8751722879f9042462abd9181b6 DIST NVIDIA-Linux-x86-304.123.run 40250272 SHA256 d5034900173cb7195f52bd6add5bf574dfcd8868bd75c0e1793592c03b97f425 SHA512 7397a28c67a3cfc5ad58f079ced4c45639922c39008d606ca703c22dde34374c4942c894eec49d42187cf00cb0179e3dcf80edd28a81c4c89456a62e42f12b43 WHIRLPOOL 8b55196678cddba5e640f90525d69835c273befe01e4e1a87c00a21839e9a86bc68829a3c59c64609c47475466a158f43d8579897728cabe6b6bc0eadef62e2b DIST NVIDIA-Linux-x86-331.67.run 37064511 SHA256 696b4a574ad3cb2b3286e0848e7e831940110cc33c63de51890154dbbd31acc6 SHA512 2a17854b366aa67a398c8d66134fb78d0ccdf4a6b2fe874bb7c146cfd24501431ed7448f5b7e24c8f78c6b1f6c2d5da207fbf568c2135ef53e51e83ce02cc374 WHIRLPOOL 4ad64717eb43043bacfbecdd6efe38bc5bf598acf172984e7c3eb1dcd779a9cbe53a76ac6e7b94b1d950d1f279147ceee4037d89be589fef2219d826eb86d09e DIST NVIDIA-Linux-x86-337.25.run 37649836 SHA256 f76ece6bd98bfe2ae641a1847094e98c6f7ad7a01af682b4f38108d6b6227f9b SHA512 f68105a43f9129f4112c8a091ed7c9641708b62d20c199544e5e7079d5c5bdc0b6c83427be868e62c7134400ca62cab6a65eaff96ddb940768750250cbd50112 WHIRLPOOL 1ff92ffe33dad59bf393a7b6fe7523362433704dc8329701e74814c2eef833d15e44334264601080b90f723f5390ce6502fa3ed530fe9fadaf3efff139e65047 DIST NVIDIA-Linux-x86-340.32.run 38587515 SHA256 1d0489c35c5b332c9b949d9de3c3cbab4ac3a94385aa41e7a7b62ef23f4395f5 SHA512 a67e57a1bd70a9cd5ae2bed70403920ed94d8eac9d08dcd380f6065cd597d5824e26ae25a0bcd56626190124c07d128f3b0429040794c8e8d3ead85860fcb646 WHIRLPOOL 66bf6db27edddae845606e82cf9397dbf483bbde23e97899575c8ac3f6ce86c84d88f8e60c60b1aad1360fe9bea4f43de030a849f88f43d482508de23cd24d8e DIST NVIDIA-Linux-x86-340.46.run 38635506 SHA256 a2e6d779397372dea77466e85ba30a15211c24502687512694604e570db11f87 SHA512 3d90a73fbe07eb25ec80a485c3827bebaf64a941331d6f28fb9b925678d74d66421dfecf6fe9637fb57b4aece268e987bfa8f29c06567243ae998d7ddac25f98 WHIRLPOOL dca92cff7d72f105e89deea74d6de69d4f78f1a7b15adea9e4a8cbbca9007b4bee4cc9b9f0cb39d7a2436e141785a5cfd3011b235418e701d27e7393ffefbf66 +DIST NVIDIA-Linux-x86-340.58.run 38527667 SHA256 7cc48ff0681667aad8213a4dd3cf7695cad29a5a23a3110d22566c362c76fb5b SHA512 71381af39622feaaa84e005212f2bfa0800d2b100cac8aafdaeaa3ae1cb5aff47e1d2927bbed059ec1667a41c65946fee4ee763c9cfc5d78b68c06bac55757e7 WHIRLPOOL 31230ddaf971fe35086c1c42530bf066d8632d1d2082329b42c076afacfcab4f0edeae87b27a9a59ee9915f8451ad9d4305a32ff87af459a4e87bedac181241b DIST NVIDIA-Linux-x86_64-173.14.39-pkg2.run 21100833 SHA256 15a953666d5681ba54c97498b578ffd286a1dc96d605f3b02110f3f99813100e SHA512 a65cd496e6ed57f771c3d99f37f616a1242d97844f6faef7a807825ad899c0e536a99fde397020839f0857883b934032f9491024f3047a6b06d3eea1f5d77713 WHIRLPOOL dc5f243b7d1de7e2d1b7f005e018a2940d63335b11a7c83c234b348b7a1839e9131169d2ea928bd8c2f549a4535149b03e16e6c94d59dfa745f7f904ff790a45 DIST NVIDIA-Linux-x86_64-304.123.run 68755898 SHA256 68ee60d2a96ff80adad7e62f79f55f137dd10b8c38ce6c60fb481e73fdf6b155 SHA512 b16df726e8ba48153fcea337ab198c913eaa9f1dd004bed5c4262731e12c5a7c775c2a31996e207d051e4e479b7eb5173fcffe07d9988877385503f940e15dd8 WHIRLPOOL e9fe629dd262e68fe776c28fd93b4923d03681b2761265383becf914e84429f094b311b6e02051d2fb61436d48a59051d20fe9c8803fe7ed7daf98cd936f0dab DIST NVIDIA-Linux-x86_64-331.67.run 60231750 SHA256 9c7f2bb44bb26a5effb915d8aa22132a6c06483e0cfa6f47b7265b15da83bbd7 SHA512 7368a60c282386bc5b68599cacd07a18a9be4c3fd624eac9eb92966221318723c3f44ae033163789eae1ae683e729d49268769e79c465aca6632c5a7e6d6942a WHIRLPOOL 552f590257e3e1e53b83563aeea840a78869c10ea2707cea779da99ec726cc17398fada84379537ac2e6a7dc8a653c8b00141ab35adb10a5a49d0da565c2eb73 DIST NVIDIA-Linux-x86_64-337.25.run 68053486 SHA256 83280f7738f65bb2e790e7530a38978cf0bd0aa741eda51629c9e9b068128af0 SHA512 27cb5030da00d6fa2a2dd6701cc149ce885e7ff7e7ca4f1629c27737357fdadedec41e830f5cacabef14646515d6d2729f753d78424260316e28111f2c3e53b9 WHIRLPOOL 72eba5239ae7272d3501403ef292f0e131896b3dd852a7e2423e79206d99aa5a4a3b98eb4193ad5cd1e0247ffd48189d3a3ba02ca307a759a4f15b9c9a386dbd DIST NVIDIA-Linux-x86_64-340.32.run 69753673 SHA256 ef96003110564953cad4ffaec073696dcf9652338dfe5eb0c58ae3ce45db42ac SHA512 24c2dec161022bd229862ad66711232cf6424a0bd1eb056d7eb22a34e265d4b1f6208779cf507b480189f95f795d580a30ec5f8ab1bff549d2a41a57adcc14b4 WHIRLPOOL 6422498998253003fc1e1d6396449d2fe35b5836a083a254d9d7439434e5a3e1cf55afbcc3860a234ee9b3d0a1b18b9c58e4946107465559f0dcb121ef796e5a DIST NVIDIA-Linux-x86_64-340.46.run 69693129 SHA256 57e7694b5a985ee95d2da37598ec37cdabf40f914490f4cdb0c5184f12a74270 SHA512 43cce2911c1894fe9240453179666c5fd1f437b49a1e3e5990463e9009ffa25d5da7f91105d1520c6133a0bdef9070c768efdc087e2d8ef85ed7896fcf555c7a WHIRLPOOL 9f845c5b6621fcc34a5b64d1c5823a3978a04c669ee4d3f7e3aee3f8da06c1c6eaa3b51792be2e1006945ee06df0c1a2650fc70d4257b768ca4d144a79775892 +DIST NVIDIA-Linux-x86_64-340.58.run 69851185 SHA256 70cc452161b969d659225a3a7d4cc17d5827f8f8ce6eb053757f30f6a666a643 SHA512 c88a83d7a5493b8069d2cac24363c7ca2e87ea9ca617cf9ffb0277c52dc39624019479b61e218f7d7a033c58b685131582e38a02e5a529c96126225f5b8cf8db WHIRLPOOL 9bc7f8c6c4a4be0b7b1f10a3de02ad0a3c1039522df5e3703ba180988ad4cab007801b1858c274f41edc87d7851db6eb54f2f4599cc91ae9e2cf11b5ac0d8fb4 diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-340.58.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-340.58.ebuild new file mode 100644 index 00000000..559555b4 --- /dev/null +++ b/x11-drivers/nvidia-userspace/nvidia-userspace-340.58.ebuild @@ -0,0 +1,353 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +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 X11 userspace libraries and applications" +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-r1" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X uvm" +RESTRICT="bindist mirror strip" +EMULTILIB_PKG="true" + +COMMON="app-admin/eselect-opencl + kernel_linux? ( >=sys-libs/glibc-2.6.1 ) + x-multilib? ( + || ( + ( + x11-libs/libX11[abi_x86_32] + x11-libs/libXext[abi_x86_32] + ) + app-emulation/emul-linux-x86-xlibs + ) + ) + multilib? ( app-emulation/emul-linux-x86-baselibs ) + X? ( + >=app-admin/eselect-opengl-1.0.9 + )" +DEPEND="${COMMON}" +# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver +# because it would cause pkg_postrm to set the wrong opengl implementation +RDEPEND="${COMMON} + X? ( x11-libs/libXvMC ) + acpi? ( sys-power/acpid ) + tools? ( media-video/nvidia-settings )" +PDEPEND="X? ( + <x11-base/xorg-server-1.16.99 + >=x11-libs/libvdpau-0.3-r1 + )" + +REQUIRED_USE="tools? ( X )" +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 +} + +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 + + # 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 + + # Allow user patches so they can support RC kernels and whatever else + epatch_user +} + +src_compile() { :; } + +# 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 its 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 + # 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)" + doexe "${FILESDIR}"/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 + 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" + else + # Docs + newdoc "${NV_DOC}/README.txt" README + dodoc "${NV_DOC}/NVIDIA_Changelog" + doman "${NV_MAN}/nvidia-smi.1.gz" + doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz" + use X && doman "${NV_MAN}/nvidia-xconfig.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 + fi + + exeinto /usr/bin/ + doexe ${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" + + 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 + # The GLX libraries + donvidia ${libdir}/libEGL.so ${NV_SOVER} ${GL_ROOT} + donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT} + donvidia ${libdir}/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT} + donvidia ${libdir}/libnvidia-eglcore.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-glsi.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-ifr.so ${NV_SOVER} + if use kernel_FreeBSD; then + donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER} + else + donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER} + fi + + # VDPAU + donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER} + + # GLES v2 libraries + 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 + + # NVIDIA monitoring library + if use kernel_linux ; then + donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER} + fi + + # CUDA & OpenCL + if use kernel_linux; then + donvidia ${libdir}/libcuda.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER} + donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT} + donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER} + fi +} + +pkg_preinst() { + # 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 + + local videogroup="$(egetent group video | cut -d ':' -f 3)" + if [ -n "${videogroup}" ]; then + sed -i -e "s:PACKAGE:${PF}:g" \ + -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf + else + eerror "Failed to determine the video group gid." + die "Failed to determine the video group gid." + fi +} + +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 +} + +pkg_prerm() { + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 +} + +pkg_postrm() { + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 +} |