[x11-drivers/nvidia-*] bump to 304.132 and include nvidia-settings

This commit is contained in:
Ettore Di Giacinto
2016-11-07 11:55:25 +01:00
parent 0c16e23158
commit 7ffdffa70d
5 changed files with 675 additions and 2 deletions
+4
View File
@@ -1,4 +1,5 @@
DIST NVIDIA-FreeBSD-x86-304.131.tar.gz 34782985 SHA256 d9d350de797d0db58ed82d73569766d8e914b0410f0f9fc78aac098fdcd31027 SHA512 45581bee7f9172ff3c45fd40a27ddc39b2fb32772706b769414c69f86b03eaed3fd9567e7e455cf2b3d330f6f981fe3c439f20f5be77b3116530f43daf4d17a2 WHIRLPOOL 50179ab5dfa900ae97aee0e9217ea78d2f60cb30d5f05fd9a21f384ee9376d1fefdf84aa5bdd997c2ea99188e7a22ce10dff1ae484f7b47954e0afb90b0c4f14
DIST NVIDIA-FreeBSD-x86-304.132.tar.gz 34782140 SHA256 c411d1d290a8ed0cf379c8e18fcdc0934905d0762a52a3e2e330cbff6e8ef250 SHA512 fc23e02ca8c72b0cfadbfb9f08e26fa1ed6b2dcfc660b40eede718a44134dc7e75163c79319471c60ed7e7316405966ba132926f115c7241706936eb7cc6b685 WHIRLPOOL f23076cb78a79d8b38eeb081fc83a2fad163cad9d80f59d83e67d528ab7ecc3265809e032eb3e8a34533c825d420bc734149a29d21e1ebbe1f1787bfb923f5de
DIST NVIDIA-FreeBSD-x86-340.96.tar.gz 59678354 SHA256 dda243ed9b36e29162b1c97b987b9ca82ef7fcff4635ac78443fdb06739ec22e SHA512 dacd14a41c16bff9d26a00084c96af3fb9472fdb00832ca36f4737fb8c741e1eb89f1d6d015c3dee051482aef23631fecbad645e17014e53ee51644d4aa4b51f WHIRLPOOL d55d10682a086b6dcfb72e67f028731afd1f4a5ee2d96d6288f1a0c8eead51927b7454fff793d0b4c57d273fd5b00a9207004b14b4e6f66ab8f106ab5c68518c
DIST NVIDIA-FreeBSD-x86-340.98.tar.gz 59690529 SHA256 eaf7b3ff2daaca269638c912044bf6129fb6e274674466d274f6ecb4b84a80f2 SHA512 7e8cedf27417c63913f5a3cb77da590bfad23780d9123bff0ce4528302f1b328d3a0eac121e49b83b05ff0a8e4f09f40dc8268f4b6da7fff493e41edbef0407c WHIRLPOOL 96b0e43694db20c1bf2c0c1614b13807a106ceece42a23410939ac108d29054780194bbc8d68865e25863e7cb19ccbd2321694fc739c25998817bfb04775bd3b
DIST NVIDIA-FreeBSD-x86-361.45.11.tar.gz 64946814 SHA256 cd6452c3eae43d27de768e2c74672de8d56c1a0f522aa9f67e75e6a4c3741008 SHA512 5b095dec23b5c58ae0b74172f56f39ac35065fefd627c91f82508623205ff4d2e5dab08f4ef1a086f4821950e6108b0cffc3ce50d310d1b2f524178fb8866967 WHIRLPOOL b18fc830dcd705e0b53741e592690deb9cee3e3bd3b6af354dfbf150d910d87c84d48060dfeae8fcba64cab8e51971fed87c0fd5a1526a66f8eb6ccefa26e2e3
@@ -6,6 +7,7 @@ DIST NVIDIA-FreeBSD-x86-364.19.tar.gz 65807198 SHA256 5096640e9ad8a774fa76d0b64d
DIST NVIDIA-FreeBSD-x86-367.27.tar.gz 62605521 SHA256 906038b40f46b2a5c8915b57aaeb0432eb4e60f6d156845e6e2afd49ec9d78b8 SHA512 166bd578b5536772e81f05f411e1bbdd2d9cd81f7210e96a388eff758bd1bb714fbf5dc2f3e4204e08e7555558e74901d6ad96607ee9c7b32ca4fe0b0cf373b5 WHIRLPOOL a31e9fe0e5817f1232a2dba8719110e9404f9b2feee4e0d6fe49ec50b63fd24852863670f0c36de357c9ed357738c30d1951e8fb1e6f40b5b2f8a1e2c7a8dc84
DIST NVIDIA-FreeBSD-x86-370.28.tar.gz 58718517 SHA256 52193b15b4ca822b029f860eed4d00270c925f5d24f7bb511a5b7bbea696d58c SHA512 83ffb19069cc240f8836d808a5eb02c142e7ad923fc2e3049a3b316acc12df070d42dfdc5a8a8e1411ccc9fba0bfa4ed84f457435e985434cd86ae966a63a3f4 WHIRLPOOL b1bec4d5e34ea39c3b1b44adcf85b7392cef39517979d32bc800e48a79a57cfb5f1ca5ff82bc302aa67ed12094782e09ab146f021a9c04e18430034a5ab341a9
DIST NVIDIA-FreeBSD-x86_64-304.131.tar.gz 35812363 SHA256 e10aa34f4aeb6981c0bc6762f37e6ad57de52b45c7322d0caef9781c1a43858a SHA512 0df69d11c79cfd66f40f5adf091f9c3ad494b89fbe9200a1a01fef8cb2d2591ffdeb703d82a263e050384d39ef81af3a717ac24716f96b1fd8386d1758bcf45b WHIRLPOOL a7e01ac4646d52229efb1d22df9b4db98bfd6bc30c79fc4c65273001b1cd09c4db823a0141a060f8c53926ae23a33fe66e27aec805879228d64bf3f45aa66bcd
DIST NVIDIA-FreeBSD-x86_64-304.132.tar.gz 35810728 SHA256 baedb1901f679b1d2449c49302f3abdb90ac9a85935e3ff3b0968a32089b719c SHA512 4ee6c66efc3b77d7421904ab04c621ed7374d657d0406988a3a1c4b352c092f42ed6394951247d58cbfb54b07e67ed7d02040d6eff136ab57749db813167904c WHIRLPOOL b9f5ef7d63847f76212dfc3d0dba738cb9ea9f42881becaf9c41de31858c95b4c90911eed296c5c266a4cff7dba33f09dbdbdf9e6e731e9b3f13dce7e4346d33
DIST NVIDIA-FreeBSD-x86_64-340.96.tar.gz 60536275 SHA256 b67962a4433dd1fa86cde038bb244a547f5ed6c242febc348d618886b7715d09 SHA512 1e33f062d4414011406466c1c91c70e8280ee27542bfe2e2037be82cb1186ece661be5c53ac7160f6d912ee0e02411145c9a6d06861d89d5c5abdd493032cfa5 WHIRLPOOL 63e0d843f5c3de210c9f880efada84dc08456b64e0e746a037272ec2988ce00b09f9033cedca45279aa79b80e2edef1b81dc261415e6fdf0701c62409b50e7f5
DIST NVIDIA-FreeBSD-x86_64-340.98.tar.gz 60539385 SHA256 c2b8c7681c214de4c29fb1d8b9a5a9d17e371350dfa14dd583bc3072fb692f61 SHA512 389b1682344262b6c44e33176c712f0c0c02abef4dc0d44d923add5aee105728639c7479a3e0800687fc876e7f8184216b5518ea24e9e2b969b26ce8c9533bd8 WHIRLPOOL 20815ace25c4ba38b0bfe5ad2231e8b649135667c7d3800027d0ffdcca279dcdb093088219a2e458a2779556c8e0883af074a9e02c0239bfe2c40fa06e65ddcd
DIST NVIDIA-FreeBSD-x86_64-361.45.11.tar.gz 61732026 SHA256 777998f128e599b5d96fff6b40204cbc0adf79610e18ef63f753f3b1ccee326e SHA512 bbf8255aec4dc716d41671cc3e5f503c897b9faa6851cef9c571497e58dbbbc26e07e4361019d387cc7bec3d75010cdfd562f87baa64ba5689c48d42fe0cd4e8 WHIRLPOOL 030c6122c2c4746814719f9fa9d2691c55d98c2b775764a763ee6be1c774a658cca09e7cfe7ff2d846cd957e965dbe0968cb75758e916e2ae205d5afe4b50205
@@ -13,6 +15,7 @@ DIST NVIDIA-FreeBSD-x86_64-364.19.tar.gz 62553892 SHA256 3b691c259b2a85da49d16ce
DIST NVIDIA-FreeBSD-x86_64-367.27.tar.gz 59357230 SHA256 dea9bf156229b9353e033fa3cf02685c14e539d959d7c2759f233ad1f707f2d2 SHA512 3eb129723317d277c0788b966709369c382035e287e4e14000fae09b98bc12359e5218205a86abcb08894978343f3185986d643df3ceeb81b35ba475bb16b99f WHIRLPOOL a33ae3d01d953b090e169e651ff9cc478d91ea21753cbd4c806dc08898edbd078d191d91ae1f7d46dea8ba931bc63f722bb88e728e31cf98a7681c1d806bd1a5
DIST NVIDIA-FreeBSD-x86_64-370.28.tar.gz 57905860 SHA256 5087a93af8aaab6cff35ba60c9d67b4249827f6b7681abaaa571a20784a54552 SHA512 40637d64a0ee5029bb1c5ad7a590c5be61253ef6283c4217666768ad8601d7f51ef0d8705c8711f65c3d0a5a5721490813220c5f9186c6d2d12baf5d9c11122e WHIRLPOOL 361648788b7efb9e550b3e67d2e6022e31dab29f5660c42a1b6c961fe4638216fb8785814ee9fa1636fc39c39afce7caffbdc24fcf8bbd14e4eec5b5eeaeb1eb
DIST NVIDIA-Linux-x86-304.131.run 40893199 SHA256 d2554bb6f7867e7762d0ecedcac5bde7de0634e43b952bf466323ea8b4032da8 SHA512 3e67c40648554dc49472081eee88ae982c3b235b3346e4d9e7fb5ae33ec5f10ed088da804ac7d8bd1565995df3861f12b3560030cd3a19339a2d35768b0a943e WHIRLPOOL 88e9cc0270a4fc64ed8475a217c7c8c50e6ea21fe14b5b5beb16f494bd62bf5ada2f47e26e5380dd3d0bc678091e29f0e26937eef1ee3c7bdc5805153201bae3
DIST NVIDIA-Linux-x86-304.132.run 40910791 SHA256 d460f6ab63cc8c1f9fb89a344ad0f3ee1a90e7078b4edba78d86433e66bfd927 SHA512 70a6ed74a93ac2a1acec5eab5078dfe05fab66c6264d67f3238a6b28af7b39f7205e237214bac4ee5d2366e8c6a4a63dfc8dc113e9e977ee2387c5c8c63ccc8f WHIRLPOOL 69b24a57d906b37cc87f081209712f92eb2e7df27a2a030c51a1ef7bda607dd404b57d1fc008ee3d1ad3b81c176da1806e7b591d00a0894f2a0273ebd494e4dd
DIST NVIDIA-Linux-x86-340.96.run 38720587 SHA256 c40e2778cd1ab036a76e1896fe2f77c4aa7baa215dbbdb11a2f4c5f05e1a478e SHA512 c6306a101b7dc6298eb02290fb7792f624b8b16b1449b5d58148617017e8fdb87f1838f99b225103bf6a81c60a3246de9a27eab89608f099273a1c3d1c0003da WHIRLPOOL d772a20a9c7badf695ca3572db3c0b7e5507926297e6f950965294ac30ae2d8f206ba5c4c229087fd7cba88427eb0e41fb3dd1a28c4f2c8c23fa70b27002180c
DIST NVIDIA-Linux-x86-340.98.run 38664575 SHA256 7d18bac3f570d72e3aae9dd2b74f53f9aa7b07bd5b1c2d3d1a9ae2f8104752e0 SHA512 ecb3b7ab216bbcc606cb540a317dfc572dcb7d26ec84f1ff744451ec367ceffc73ae75ebc269aedba1850d3bac0d946b8b2fcc5929d7a3c27aae4fd3032a37e6 WHIRLPOOL a473566a76dace7d35fcc81a51a00ca70f24da9aaac3b1dfbc94c375a77a6be0dea9b7535d7dcbf57191e6ac04276c5e78c0e9decfa6fdbaf5d4f9d8e6a552f5
DIST NVIDIA-Linux-x86-361.45.11.run 48922605 SHA256 eb9a980ae048241a9c3e94b6907d78cbfa5c95fec771f1d5fec7ff04ff3adb0c SHA512 2f1cd2f7d284eb36fdd126ec714d22776aaeead13718ee9a0364a31e4cf1a2c85097eab118b058aef1aa3df0649704a3bd5cdcc8dc3b51d25ee21acb91ebdc49 WHIRLPOOL 786f963c8af4f70f38614b06aec6504877f63b3697ef6fc051d52c685152b904ed4ee7e1244e92b50a3d1f06cb9e6cbdae6fadb272b1f0f25e91980b70cb449f
@@ -20,6 +23,7 @@ DIST NVIDIA-Linux-x86-364.19.run 50074922 SHA256 9f891d4b22c43c9094b59af5c8474e2
DIST NVIDIA-Linux-x86-367.27.run 44740794 SHA256 faa7c0f73c04a6d343a3952d264ec56fdf816cc6bf2a1c1bb95726401e99654b SHA512 54302f0de936a859561b756989ff84f73afe41dfb89ed680ee3df3c46b0de9d57eaf2d07876dea0eb1154fbc1a716d4d3e693cb7eaa7ab325b4bbee569ddb709 WHIRLPOOL b46005fa221f0e9b466168530ff08271c63d72a29ef1dea2831215aebd7b4f8dc2947d1f56f1fe490e4d809ed337f7f9116f0263f187dbb7f3d347378367a552
DIST NVIDIA-Linux-x86-370.28.run 44189522 SHA256 6323254ccf2a75d7ced1374a76ca56778689d0d8a9819e4ee5378ea3347b9835 SHA512 2df8b3d1064073c8b793287994fe0648625d095f3434b7b67531e19632cbad318994df90b55de18aa457d55a1374b35d64a646564259995d3f2197c48737921c WHIRLPOOL 85a089c833311abdc06bbc1fc68cd5ff8ed43dd5e5887d340dc854f905ae741de0ae4343d024259f493dd668075096c460bc1f93c1795d2befb81dd3c4a4983a
DIST NVIDIA-Linux-x86_64-304.131.run 69415084 SHA256 74b7ec1c31dac03ee7c3e04612cadb9cbaa01ef4c796c27a0a649f7d32dccd0b SHA512 ddfa1f23600821dcae17ddb735b615d67504c4e276d9b41813e0f8d7690fbdf48f79644ee4c9e5449ce22a31460734cf325fc83975e0b48a0379a85cd4ef747d WHIRLPOOL fc08c2337a1b80b0444dbc914f7d17441995e4965c435028194050df9f5ec1606cdfb5bf11e56f79a736e04cf0755b296017fe79629c5ded18a72093b8689bce
DIST NVIDIA-Linux-x86_64-304.132.run 69426739 SHA256 69aed9ede0a6a8c645e20b9825adeafbb985056af48b68a7ff7ea4b76a7ffde4 SHA512 f71c9a5020de48fe166176bf6420a0d85b525ecf70ac1c819fd9f846af0f6d048399bda6059a36eed11561fcb10387a7d00132fa91839d618278cee2f3ad0dbf WHIRLPOOL 6b4e567f8a97ac251f9a71be11615eb405d238b8a9514cbd646f8a693d7f08f37179aa9ca93f3d6cfca5e6b53a936ec90f61717fa39db1d0708bb0880a450d1c
DIST NVIDIA-Linux-x86_64-340.96.run 69824601 SHA256 a7553a5749679994642ef0262906e6431dce354c03052151d9821d29dad7470d SHA512 6ffa4567ef6f5e09bcd50760b87baa2abe6a6ed1fbc280319101cc6582f2a381c36ab3fd1b4d74bcb5748adc3b82881618673ef77e5fe1a74c19a657774bcd87 WHIRLPOOL 823488bf9e338fee314d84c7ad2af6556548b94437c98094ca42911d74f19b5f44ee9809bb112a244016dadfdb372232365a355a4d40eaf685f5e0fa13868b58
DIST NVIDIA-Linux-x86_64-340.98.run 69984344 SHA256 c800991c80fc844c9a80466edb7ae854b4e67314515988c4d016e15d1d0a3f67 SHA512 969595e1fb2c729f3fde45411d650bb437c221b5102341bd138f5be0e2a90e87d9ad534820ea168f1af5f981af5d1e8cf564a62db495580c054f0f80b0cc5c8a WHIRLPOOL 23f9672a2bf47284294538a6d25758031d9ad0e5af7791a56b8c2add9cc00982ca5b76859c710c6f56a7dfb39b2f3d2b35c77e0e95c70587f7fd01e712b6ab68
DIST NVIDIA-Linux-x86_64-361.45.11.run 86205078 SHA256 61d84f683027dc3bc1addd3235f8e988ffdeae1d13e9a05f144b322e9bbf16a7 SHA512 45f72a4e6a1abd3ec1c25f5b6947e55a9aba7f0d0618eab7252020d945f5adc5bff6b65459acea99f0ebd9f9bba926f847456ff2aa9f38c30cb58df94e3535cf WHIRLPOOL 66b6dd40246bdbc1f708f2ff09c628e4fe7c1bacbe1a6a9dca931dc73c86e8a82091e7db64e5f336427dbd5e4ac47c9079e2501c39f6a5b543fa53d1826badef
@@ -0,0 +1,193 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
portability toolchain-funcs unpacker user versionator
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 GPUs kernel drivers"
HOMEPAGE="http://www.nvidia.com/"
SRC_URI="x86? ( http://us.download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
amd64-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
x86-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
LICENSE="NVIDIA"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="acpi custom-cflags multilib kernel_FreeBSD kernel_linux pax_kernel tools X"
RESTRICT="strip"
DEPEND="
kernel_linux? (
virtual/linux-sources
virtual/pkgconfig
)"
RDEPEND="~x11-drivers/nvidia-userspace-${PV}
multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] )
~x11-drivers/nvidia-userspace-${PV}[tools=]
~x11-drivers/nvidia-userspace-${PV}[X=]"
PDEPEND=""
S="${WORKDIR}/"
mtrr_check() {
ebegin "Checking for MTRR support"
linux_chkconfig_present MTRR
eend $?
if [[ $? -ne 0 ]] ; then
eerror "Please enable MTRR support in your kernel config, found at:"
eerror
eerror " Processor type and features"
eerror " [*] MTRR (Memory Type Range Register) support"
eerror
eerror "and recompile your kernel ..."
die "MTRR support not detected!"
fi
}
lockdep_check() {
# 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
linux-mod_pkg_setup
MODULE_NAMES="nvidia(video:${S}/kernel)"
BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
# 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
# Since Nvidia ships 3 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
# 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_SRC="${S}/src"
NV_SOVER=1
elif use kernel_linux; then
NV_SRC="${S}/kernel"
NV_SOVER=${PV}
else
die "Could not determine proper NVIDIA package"
fi
}
src_unpack() {
if ! use kernel_FreeBSD; then
cd "${S}"
unpack_makeself
else
unpack ${A}
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}"/nvidia-drivers-pax-const.patch
epatch "${FILESDIR}"/nvidia-drivers-pax-usercopy.patch
fi
cat <<- EOF > "${S}"/nvidia.icd
/usr/$(get_libdir)/libnvidia-opencl.so
EOF
# Linux 4.6 support
epatch "${FILESDIR}/${PN}-304-4.6.patch"
# 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
linux-mod_src_compile
fi
}
src_install() {
if use kernel_linux; then
linux-mod_src_install
elif use kernel_FreeBSD; then
if use x86-fbsd; then
insinto /boot/modules
doins "${S}/src/nvidia.kld" || die
fi
exeinto /boot/modules
doexe "${S}/src/nvidia.ko" || die
fi
is_final_abi || die "failed to iterate through all ABIs"
}
pkg_preinst() {
use kernel_linux && linux-mod_pkg_preinst
}
pkg_postinst() {
use kernel_linux && linux-mod_pkg_postinst
echo
elog "You must be in the video group to use the NVIDIA device"
elog "For more info, read the docs at"
elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
elog
elog "This package installs a kernel module and X driver. Both must"
elog "match explicitly in their version. This means, if you restart"
elog "X, you must modprobe -r nvidia before starting it back up"
elog
}
pkg_postrm() {
use kernel_linux && linux-mod_pkg_postrm
}
+5
View File
@@ -1,4 +1,5 @@
DIST NVIDIA-FreeBSD-x86-304.131.tar.gz 34782985 SHA256 d9d350de797d0db58ed82d73569766d8e914b0410f0f9fc78aac098fdcd31027 SHA512 45581bee7f9172ff3c45fd40a27ddc39b2fb32772706b769414c69f86b03eaed3fd9567e7e455cf2b3d330f6f981fe3c439f20f5be77b3116530f43daf4d17a2 WHIRLPOOL 50179ab5dfa900ae97aee0e9217ea78d2f60cb30d5f05fd9a21f384ee9376d1fefdf84aa5bdd997c2ea99188e7a22ce10dff1ae484f7b47954e0afb90b0c4f14
DIST NVIDIA-FreeBSD-x86-304.132.tar.gz 34782140 SHA256 c411d1d290a8ed0cf379c8e18fcdc0934905d0762a52a3e2e330cbff6e8ef250 SHA512 fc23e02ca8c72b0cfadbfb9f08e26fa1ed6b2dcfc660b40eede718a44134dc7e75163c79319471c60ed7e7316405966ba132926f115c7241706936eb7cc6b685 WHIRLPOOL f23076cb78a79d8b38eeb081fc83a2fad163cad9d80f59d83e67d528ab7ecc3265809e032eb3e8a34533c825d420bc734149a29d21e1ebbe1f1787bfb923f5de
DIST NVIDIA-FreeBSD-x86-340.96.tar.gz 59678354 SHA256 dda243ed9b36e29162b1c97b987b9ca82ef7fcff4635ac78443fdb06739ec22e SHA512 dacd14a41c16bff9d26a00084c96af3fb9472fdb00832ca36f4737fb8c741e1eb89f1d6d015c3dee051482aef23631fecbad645e17014e53ee51644d4aa4b51f WHIRLPOOL d55d10682a086b6dcfb72e67f028731afd1f4a5ee2d96d6288f1a0c8eead51927b7454fff793d0b4c57d273fd5b00a9207004b14b4e6f66ab8f106ab5c68518c
DIST NVIDIA-FreeBSD-x86-340.98.tar.gz 59690529 SHA256 eaf7b3ff2daaca269638c912044bf6129fb6e274674466d274f6ecb4b84a80f2 SHA512 7e8cedf27417c63913f5a3cb77da590bfad23780d9123bff0ce4528302f1b328d3a0eac121e49b83b05ff0a8e4f09f40dc8268f4b6da7fff493e41edbef0407c WHIRLPOOL 96b0e43694db20c1bf2c0c1614b13807a106ceece42a23410939ac108d29054780194bbc8d68865e25863e7cb19ccbd2321694fc739c25998817bfb04775bd3b
DIST NVIDIA-FreeBSD-x86-361.45.11.tar.gz 64946814 SHA256 cd6452c3eae43d27de768e2c74672de8d56c1a0f522aa9f67e75e6a4c3741008 SHA512 5b095dec23b5c58ae0b74172f56f39ac35065fefd627c91f82508623205ff4d2e5dab08f4ef1a086f4821950e6108b0cffc3ce50d310d1b2f524178fb8866967 WHIRLPOOL b18fc830dcd705e0b53741e592690deb9cee3e3bd3b6af354dfbf150d910d87c84d48060dfeae8fcba64cab8e51971fed87c0fd5a1526a66f8eb6ccefa26e2e3
@@ -6,6 +7,7 @@ DIST NVIDIA-FreeBSD-x86-364.19.tar.gz 65807198 SHA256 5096640e9ad8a774fa76d0b64d
DIST NVIDIA-FreeBSD-x86-367.27.tar.gz 62605521 SHA256 906038b40f46b2a5c8915b57aaeb0432eb4e60f6d156845e6e2afd49ec9d78b8 SHA512 166bd578b5536772e81f05f411e1bbdd2d9cd81f7210e96a388eff758bd1bb714fbf5dc2f3e4204e08e7555558e74901d6ad96607ee9c7b32ca4fe0b0cf373b5 WHIRLPOOL a31e9fe0e5817f1232a2dba8719110e9404f9b2feee4e0d6fe49ec50b63fd24852863670f0c36de357c9ed357738c30d1951e8fb1e6f40b5b2f8a1e2c7a8dc84
DIST NVIDIA-FreeBSD-x86-370.28.tar.gz 58718517 SHA256 52193b15b4ca822b029f860eed4d00270c925f5d24f7bb511a5b7bbea696d58c SHA512 83ffb19069cc240f8836d808a5eb02c142e7ad923fc2e3049a3b316acc12df070d42dfdc5a8a8e1411ccc9fba0bfa4ed84f457435e985434cd86ae966a63a3f4 WHIRLPOOL b1bec4d5e34ea39c3b1b44adcf85b7392cef39517979d32bc800e48a79a57cfb5f1ca5ff82bc302aa67ed12094782e09ab146f021a9c04e18430034a5ab341a9
DIST NVIDIA-FreeBSD-x86_64-304.131.tar.gz 35812363 SHA256 e10aa34f4aeb6981c0bc6762f37e6ad57de52b45c7322d0caef9781c1a43858a SHA512 0df69d11c79cfd66f40f5adf091f9c3ad494b89fbe9200a1a01fef8cb2d2591ffdeb703d82a263e050384d39ef81af3a717ac24716f96b1fd8386d1758bcf45b WHIRLPOOL a7e01ac4646d52229efb1d22df9b4db98bfd6bc30c79fc4c65273001b1cd09c4db823a0141a060f8c53926ae23a33fe66e27aec805879228d64bf3f45aa66bcd
DIST NVIDIA-FreeBSD-x86_64-304.132.tar.gz 35810728 SHA256 baedb1901f679b1d2449c49302f3abdb90ac9a85935e3ff3b0968a32089b719c SHA512 4ee6c66efc3b77d7421904ab04c621ed7374d657d0406988a3a1c4b352c092f42ed6394951247d58cbfb54b07e67ed7d02040d6eff136ab57749db813167904c WHIRLPOOL b9f5ef7d63847f76212dfc3d0dba738cb9ea9f42881becaf9c41de31858c95b4c90911eed296c5c266a4cff7dba33f09dbdbdf9e6e731e9b3f13dce7e4346d33
DIST NVIDIA-FreeBSD-x86_64-340.96.tar.gz 60536275 SHA256 b67962a4433dd1fa86cde038bb244a547f5ed6c242febc348d618886b7715d09 SHA512 1e33f062d4414011406466c1c91c70e8280ee27542bfe2e2037be82cb1186ece661be5c53ac7160f6d912ee0e02411145c9a6d06861d89d5c5abdd493032cfa5 WHIRLPOOL 63e0d843f5c3de210c9f880efada84dc08456b64e0e746a037272ec2988ce00b09f9033cedca45279aa79b80e2edef1b81dc261415e6fdf0701c62409b50e7f5
DIST NVIDIA-FreeBSD-x86_64-340.98.tar.gz 60539385 SHA256 c2b8c7681c214de4c29fb1d8b9a5a9d17e371350dfa14dd583bc3072fb692f61 SHA512 389b1682344262b6c44e33176c712f0c0c02abef4dc0d44d923add5aee105728639c7479a3e0800687fc876e7f8184216b5518ea24e9e2b969b26ce8c9533bd8 WHIRLPOOL 20815ace25c4ba38b0bfe5ad2231e8b649135667c7d3800027d0ffdcca279dcdb093088219a2e458a2779556c8e0883af074a9e02c0239bfe2c40fa06e65ddcd
DIST NVIDIA-FreeBSD-x86_64-361.45.11.tar.gz 61732026 SHA256 777998f128e599b5d96fff6b40204cbc0adf79610e18ef63f753f3b1ccee326e SHA512 bbf8255aec4dc716d41671cc3e5f503c897b9faa6851cef9c571497e58dbbbc26e07e4361019d387cc7bec3d75010cdfd562f87baa64ba5689c48d42fe0cd4e8 WHIRLPOOL 030c6122c2c4746814719f9fa9d2691c55d98c2b775764a763ee6be1c774a658cca09e7cfe7ff2d846cd957e965dbe0968cb75758e916e2ae205d5afe4b50205
@@ -13,6 +15,7 @@ DIST NVIDIA-FreeBSD-x86_64-364.19.tar.gz 62553892 SHA256 3b691c259b2a85da49d16ce
DIST NVIDIA-FreeBSD-x86_64-367.27.tar.gz 59357230 SHA256 dea9bf156229b9353e033fa3cf02685c14e539d959d7c2759f233ad1f707f2d2 SHA512 3eb129723317d277c0788b966709369c382035e287e4e14000fae09b98bc12359e5218205a86abcb08894978343f3185986d643df3ceeb81b35ba475bb16b99f WHIRLPOOL a33ae3d01d953b090e169e651ff9cc478d91ea21753cbd4c806dc08898edbd078d191d91ae1f7d46dea8ba931bc63f722bb88e728e31cf98a7681c1d806bd1a5
DIST NVIDIA-FreeBSD-x86_64-370.28.tar.gz 57905860 SHA256 5087a93af8aaab6cff35ba60c9d67b4249827f6b7681abaaa571a20784a54552 SHA512 40637d64a0ee5029bb1c5ad7a590c5be61253ef6283c4217666768ad8601d7f51ef0d8705c8711f65c3d0a5a5721490813220c5f9186c6d2d12baf5d9c11122e WHIRLPOOL 361648788b7efb9e550b3e67d2e6022e31dab29f5660c42a1b6c961fe4638216fb8785814ee9fa1636fc39c39afce7caffbdc24fcf8bbd14e4eec5b5eeaeb1eb
DIST NVIDIA-Linux-x86-304.131.run 40893199 SHA256 d2554bb6f7867e7762d0ecedcac5bde7de0634e43b952bf466323ea8b4032da8 SHA512 3e67c40648554dc49472081eee88ae982c3b235b3346e4d9e7fb5ae33ec5f10ed088da804ac7d8bd1565995df3861f12b3560030cd3a19339a2d35768b0a943e WHIRLPOOL 88e9cc0270a4fc64ed8475a217c7c8c50e6ea21fe14b5b5beb16f494bd62bf5ada2f47e26e5380dd3d0bc678091e29f0e26937eef1ee3c7bdc5805153201bae3
DIST NVIDIA-Linux-x86-304.132.run 40910791 SHA256 d460f6ab63cc8c1f9fb89a344ad0f3ee1a90e7078b4edba78d86433e66bfd927 SHA512 70a6ed74a93ac2a1acec5eab5078dfe05fab66c6264d67f3238a6b28af7b39f7205e237214bac4ee5d2366e8c6a4a63dfc8dc113e9e977ee2387c5c8c63ccc8f WHIRLPOOL 69b24a57d906b37cc87f081209712f92eb2e7df27a2a030c51a1ef7bda607dd404b57d1fc008ee3d1ad3b81c176da1806e7b591d00a0894f2a0273ebd494e4dd
DIST NVIDIA-Linux-x86-340.96.run 38720587 SHA256 c40e2778cd1ab036a76e1896fe2f77c4aa7baa215dbbdb11a2f4c5f05e1a478e SHA512 c6306a101b7dc6298eb02290fb7792f624b8b16b1449b5d58148617017e8fdb87f1838f99b225103bf6a81c60a3246de9a27eab89608f099273a1c3d1c0003da WHIRLPOOL d772a20a9c7badf695ca3572db3c0b7e5507926297e6f950965294ac30ae2d8f206ba5c4c229087fd7cba88427eb0e41fb3dd1a28c4f2c8c23fa70b27002180c
DIST NVIDIA-Linux-x86-340.98.run 38664575 SHA256 7d18bac3f570d72e3aae9dd2b74f53f9aa7b07bd5b1c2d3d1a9ae2f8104752e0 SHA512 ecb3b7ab216bbcc606cb540a317dfc572dcb7d26ec84f1ff744451ec367ceffc73ae75ebc269aedba1850d3bac0d946b8b2fcc5929d7a3c27aae4fd3032a37e6 WHIRLPOOL a473566a76dace7d35fcc81a51a00ca70f24da9aaac3b1dfbc94c375a77a6be0dea9b7535d7dcbf57191e6ac04276c5e78c0e9decfa6fdbaf5d4f9d8e6a552f5
DIST NVIDIA-Linux-x86-361.45.11.run 48922605 SHA256 eb9a980ae048241a9c3e94b6907d78cbfa5c95fec771f1d5fec7ff04ff3adb0c SHA512 2f1cd2f7d284eb36fdd126ec714d22776aaeead13718ee9a0364a31e4cf1a2c85097eab118b058aef1aa3df0649704a3bd5cdcc8dc3b51d25ee21acb91ebdc49 WHIRLPOOL 786f963c8af4f70f38614b06aec6504877f63b3697ef6fc051d52c685152b904ed4ee7e1244e92b50a3d1f06cb9e6cbdae6fadb272b1f0f25e91980b70cb449f
@@ -20,12 +23,14 @@ DIST NVIDIA-Linux-x86-364.19.run 50074922 SHA256 9f891d4b22c43c9094b59af5c8474e2
DIST NVIDIA-Linux-x86-367.27.run 44740794 SHA256 faa7c0f73c04a6d343a3952d264ec56fdf816cc6bf2a1c1bb95726401e99654b SHA512 54302f0de936a859561b756989ff84f73afe41dfb89ed680ee3df3c46b0de9d57eaf2d07876dea0eb1154fbc1a716d4d3e693cb7eaa7ab325b4bbee569ddb709 WHIRLPOOL b46005fa221f0e9b466168530ff08271c63d72a29ef1dea2831215aebd7b4f8dc2947d1f56f1fe490e4d809ed337f7f9116f0263f187dbb7f3d347378367a552
DIST NVIDIA-Linux-x86-370.28.run 44189522 SHA256 6323254ccf2a75d7ced1374a76ca56778689d0d8a9819e4ee5378ea3347b9835 SHA512 2df8b3d1064073c8b793287994fe0648625d095f3434b7b67531e19632cbad318994df90b55de18aa457d55a1374b35d64a646564259995d3f2197c48737921c WHIRLPOOL 85a089c833311abdc06bbc1fc68cd5ff8ed43dd5e5887d340dc854f905ae741de0ae4343d024259f493dd668075096c460bc1f93c1795d2befb81dd3c4a4983a
DIST NVIDIA-Linux-x86_64-304.131.run 69415084 SHA256 74b7ec1c31dac03ee7c3e04612cadb9cbaa01ef4c796c27a0a649f7d32dccd0b SHA512 ddfa1f23600821dcae17ddb735b615d67504c4e276d9b41813e0f8d7690fbdf48f79644ee4c9e5449ce22a31460734cf325fc83975e0b48a0379a85cd4ef747d WHIRLPOOL fc08c2337a1b80b0444dbc914f7d17441995e4965c435028194050df9f5ec1606cdfb5bf11e56f79a736e04cf0755b296017fe79629c5ded18a72093b8689bce
DIST NVIDIA-Linux-x86_64-304.132.run 69426739 SHA256 69aed9ede0a6a8c645e20b9825adeafbb985056af48b68a7ff7ea4b76a7ffde4 SHA512 f71c9a5020de48fe166176bf6420a0d85b525ecf70ac1c819fd9f846af0f6d048399bda6059a36eed11561fcb10387a7d00132fa91839d618278cee2f3ad0dbf WHIRLPOOL 6b4e567f8a97ac251f9a71be11615eb405d238b8a9514cbd646f8a693d7f08f37179aa9ca93f3d6cfca5e6b53a936ec90f61717fa39db1d0708bb0880a450d1c
DIST NVIDIA-Linux-x86_64-340.96.run 69824601 SHA256 a7553a5749679994642ef0262906e6431dce354c03052151d9821d29dad7470d SHA512 6ffa4567ef6f5e09bcd50760b87baa2abe6a6ed1fbc280319101cc6582f2a381c36ab3fd1b4d74bcb5748adc3b82881618673ef77e5fe1a74c19a657774bcd87 WHIRLPOOL 823488bf9e338fee314d84c7ad2af6556548b94437c98094ca42911d74f19b5f44ee9809bb112a244016dadfdb372232365a355a4d40eaf685f5e0fa13868b58
DIST NVIDIA-Linux-x86_64-340.98.run 69984344 SHA256 c800991c80fc844c9a80466edb7ae854b4e67314515988c4d016e15d1d0a3f67 SHA512 969595e1fb2c729f3fde45411d650bb437c221b5102341bd138f5be0e2a90e87d9ad534820ea168f1af5f981af5d1e8cf564a62db495580c054f0f80b0cc5c8a WHIRLPOOL 23f9672a2bf47284294538a6d25758031d9ad0e5af7791a56b8c2add9cc00982ca5b76859c710c6f56a7dfb39b2f3d2b35c77e0e95c70587f7fd01e712b6ab68
DIST NVIDIA-Linux-x86_64-361.45.11.run 86205078 SHA256 61d84f683027dc3bc1addd3235f8e988ffdeae1d13e9a05f144b322e9bbf16a7 SHA512 45f72a4e6a1abd3ec1c25f5b6947e55a9aba7f0d0618eab7252020d945f5adc5bff6b65459acea99f0ebd9f9bba926f847456ff2aa9f38c30cb58df94e3535cf WHIRLPOOL 66b6dd40246bdbc1f708f2ff09c628e4fe7c1bacbe1a6a9dca931dc73c86e8a82091e7db64e5f336427dbd5e4ac47c9079e2501c39f6a5b543fa53d1826badef
DIST NVIDIA-Linux-x86_64-364.19.run 87961023 SHA256 7b8680a815ac74d5b3a7e3d38113b05ed1e2ce781575e966c27f68457aaf694e SHA512 c02fea3eb0404e9f17eb6fdef43008c09653239b884fc599d3639f50a36b8d2708539c429e4b3be96d509c83ce5416145add7f152a3f08cada555617e9fcf1fc WHIRLPOOL 40c19fb5bfbc3a6b2c631e7768a04af9b250b4e8845adbf40b6408e2e7c6bb5b2b3142760387995c83450490e26591029d44aa8a6ee7a7b39a50128c7e4211af
DIST NVIDIA-Linux-x86_64-367.27.run 76945324 SHA256 7b84583f8ed90b2b97ed4f9bbafac2b054da285fb94b37cfaadc5741cb442571 SHA512 d1aac4eb2e805054463cb974e4a4acf96a0404bf75de37188ccd0bd5a88916d003941b70f695216dee543b12779a38787c9675bbe03803ae15d6a48d1013ee28 WHIRLPOOL 8b71552e91eb37f1a3f6c0a11987471ef366fa97b4c580535ed35c8b650d3cb58ada09c5d1b4cdf803c5bdc3720df2f69c9e44153088861f2c78b55836559b7d
DIST NVIDIA-Linux-x86_64-370.28.run 76690360 SHA256 90aa3c186e45b39e6fc0064ab8dbda8bcc897cb61d2e7b7cb30b4ec9a4b39239 SHA512 931476f92a63d142478b2d6b3da4031769fd3b93aee2387800a78b1354b59a5fb5e4e293436b6b4c246627d51c0f55d140ab230de385cb1567bc8b25518eb741 WHIRLPOOL ce866c38291d2ab4aeeff05654a0e61196129f77baea5af93ddbc22fab9574ba39cc05d58020ea2407cc7342f0bcf5c2702d42290f4cc3b53c9e04fb7c617413
DIST nvidia-settings-304.132.tar.bz2 1480097 SHA256 53b86952ec29b32bdcc838199c3db802a5affd58e348f68ac9f4931ae0e2021f SHA512 512db744830b31ded109047e0c736dd18ae01cdea2b94099d06b7f30a31274fa4fd689b286a1e12768ac618fc4d38be9eb7c0d58b1f0a3e2b67ae4a133cec97d WHIRLPOOL adce5fce462119dfa1569c4b2241f1129ae2659ae8964a9556d730bcda246c7db08b6e6b14ae644df8e3fcc990f84c9585b4ecb9617e26833fb70babd447c606
DIST nvidia-settings-340.98.tar.bz2 1549627 SHA256 6ee6c8d7a86f03696ce0464dccd8a01a4f04b732989ae2658dee3c5b9cff9a0f SHA512 dc1dc39b59d591a2211dded2a6379da63f3678e38fa9f5e9ea7f0bb9368fc00085c50bad817d90f52d29f5247ac93350af0262d06bd32beef259234511e7c251 WHIRLPOOL 4bc4cbd883c86206dd03690f7c41778655b7db731c04f342713b1bd4b93f906fd5598f8c1afee8bb14236998940edd6497dc430add095961ba76735532176d40
DIST nvidia-settings-361.45.11.tar.bz2 1571904 SHA256 f209f277d7164351c5c1310552b90a2b969f033dcccd98b3e40f95e959c7416f SHA512 c0ee694f645559e476a65e12894af3e49ea042f2928244ee5f34c3898ec6018c515ce24f3567a771df6f8056647a992af433896c30ab448d5d6df666d6c40e69 WHIRLPOOL 1d14c3a4ccd89d320b6940e031503c2442a8039a32f9720e3b378019eb5147208b8dbaea6b8e55534bb16917f49e89cd870188c6eba167b9fd30fdcc4ba119b8
DIST nvidia-settings-364.19.tar.bz2 1573005 SHA256 fe8e9cc4d0ade9caaf51109e7e5287d1cbea111e73fae56f6c1b36ff8e55c370 SHA512 5274d908df284bc0ad2f7e6dd62c4052b2d0445e36dc84007bcb7c4e2382a8e9a4439e3507c229e96461031e1f3207911e659ddc73eea847052fa98b677f82c0 WHIRLPOOL dc93fc3635ff78b0a74d717a825ac630d38779f280c0d611fe43ff69adfda116c2363cb88cac1035d0169038ff4f82e51cd1b741cb5394e8e285cf5fe72ef046
@@ -0,0 +1,438 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
MULTILIB_COMPAT=( abi_x86_{32,64} )
inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
portability toolchain-funcs unpacker user versionator udev
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="x86? ( http://us.download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
amd64-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
x86-fbsd? ( http://us.download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
tools? ( ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2 )"
LICENSE="NVIDIA"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="acpi multilib kernel_FreeBSD kernel_linux +tools +X"
RESTRICT="strip"
EMULTILIB_PKG="true"
COMMON="app-eselect/eselect-opencl
kernel_linux? ( >=sys-libs/glibc-2.6.1 )
tools? (
dev-libs/atk
dev-libs/glib:2
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
x11-libs/libX11
x11-libs/libXext
x11-libs/pango[X]
x11-libs/pangox-compat
)
X? (
>=app-eselect/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 )
X? (
<x11-base/xorg-server-1.18.99:=
x11-libs/libXvMC
multilib? (
>=x11-libs/libX11-1.6.2[abi_x86_32]
>=x11-libs/libXext-1.3.2[abi_x86_32]
)
)"
PDEPEND="X? ( >=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
# 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
linux-mod_pkg_setup
MODULE_NAMES="nvidia(video:${S}/kernel)"
BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
# 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
# Since Nvidia ships 3 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
# 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_unpack() {
if ! use kernel_FreeBSD; then
cd "${S}"
unpack_makeself
else
unpack ${A}
fi
}
src_prepare() {
# Please add a brief description for every added patch
cat <<- EOF > "${S}"/nvidia.icd
/usr/$(get_libdir)/libnvidia-opencl.so
EOF
# 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 tools; then
emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl clean
emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
AR="$(tc-getAR)" \
CC="$(tc-getCC)" \
RANLIB="$(tc-getRANLIB)" \
libXNVCtrl.a
emake -C "${S}"/nvidia-settings-${PV}/src \
AR="$(tc-getAR)" \
CC="$(tc-getCC)" \
LD="$(tc-getCC)" \
LIBDIR="$(get_libdir)" \
NVML_ENABLED=0 \
NV_USE_BUNDLED_LIBJANSSON=0 \
NV_VERBOSE=1 \
RANLIB="$(tc-getRANLIB)" \
STRIP_CMD=true
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 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_postinst, see bug #491414
newins "${FILESDIR}"/nvidia-169.07 nvidia.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" || die
fi
exeinto /boot/modules
doexe "${S}/src/nvidia.ko" || die
fi
# NVIDIA kernel <-> userspace driver config lib
donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
if use kernel_linux; then
# NVIDIA video decode <-> CUDA
donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
fi
if use X; then
# Xorg DDX driver
insinto /usr/$(get_libdir)/xorg/modules/drivers
doins ${NV_X11}/nvidia_drv.so || die "failed to install nvidia_drv.so"
# Xorg GLX driver
donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
/usr/$(get_libdir)/opengl/nvidia/extensions
# XvMC driver
dolib.a ${NV_X11}/libXvMCNVIDIA.a || \
die "failed to install libXvMCNVIDIA.so"
donvidia ${NV_X11}/libXvMCNVIDIA.so ${NV_SOVER}
dosym libXvMCNVIDIA.so.${NV_SOVER} \
/usr/$(get_libdir)/libXvMCNVIDIA_dynamic.so.1 || \
die "failed to create libXvMCNVIDIA_dynamic.so symlink"
fi
# OpenCL ICD for NVIDIA
if use kernel_linux; then
insinto /etc/OpenCL/vendors
doins nvidia.icd
donvidia ${NV_OBJ}/libnvidia-opencl.so ${NV_SOVER}
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-proxy-control.1.gz"
fi
# Helper Apps
exeinto /opt/bin/
if use X; then
doexe ${NV_OBJ}/nvidia-xconfig || die
fi
if use kernel_linux ; then
doexe ${NV_OBJ}/nvidia-debugdump || die
doexe ${NV_OBJ}/nvidia-cuda-proxy-control || die
doexe ${NV_OBJ}/nvidia-cuda-proxy-server || die
doexe ${NV_OBJ}/nvidia-smi || die
newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
fi
dobin ${NV_OBJ}/nvidia-bug-report.sh
# Desktop entries for nvidia-settings
if use tools ; then
emake -C "${S}"/nvidia-settings-${PV}/src/ \
DESTDIR="${D}" \
LIBDIR="${D}/usr/$(get_libdir)" \
PREFIX=/usr \
NV_USE_BUNDLED_LIBJANSSON=0 \
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
# 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
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"
# GNOME3 gnome-terminal redraw bug workaround,
# see: https://bugzilla.gnome.org/show_bug.cgi?id=664858
doenvd "${FILESDIR}/90mutter-disable-culling"
}
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}/libGL.so ${NV_SOVER} ${GL_ROOT}
donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
if use kernel_FreeBSD; then
donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER} ${GL_ROOT}
else
donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER} ${GL_ROOT}
fi
# VDPAU
donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
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}
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="$(getent group video | cut -d ':' -f 3)"
if [ -n "${videogroup}" ]; then
sed -i -e "s:PACKAGE:${PF}:g" \
-e "s:27:${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
elog "You must be in the video group to use the NVIDIA device"
elog "For more info, read the docs at"
elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6"
elog
elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
elog
elog "To use the NVIDIA CUDA/OpenCL, run \"eselect opencl set nvidia\""
elog
elog "NVIDIA has requested that any bug reports submitted have the"
elog "output of /opt/bin/nvidia-bug-report.sh included."
elog
if ! use X; then
elog "You have elected to not install the X.org driver. Along with"
elog "this the OpenGL libraries, XvMC, 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
}
@@ -235,6 +235,7 @@ src_install() {
dohtml ${NV_DOC}/html/*
if use kernel_FreeBSD; then
dodoc "${NV_DOC}/README"
use tools && doman "${NV_MAN}/nvidia-settings.1"
use X && doman "${NV_MAN}/nvidia-xconfig.1"
else
# Docs
@@ -243,6 +244,7 @@ src_install() {
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"
use tools && doman "${NV_MAN}/nvidia-settings.1.gz"
fi
# Helper Apps
@@ -270,9 +272,40 @@ src_install() {
newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
fi
exeinto /usr/bin/
doexe ${NV_OBJ}/nvidia-bug-report.sh
if use tools; then
emake -C "${S}"/nvidia-settings-${PV}/src/ \
DESTDIR="${D}" \
LIBDIR="${D}/usr/$(get_libdir)" \
PREFIX=/usr \
NV_USE_BUNDLED_LIBJANSSON=0 \
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