From 7ffdffa70de87bd9bb242546ca65d6a16119bd97 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Mon, 7 Nov 2016 11:55:25 +0100 Subject: [PATCH] [x11-drivers/nvidia-*] bump to 304.132 and include nvidia-settings --- x11-drivers/nvidia-drivers/Manifest | 4 + .../nvidia-drivers-304.132.ebuild | 193 ++++++++ x11-drivers/nvidia-userspace/Manifest | 5 + .../nvidia-userspace-304.132.ebuild | 438 ++++++++++++++++++ .../nvidia-userspace-340.98.ebuild | 37 +- 5 files changed, 675 insertions(+), 2 deletions(-) create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-304.132.ebuild create mode 100644 x11-drivers/nvidia-userspace/nvidia-userspace-304.132.ebuild diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index dd0a57ded..530609013 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -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 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-304.132.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-304.132.ebuild new file mode 100644 index 000000000..c6bdfdde9 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-304.132.ebuild @@ -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 +} diff --git a/x11-drivers/nvidia-userspace/Manifest b/x11-drivers/nvidia-userspace/Manifest index 8968a9516..d07a13cff 100644 --- a/x11-drivers/nvidia-userspace/Manifest +++ b/x11-drivers/nvidia-userspace/Manifest @@ -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 diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-304.132.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-304.132.ebuild new file mode 100644 index 000000000..875bb2e85 --- /dev/null +++ b/x11-drivers/nvidia-userspace/nvidia-userspace-304.132.ebuild @@ -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 ! "${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 +} diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-340.98.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-340.98.ebuild index a1567f59f..9b3cf4a38 100644 --- a/x11-drivers/nvidia-userspace/nvidia-userspace-340.98.ebuild +++ b/x11-drivers/nvidia-userspace/nvidia-userspace-340.98.ebuild @@ -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