commit:     856deb27ac7866c30efb7004fcfd0efce1cf8017
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 15 10:30:28 2016 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Thu Dec 15 10:31:50 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=856deb27

x11-drivers/nvidia-drivers: Version bump.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 x11-drivers/nvidia-drivers/Manifest                |  16 +
 .../files/nvidia-drivers-375.26-profiles-rc.patch  |  11 +
 .../nvidia-drivers/nvidia-drivers-304.134.ebuild   | 488 ++++++++++++++++++
 .../nvidia-drivers/nvidia-drivers-340.101.ebuild   | 518 +++++++++++++++++++
 .../nvidia-drivers/nvidia-drivers-375.26.ebuild    | 555 +++++++++++++++++++++
 5 files changed, 1588 insertions(+)

diff --git a/x11-drivers/nvidia-drivers/Manifest 
b/x11-drivers/nvidia-drivers/Manifest
index c815bac..14a7be2 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -1,6 +1,8 @@
 DIST NVIDIA-FreeBSD-x86-173.14.39.tar.gz 20038266 SHA256 
63a922ce4c5b676b4cb1ace98094dace4cc5408f2553e183df7b2127777a238b SHA512 
96982fe7e0751c52fbef534193de09d187b99c1984c05e791223eb804719d8b3ba72efd983f227661ded4b71569bdbb914f1f629ab73a8bc9b8172832ccf3ec6
 WHIRLPOOL 
21f5906f42adf0064c7a7f81ac8e323de488e6d36356ee42c31a15c31ebb64335d5e2cff0ff022d41de480f9e0a57b3b96387f17151c7b59eceba2c61a7a102b
 DIST NVIDIA-FreeBSD-x86-304.131.tar.gz 10656712 SHA256 
ba269b8b142429756be4fbf94a5da97bd039d6da91571bc7d4fceb750e0766ac SHA512 
b8036055b5a667239b40392920a043b60b0d68529a85fec5779e9deca1bf2de8683be4e49aa7e37e1b32c547ff125d5d7df950ef059d26ebc28b244190062c59
 WHIRLPOOL 
a8eea0d5ec4f1f931e2dc1b8f5faf0bea2b3db926b3c638e65504fdf9b3bbb2c27b8046cf859aa7f13f228cff4620d748b1cb6ef3fc8f8bfc2c650b0fe2419ad
 DIST NVIDIA-FreeBSD-x86-304.132.tar.gz 34782140 SHA256 
c411d1d290a8ed0cf379c8e18fcdc0934905d0762a52a3e2e330cbff6e8ef250 SHA512 
fc23e02ca8c72b0cfadbfb9f08e26fa1ed6b2dcfc660b40eede718a44134dc7e75163c79319471c60ed7e7316405966ba132926f115c7241706936eb7cc6b685
 WHIRLPOOL 
f23076cb78a79d8b38eeb081fc83a2fad163cad9d80f59d83e67d528ab7ecc3265809e032eb3e8a34533c825d420bc734149a29d21e1ebbe1f1787bfb923f5de
+DIST NVIDIA-FreeBSD-x86-304.134.tar.gz 35095790 SHA256 
e7a164807c83ab0f1be98eb241e76db0ca481d24cd64563c44dfbd73b9067b0f SHA512 
99549785683771d19c3877b6778f37622c9b7b3332bced2850f26476e21a258ead69535e199616940f40d4874aee2e8f6007b08c232b3ae17c5667a21c917343
 WHIRLPOOL 
85909e79083f1e9a87aa88801ab0ee855bd409bf667997037190b14923caee1e0bd53e8b180e54392e3f81b0cdef714318d699757a174c74d3ad0a0cfe70ccb8
+DIST NVIDIA-FreeBSD-x86-340.101.tar.gz 59992166 SHA256 
f62038819eb4ba074e92ce8d26b6330ed3bc32d1c07bcc95f4e2964fa667e03b SHA512 
b0d3e04acd60c1699850ecebbbdc2677f9691d3acf700effa369daedf3a45d7068c365a3298214acf396d7bcd531cfec26e9ef02e02c0896f01240219b338beb
 WHIRLPOOL 
955e8ad5152137641fcf2d5515e8c3b0a7ed9cac5ab646c2551fb4b1b0c0295ef3e3007905d5b5f2c50daaab1b74b7d6ffeb3f96f617b464c2db745ca4b33473
 DIST NVIDIA-FreeBSD-x86-340.93.tar.gz 59385673 SHA256 
094dc6df60b8e57cf9b94d982cb29c32d5e0c1d81796dbadb39145e78a3b0086 SHA512 
ae5ef62aa8dea2f67026dc9e7f369294895516cd443daa277ac2c783ef1fe85df23706aef70cbce41722d239a50c562b66210fd76f662186e25c58b38e617230
 WHIRLPOOL 
816b2b8c1de3609c03059fbb6f102f54fba5fcc64539745701ef3e20e435ca767ff8fe93c7f0242fcee5fb941210781a526b67cf693a48974723ccbf8e95595f
 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
@@ -23,9 +25,12 @@ DIST NVIDIA-FreeBSD-x86-367.44.tar.gz 62815733 SHA256 
687a178cc0e63f79f38f6e71da
 DIST NVIDIA-FreeBSD-x86-367.57.tar.gz 62859799 SHA256 
64a0bde687aac1ec2aad859d5bea47d0691b916a851c64992bd460a05ad7c162 SHA512 
13269f76d53a1818690ba8fd7aa604783e80059a031e3668c21a70158eeaa97251adda9ac058a712342e95780db86be5b893eebe0422cfce7f1073d88ea9293d
 WHIRLPOOL 
303bebf3d73d8bc232a188c9e3a23164a70fafdd44974e5f5b1873488f682979702e2f18d838d85072a22520d959ded6bb3a4b79cb3d7cafc5de0feca6241061
 DIST NVIDIA-FreeBSD-x86-370.28.tar.gz 58718517 SHA256 
52193b15b4ca822b029f860eed4d00270c925f5d24f7bb511a5b7bbea696d58c SHA512 
83ffb19069cc240f8836d808a5eb02c142e7ad923fc2e3049a3b316acc12df070d42dfdc5a8a8e1411ccc9fba0bfa4ed84f457435e985434cd86ae966a63a3f4
 WHIRLPOOL 
b1bec4d5e34ea39c3b1b44adcf85b7392cef39517979d32bc800e48a79a57cfb5f1ca5ff82bc302aa67ed12094782e09ab146f021a9c04e18430034a5ab341a9
 DIST NVIDIA-FreeBSD-x86-375.20.tar.gz 59078892 SHA256 
acf64b8b566046475095f823bee39ba5b4897a54cc8f2e52e33a0a766358f859 SHA512 
154c4a04387805a2a9d3ebba19c7ca6d4894d4145bfd2108e10b3809c8022e22a79a387533fa356cd69ce8137498b36f059d00ed26c44c5ef12b99b4e23517b4
 WHIRLPOOL 
f6de00f0ee7027d3db653724ed2271cc847358fd1292d6c9cd6fb73aa7d784d1e2fdae467cdd0fce5140c3996e3a6d09ac1ac822b6b9b6b99bba4a39cc38bfa8
+DIST NVIDIA-FreeBSD-x86-375.26.tar.gz 59091851 SHA256 
5249d01a21bb846a08975c4f3a90935b6dc8fd33ec8e5faa0d624ef15bcf2b88 SHA512 
281f41f341ccf7f7c1e0de9a6519813c7fd2d13ef59001c0a6f126cd5b8f2b67848c780ddaf6647e0c8b9a79c12ff77493c07203510084e741746834b26f5fdb
 WHIRLPOOL 
48e5f810f41337f6b8f5db419288ae5050c3efd71d0b4b7f7b64251612860d5c7e83cb78885a73f6752160ca8dce852560db7d95ce93d5d86dba21e59bae5e77
 DIST NVIDIA-FreeBSD-x86-96.43.23.tar.gz 15463464 SHA256 
18d855db8381eda1a6cf548c9e5095fc5bb8694bf1d6e24fc1072fba4e54cd78 SHA512 
42d7b1b76cdb3b23680363e565614a22112162a5dd3639cb804fe670c0c3f3f23595bbefa3f78afdc6a8ca848446dee853c7a355f2c96a0d01b354753ba2785c
 WHIRLPOOL 
f8e59ce521990cd9edee441e73f973f074db492952807a0931e362102874cddbb47604ff5c5eb20a0cbde27f9b6d4e440dd12cc2e5a20c9cb65bf3c0b3e62511
 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-304.134.tar.gz 36148973 SHA256 
3eafced8f8095c7f1135feaadbfcc709bd7ab96bf755da52ed5ca05a473604f8 SHA512 
35b2d74b9fa16a3e826552ddc56cf3d91cfd936ff60c6deb16ed39c110e3d1341e916e9b576c8cba8114896adada4dc44b2e70024cec6ebda6667a405533cf46
 WHIRLPOOL 
0a40b865675b8d77db0774683696185b3aa0c1586b2cb76ed816fe172ddc276d959ec83f0ccd053781f0721707226b62a65887223549effc638b0375f9d557e3
+DIST NVIDIA-FreeBSD-x86_64-340.101.tar.gz 60860185 SHA256 
aa75da2de6656bf8c4b8cf73b9e330b21ebc5da6de509cf90aed8a571716b111 SHA512 
0a69e90c2ddd574736ae666fb0216afe639423c8bf73c69e7403bbd5e2aca640f130196402d81924137b34d30befeaaf8174a3fe3ca7efc16a2c5e650e87ab99
 WHIRLPOOL 
b7652dcfc6116f865876cbb43807b1573ee6506e8f626a0da9123efe6fd6987d6bdd3c78dc833a38f0bff78ea290c34ecd69a65f7870248ac2c1bdff6cdb87b5
 DIST NVIDIA-FreeBSD-x86_64-340.93.tar.gz 60215584 SHA256 
07208f6a832c2da8748b1c4f8b5ce42a7b617f2ee1ac59155fecaff952c30988 SHA512 
c480df2f36c3d6eba53af9c3070e1561ae7c56cd5d31fb531dcb6897ca02d0d205c0ce99597304ea36b7b75b173e31a9a4c07ddd143ad13884aff0a7c3479bce
 WHIRLPOOL 
c1b28898ffe733961bdb622e8b430715c74871cfaab0348a9e5990df5a92676e8fb8c199ea1f1a06fa6c6ded65877b987b802a7a9ea0b7023cbaa62fb52eda01
 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
@@ -48,15 +53,19 @@ DIST NVIDIA-FreeBSD-x86_64-367.44.tar.gz 59577943 SHA256 
e07d21b0ad39a0a24cdc484
 DIST NVIDIA-FreeBSD-x86_64-367.57.tar.gz 59604884 SHA256 
6f2986941a9f4cdcb3692c39919e5eeec09f2799b7797d3c0be0d4c61f7eed5b SHA512 
06e4fd656efc88260c10b2a86308461754302dc9bad88285efe8b864012806f2d7147173ded9ee7b4ef2518ddbd6f02c5d36b184f913176732dd90cce0df006c
 WHIRLPOOL 
9c33dd392ba0335b08c7710aaf97564d7cc0fdcc2fe87ec67ae1932848dbd6e6ad0437f6b44409b11cefc7ec33be7656199dcb2a34ab296f969fd65243bd114e
 DIST NVIDIA-FreeBSD-x86_64-370.28.tar.gz 57905860 SHA256 
5087a93af8aaab6cff35ba60c9d67b4249827f6b7681abaaa571a20784a54552 SHA512 
40637d64a0ee5029bb1c5ad7a590c5be61253ef6283c4217666768ad8601d7f51ef0d8705c8711f65c3d0a5a5721490813220c5f9186c6d2d12baf5d9c11122e
 WHIRLPOOL 
361648788b7efb9e550b3e67d2e6022e31dab29f5660c42a1b6c961fe4638216fb8785814ee9fa1636fc39c39afce7caffbdc24fcf8bbd14e4eec5b5eeaeb1eb
 DIST NVIDIA-FreeBSD-x86_64-375.20.tar.gz 58259944 SHA256 
f4678d671c9dcb7f127173ea1de7614593559658d1876789c37c5f7c62cad563 SHA512 
0e039a64095f5385b5acc359206c598e141e18366252a9bbe91933427b372d61740d9fd6c11f1682b78f7e93f9f65915b8f2f05f65e666d0c0d867a29ed98071
 WHIRLPOOL 
85696e1c21132d18a1ee81f9e1c7ab05ae2fdc839c1d8877e67fac7fb39428ab6e7dcd4d2806dd56ba9ef93fc8648c7ce77c19145652252df3fa247be5db9737
+DIST NVIDIA-FreeBSD-x86_64-375.26.tar.gz 58287080 SHA256 
c7d32cb434f9a7e84903a1305d7577705f991fdb6eb4ab3ff79d41b2df82265d SHA512 
514c92636eeffa68cea5140819a9ad14888c18c1c60b0865e5cc9f9896b503f22c1236f76e65ed5e11cf3685ceb483c78d2a442b4e9bf274ae3ab399cf40ed9e
 WHIRLPOOL 
aa4eb254a6f3c5b0a9b2aaab12a011a92763e7a966b31840a595c18e24d82935dbe0ab3faa4c9aeb7ae24ec7505cb60c20c1e117396cf0527161a2aa1face296
 DIST NVIDIA-Linux-armv7l-gnueabihf-367.27.run 25585174 SHA256 
ae0855b247d5a5474561c76a79536fe82c44bd10e6154792978c5572d11c47f9 SHA512 
dd60292f262e1d7d6cca09a35c3f8b65820d216d46f2b94feb208554496b30a983a73ffb8b2a1473cef0b7e08a3cda901eeca855e1db77f4f6dd23779772580b
 WHIRLPOOL 
c55d4102a6717f81d8bde7e66d1772c7b1f370d4d610ef61561c94f5ea6cc4797b5f15b9cbc31216b2ef9ef9132a66682b280d9ef5b74c4a57ee2ee8da6c1122
 DIST NVIDIA-Linux-armv7l-gnueabihf-367.35.run 25628654 SHA256 
6087bd2cc594f860d27d26e30acd3593310ce00938c10e5729175f037efa222e SHA512 
3157c3dc9d07dd0eb8aaa0bf21edf62aa1338f10c1431981494d2a7b1f0be8a1eee8b5bc41914cfca9b4c76773b0056e7ad5c80a4c7acadfadb52a7647baabbe
 WHIRLPOOL 
49c8896d1a40e1f634224227100b303c3d2ebc66ee93f31aa18bc39c898585eba49400d148f47476e4253d35d7379047dbcf7f43cf027df0b16179bfc8912db0
 DIST NVIDIA-Linux-armv7l-gnueabihf-367.44.run 25674978 SHA256 
b42af2009460614c6d4b6585535dc2f0c1e98244f00bf75ece37dc31d2cc45c3 SHA512 
0fd72fe7afa1415eb961a5308c142316cb5311195486b331c406f4cbcc7d30dd5f0e85e5b179ffb8f38ce5ee1b5abac671d89f62b7dc7e1b1d738212af6acd91
 WHIRLPOOL 
ce2b0fa6b8c545af63292da214cfeb564f765179f531907ac7750c7a9d890816ce869dd7e6898ea0a0a6f446d20868d55c235a5ee2e88105731e8812b5f67c79
 DIST NVIDIA-Linux-armv7l-gnueabihf-367.57.run 25701866 SHA256 
e856debfabffe0e4ed2900e4acbc8e68340c4773651ec7a0000659588431ef7d SHA512 
2d1221b8c6f01148412790c24f88a74104da4dc40f30ebe57a47468818c811119ed629ffa565f3ed58ce0b12b292b4304a2b364a83faff41ba14ea747f4e1c88
 WHIRLPOOL 
bf7011f50360516f76ea5e176aea7d761193de877a5357a54704c60d512faf1af8e8e2450c547b5181fba98ee627a297b1c573e147c4db623324c1c35396330d
 DIST NVIDIA-Linux-armv7l-gnueabihf-370.28.run 26117701 SHA256 
efb60a23aa22b46e94e91d5f5a5fc0c17b47bcf50471e4371653ced5a5350dce SHA512 
04699849441bccfb9214fda4c7ff8ecefa11249d1fbfe470e37fefdd132becc225a1bcc16bc976c3fb145a427961f5402c95ecc84b613adb71caef9c96fe7d90
 WHIRLPOOL 
675a495594c46666ec11c83a76cdc8821e9b57079ee53cd7adcf00e783d121e163b7c5b10598aa55a1fee72eee47defc514fba986685af41c90ab2c5d890abbd
 DIST NVIDIA-Linux-armv7l-gnueabihf-375.20.run 26238901 SHA256 
dd28db61f89311240a76c0a82d1324f352879bfcb0c58fd6403fd9f783e43f0e SHA512 
f52d66928bb5370bdfe7d7a119b8a8e73c4832b32bb372f24856bbd35c4f338fcb170b05f92f579c9d0849a84c4fa0e3d6b0e8de6b23aac564dfb9f3fabf725a
 WHIRLPOOL 
0383789b871e50a532deeaf27414d0a518dbba93d6eb4fcd08e6fcc47260d67f48852458c6302d7dee0addc89e3dbdd7ce074cdfdee5b0bbeecb70c0c44892b2
+DIST NVIDIA-Linux-armv7l-gnueabihf-375.26.run 26735389 SHA256 
8d2b7b36e74ceb1c439b2a5f8d2cdf009fda4f668509bb5d45171455abc774b9 SHA512 
f18031c9b9ca6825f93f433d3f59b76a380a12b55e2f4556c2a1725fcdbea58176f22dcdb322f20e27d524f3fda75dd4f5a2a9263268411e0f5e361c580d865d
 WHIRLPOOL 
4ecd41bebae3df91a39612849eb6f7e926398e906d2cb878aa788571976fb1cdfeabd47ac0cd3db26c4a0408608b8dfbc3815d10cdd1acd8eeaba6ed5824bb73
 DIST NVIDIA-Linux-x86-173.14.39-pkg0.run 15134997 SHA256 
a09935f37121ed3db8ae3da63a0d8e9d4348a19c859811c9fe44d6ce8e3eab23 SHA512 
e24e15ccec725d3cbca502c2b77061776a81ef92917a950adec4ff6bdc34f10903aa654433177ea74be0dade4af81c5380d5710d375a5ea445940d06154bde93
 WHIRLPOOL 
fce3d8e4f6cdf698f5a057514b6fe220bb1011025bdce5bd4cf0e424fb4d306d38251b6726bda03f290ea8137d5a95ed418cf8751722879f9042462abd9181b6
 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-304.134.run 41201159 SHA256 
84f7891af131bb9f9a8a34401dfef4288218019406dfa4ae57b6d52b14e81c9d SHA512 
e047c62b33b092225ead42134acd596e3ae43d9bb8324188308dd7d497f33e790e7366d7a1c5ef5de66f484219d99de4c6e6206d390122d3fab4d30397ab463c
 WHIRLPOOL 
63b6b01f781cfb7ed516ba18920c4852f099189053f3eb119976bcbcb64f00136c1bed6ba2871c52b6cab5aa5cc8764d8b10338c9e43234da1b07d1a74ed23ba
+DIST NVIDIA-Linux-x86-340.101.run 38932143 SHA256 
5f5eda9c3d9bf53b56ef4f546dd1be5317eed46df425edbdd2c34023fb9eb062 SHA512 
5866f2b4e6e22863c54d9fc08c9c88c9c911df2396d0ceaca653ded04589ea3a9e4550ed58f4b182b0a42cfe205ef643fe43ea709478e5df5360a7f74fa87f41
 WHIRLPOOL 
d44d6075dd64804cfc3fbdc28510defc7796a2f22ac24625aab8552bd8bd6b16f51dea15f04d56f7b53ed3df514a92582171d27ec4e9aa099bef2d3e940a62be
 DIST NVIDIA-Linux-x86-340.93.run 38703394 SHA256 
4a81c158302c595e1e72b5a1812eb3c67c8cf584ca74b1bc24163dad5289d612 SHA512 
7507553bd4b11cac2cd882cd8afba59e773f58a26e67ee7e781c488be963a4f1eb54dcd72b40b29d33dd81c74d4748a76c1632b2c8ea08b524b4318c18b5dfe5
 WHIRLPOOL 
242190999da74f2fe4bfe4b223f43dec6ec73d97afd1e84e2c78c5fd5616d9814b647067ddf3f591ea8064d29234491de1c6f87b442e240d2aac4a1e598aefad
 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
@@ -79,10 +88,13 @@ DIST NVIDIA-Linux-x86-367.44.run 44079774 SHA256 
b2ad4d0d4a2e98528e877ae0d98c380
 DIST NVIDIA-Linux-x86-367.57.run 44731570 SHA256 
43d4e926f71ac6c581018badf467458709822e97a7564ed9f1b521b7b63d88bb SHA512 
6316cdd94131057a584b3a893cfbca5e8b0f5e79060cb5bfe2c149b5a76bdcdc21d20338febb54f7201985c5b05545c3f6b63b26c32699717057cfb047993972
 WHIRLPOOL 
443ca9b389f78c13ae5344cb3cce67035a2b5a605b94518d91c253965263d37a84dff9ca29d47509a2d43017afde4786a55bfd45613882b5d4889dc27b67622f
 DIST NVIDIA-Linux-x86-370.28.run 44189522 SHA256 
6323254ccf2a75d7ced1374a76ca56778689d0d8a9819e4ee5378ea3347b9835 SHA512 
2df8b3d1064073c8b793287994fe0648625d095f3434b7b67531e19632cbad318994df90b55de18aa457d55a1374b35d64a646564259995d3f2197c48737921c
 WHIRLPOOL 
85a089c833311abdc06bbc1fc68cd5ff8ed43dd5e5887d340dc854f905ae741de0ae4343d024259f493dd668075096c460bc1f93c1795d2befb81dd3c4a4983a
 DIST NVIDIA-Linux-x86-375.20.run 44542058 SHA256 
cc79d3ac2b688009ed2e47a1cf27557aea5dd745b3b6e9b83945c359ddab4335 SHA512 
8f922b3cde613dbc5933f38fa3d57e37afe4ac68e3cd37894d7f8d42258290ddbab0fb5f51623c06fa3474718f6a55ee0187e23aa51e3131e050446986b96420
 WHIRLPOOL 
87faa367cd0833cb4a4b4d5d825676963a1c7fa985539c67c048a25fcc30bc7b88390acfca4f407bdcde252f63cdf081de22eb6fac9b4c09a5cdd9b5662dbef5
+DIST NVIDIA-Linux-x86-375.26.run 44541069 SHA256 
7c79cfaae5512f34ff14cf0fe76632c7c720600d4bbae71d90ff73f1674e617b SHA512 
3bc859a95469a45f3c627018248d83e178d160385c3d17d9f890b0d142ecd1220fb21c442e4fe7755b831227a9c820736f447b162acd9699819c6e8145d6d841
 WHIRLPOOL 
33ad62f7021f38fd9dfa6b0fcfbc0b69a263409bd5b3b8da8eea6aa9af84299f0d5318bbc8b54139b1744b96fa08114029f8cc70b4f80b0fbd2d76efc47d0462
 DIST NVIDIA-Linux-x86-96.43.23-pkg0.run 11504817 SHA256 
51e6adf4ba73071622045fc37169f80db3ae3e784dff53b29d35146a04042142 SHA512 
bed5726e57637481fe4e3c03a65ec14fe949f00860e729ebde408f4fd861d7bfdc296a78bc2f5d42e8b282db09f4bbde1e0545df7228fa20227080dc4b868ba7
 WHIRLPOOL 
6d4fd1786c11f4e326cc3101d0bb1a2f8b63c25c3dd59f10188f8355759e2861ce44fd53d60258b513d5a1d6124d0f91ba8edf4d3668b6feabfb3e8d585f14fe
 DIST NVIDIA-Linux-x86_64-173.14.39-pkg2.run 21100833 SHA256 
15a953666d5681ba54c97498b578ffd286a1dc96d605f3b02110f3f99813100e SHA512 
a65cd496e6ed57f771c3d99f37f616a1242d97844f6faef7a807825ad899c0e536a99fde397020839f0857883b934032f9491024f3047a6b06d3eea1f5d77713
 WHIRLPOOL 
dc5f243b7d1de7e2d1b7f005e018a2940d63335b11a7c83c234b348b7a1839e9131169d2ea928bd8c2f549a4535149b03e16e6c94d59dfa745f7f904ff790a45
 DIST NVIDIA-Linux-x86_64-304.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-304.134.run 69761152 SHA256 
a014261a28a0a9829d255a5580c55d342e0ddf929b4f343cbd4d3492ede1cd5f SHA512 
65f6c324793e3ce713ea993fc709f1d1c413af2252765167cfdeb49fb6557f375018a5efa0402effc7443cc0fb860a7856736dad47a50513fe903c9109ff2348
 WHIRLPOOL 
fb1d05946ba672e44825d6e852157314020677c92f5817770e21decb81a1388db6b6e4976c8919217f2bf732283fe5942f982d31f3e5c39d5ea0e009d788906d
+DIST NVIDIA-Linux-x86_64-340.101.run 70042051 SHA256 
d2cf81b5994a1728dc4851cdf0480cde0a34b040c94de0d5265edcfe3b90680a SHA512 
64e3acee913864296421f0fcc44ffef0d89d20fc9f422e61f9a30a0c867ddedd2e88ead4a9607842a639ef593a19e725b70cf4ee051651d1d2ad48f3c5a189f3
 WHIRLPOOL 
59a7c3b40ae75e0fb3b7ae2c1125fd73071882347cfee6b6c0b76e9a117dfaa93bf6b391459f2ca96c50df24b220e5b8941e02f4cf48e7ae0833af67e180b195
 DIST NVIDIA-Linux-x86_64-340.93.run 69813449 SHA256 
ea2ac747fd473ea55ed5f6263bd314efa94c71384f3e03d527f8d550ba84c218 SHA512 
f7540f3a49ccd67346b81332e4bfd03becef135f7e777cef3256fe33b3313456456ae095a352e333bbf6463bb13b9486a70718fa4c4355d66222bb0a7437de29
 WHIRLPOOL 
e5286fbcaeffbcd3bd66c5adba8c20eb9cd64915b38606289cfab41a754a46b250667e6ac3485f8c3ed3b5a16bc14dcce6a9227d486be71d5b58298ca7d70f4d
 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
@@ -105,9 +117,12 @@ DIST NVIDIA-Linux-x86_64-367.44.run 75032664 SHA256 
09a4e67afa79c159f96071215bac
 DIST NVIDIA-Linux-x86_64-367.57.run 77127324 SHA256 
a1615db29f1377817b610cca997e0339753ee9d58b28e1618b892691df3a8851 SHA512 
fc94f5df7eb2ef243db381bc4458f911a6d76bff949701bedb249a3ebf369ff3da8dc5a7d52ab6ae3f23e947c419923f303cd57429a266a0f8e96df1039b1f5d
 WHIRLPOOL 
5580b7839652c250ba134ecc97438d1810453d5bd5d8cffd44f01379d7509bca6f0c58318a150a5b4786f955d4de708ce9be618572212eca2c7098a36eab24d5
 DIST NVIDIA-Linux-x86_64-370.28.run 76690360 SHA256 
90aa3c186e45b39e6fc0064ab8dbda8bcc897cb61d2e7b7cb30b4ec9a4b39239 SHA512 
931476f92a63d142478b2d6b3da4031769fd3b93aee2387800a78b1354b59a5fb5e4e293436b6b4c246627d51c0f55d140ab230de385cb1567bc8b25518eb741
 WHIRLPOOL 
ce866c38291d2ab4aeeff05654a0e61196129f77baea5af93ddbc22fab9574ba39cc05d58020ea2407cc7342f0bcf5c2702d42290f4cc3b53c9e04fb7c617413
 DIST NVIDIA-Linux-x86_64-375.20.run 75886564 SHA256 
d10e40a19dc57ac958567a2b247c2b113e5f1e4186ad48e9a58e70a46d07620b SHA512 
96daf0d9e3d8e42f7dd46d759a09d95b6745c719960cefd590abf927034ce2ab369422a0cc8e5ebe76de3c92068ea2b0e1c89106f7285c589bff166b2c3e9c1e
 WHIRLPOOL 
72e0db9b94bf8a81af2562b6405ff6b7928283641e3013e2389314529120024426a125f189901753db858e10a20cf622fa8d06d3dbd262b65bf539cf3b0d7978
+DIST NVIDIA-Linux-x86_64-375.26.run 75869960 SHA256 
4f42b2c3709dc2f11a1deca89628582062f4e9bca87f28a4fde50d25bd4a1ecf SHA512 
0990ac2e7b045bf62a8c58eb7acf91458756de91887d43486d9754bfc1493b28193072a9687d2d892cc98aaa4e584a8b2a8471756d4f19965da904d51e437dd1
 WHIRLPOOL 
b9890e705dbc3e967a978c5f823f71a418b03aa1b36669c1763559ed81a6a103e9d011246ffe049eda899425e254e8955b921ea9132a8d36530dc4a230cb4832
 DIST NVIDIA-Linux-x86_64-96.43.23-pkg2.run 15962375 SHA256 
ce8d8253e7dab7da63fbdac449ebf190cd0c10cbfffea0f8d0165515f851bc64 SHA512 
04bec1187a6024a2b9839f008ec829281f1f2602dae2e639030bc385943186506bcaa2b46a230b2ab87f9217190841abc62f9e2d6395ab5559623389c31c6563
 WHIRLPOOL 
0651c44a51a1a06fcff5bfddbf9c3e408977e03263c7fe806cb6c01f9fe92f716dfe4e5190ffe1048bde72fcffdc8bca8267e74dd43ba5c9dfb22b6201fcc2bb
 DIST nvidia-settings-304.131.tar.bz2 1480447 SHA256 
d36d2d1ae7c1bb72cd18e713470546d2aa7057624b1f61319daf559a94054d29 SHA512 
9269f54f87581e29e6d7cabeaf989c70cb27aa55f6b8f5f1c71b8a14401326d06ea194710722b41283cca56f5808b90a9b1fb12158d48c6332cce15a701c5796
 WHIRLPOOL 
be8e38a09a0bfa40267b9cdae2800a9ef00a89e28e618b743b7acb0cd9ece4b242b74ced32018d735989592300b49b2ee683caa11a1e161bcecf070a58952dfd
 DIST nvidia-settings-304.132.tar.bz2 1480097 SHA256 
53b86952ec29b32bdcc838199c3db802a5affd58e348f68ac9f4931ae0e2021f SHA512 
512db744830b31ded109047e0c736dd18ae01cdea2b94099d06b7f30a31274fa4fd689b286a1e12768ac618fc4d38be9eb7c0d58b1f0a3e2b67ae4a133cec97d
 WHIRLPOOL 
adce5fce462119dfa1569c4b2241f1129ae2659ae8964a9556d730bcda246c7db08b6e6b14ae644df8e3fcc990f84c9585b4ecb9617e26833fb70babd447c606
+DIST nvidia-settings-304.134.tar.bz2 1480967 SHA256 
8e562823fe9a7b1d33775db5605040488c064ab59ede20e1b2e5a6ec08ef2261 SHA512 
c15b9c3eff470e47dca9d695029fb5f7c3d7a91bdcceea7c114c305254ef341ece2fa8b727446ebe704f21b4c39b7872b1b2d9a740cf9cb5257f6aaaf2313208
 WHIRLPOOL 
0e8a1137cd71cf60794a0572189cde15ed39fa7be22410afe232b62daf8df17dd2af22631ecbfa30374439c3f1b7b1ed69af2737bdc37665bd42819b0f326593
+DIST nvidia-settings-340.101.tar.bz2 1550221 SHA256 
e98d2816f30182826aebb4315d4069d212709d28c129528295c012e11c5c5bd5 SHA512 
145cfff7828b61566c13644d58e62495e5dfcbc0d24c49b04b24953d6822bb406de166879ef681a9ad6a6cb64fbc85948a93afb2f63f4e0a24107818eb0f2882
 WHIRLPOOL 
bca223365521625d30bef14a752eb02d6166ee1e988087c584c0f325413cf0d92a67989d9f456f16b09611558af0eab4f8f3a37894db8c1df1fe3446bc3975ee
 DIST nvidia-settings-340.96.tar.bz2 1551011 SHA256 
af7303b070a4b41e388a7be6dfae17f020a5cc197170d4815b9a291a3a98aaff SHA512 
fc6096338e48c347e4e854d06e8f63d8edb6527953996e63f3f70619be59d0436176547b5197ef30d18a82cf5b58dd775dcca4a2624107b63cce1ae589f2b154
 WHIRLPOOL 
e7266ca0395aa1a5666a43bf6e54e258706d4e76bfd15079485e2379b332d2d6ba0c97b32e49f5b041340bb2d3c0e11dace702754ffc952c149557e0ab9d820a
 DIST nvidia-settings-340.98.tar.bz2 1549627 SHA256 
6ee6c8d7a86f03696ce0464dccd8a01a4f04b732989ae2658dee3c5b9cff9a0f SHA512 
dc1dc39b59d591a2211dded2a6379da63f3678e38fa9f5e9ea7f0bb9368fc00085c50bad817d90f52d29f5247ac93350af0262d06bd32beef259234511e7c251
 WHIRLPOOL 
4bc4cbd883c86206dd03690f7c41778655b7db731c04f342713b1bd4b93f906fd5598f8c1afee8bb14236998940edd6497dc430add095961ba76735532176d40
 DIST nvidia-settings-346.96.tar.bz2 1558100 SHA256 
b293f269aac01dfdf59e9dff46d774f7ca77d4628f377c01cabfbfccd28f3cd9 SHA512 
9ead0fa5f0a55c1080d9b4da6cf96c2435c1a166297187f2c7d8b95a9e66c2e9cdd2e35739a4304b02ff1ccedb0421a7dc99a546df3a8f18804da133b93f50e3
 WHIRLPOOL 
4bddea94bb4c0dcde6b2b06507ffe890a1996471603de2d494f54b783cd36d44aa620fe03d16bc104ce99d6371a50666b0f029a309b78226810761cc13053f98
@@ -127,3 +142,4 @@ DIST nvidia-settings-367.44.tar.bz2 1571750 SHA256 
74ca3c7ac3e75c13b6aaef92739e2
 DIST nvidia-settings-367.57.tar.bz2 1571905 SHA256 
aacb66b130e4adc034e10afb518c919a96029b31b14da8975b08d250d8750140 SHA512 
57bf414f4aefacd994e73ea3b31de8cf9f5d6ddc9a95ea1456c21905510c4ba9219e690a1b1bb1346b57a80caf9856c5fede80734163392f0788b995d1bd4cea
 WHIRLPOOL 
7294f84afe8a00f59e2073773d12dc0b31273ab49fe318558eee84a72b7df1233fa004949c0512bff1974c5edbc4749eed68e172336241ea9cb24d6c585a8979
 DIST nvidia-settings-370.28.tar.bz2 1573509 SHA256 
59d7818a4837144e373ce958233db059fde59e279477001e187579770ebf0c5f SHA512 
c4da6ae54839a8f91d3557153a648f69095e9a486dbaaf73e453d625660f1adcada12ee5c4bccc1afe2cfd454ead13c1df0e59d5d6aa70f6065823d53f7bb461
 WHIRLPOOL 
e5f0a9fd67e50aee42598d6a0ce9a69a162405a6121518c7aaf9ede409e9bdeb44e3102a123eb6f8c963e0fdaca429a8b693f6af2f0467e746c42f57a496d45f
 DIST nvidia-settings-375.20.tar.bz2 1614521 SHA256 
40cd293e79bda131147187f281578e2b1f887c05bee78f671bde329af4956ada SHA512 
e47d482a4c844ae8ef3c29f249333f6176a39f1a6e1dbcb87497a9117f5158fe68136a74739aae071ceac14bf779362c0484382e10b803503a605e7867ab4cbd
 WHIRLPOOL 
9969d420f14f1bf3e7ed5dabd86438678d997089aef9ac1025f0585ddc87201d3558833dc3b9ce6d13415a2f484610b9a0d923b4cbeaae79d889a880d9475126
+DIST nvidia-settings-375.26.tar.bz2 1615459 SHA256 
beb0d88e2f63427239fd2014299ef7bf780e70800f68be5d011575e858711fe9 SHA512 
e575670ccf7e3ef0089ee6a969f107f6f43d742a60cc325c6d95efc4773f34a6e013fd2c4e38b5f90054e24146a05c2300c0cf6a9b7013b556bacc1402956f49
 WHIRLPOOL 
854e4444beb330c97b29ebc00936c9d2f2522165ef2ca86f68ae28abadef516aedb341e2b2bf6d7a762decaeac4d5c3084bddaa21492b0a60607a2bbf541c301

diff --git 
a/x11-drivers/nvidia-drivers/files/nvidia-drivers-375.26-profiles-rc.patch 
b/x11-drivers/nvidia-drivers/files/nvidia-drivers-375.26-profiles-rc.patch
new file mode 100644
index 00000000..13acd04
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-375.26-profiles-rc.patch
@@ -0,0 +1,11 @@
+--- a/nvidia-application-profiles-375.26-rc
++++ b/nvidia-application-profiles-375.26-rc
+@@ -48,7 +48,7 @@
+         {
+           "name" : "NoEnforceShaderInputOutputMatching",
+           "settings" : [ "GLShaderPortabilityWarnings", false ]
+-        },
++        }
+     ],
+     "rules" : [
+         {

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-304.134.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-304.134.ebuild
new file mode 100644
index 00000000..5e5a264
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-304.134.ebuild
@@ -0,0 +1,488 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+       portability toolchain-funcs unpacker user versionator udev
+
+NV_URI="http://us.download.nvidia.com/XFree86/";
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx";
+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 )
+       tools? ( 
ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2 
)
+"
+
+LICENSE="GPL-2 NVIDIA-r1"
+SLOT="0/${PV%.*}"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel static-libs +tools 
+X"
+RESTRICT="bindist mirror"
+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}
+       kernel_linux? (
+               virtual/linux-sources
+               virtual/pkgconfig
+       )"
+RDEPEND="${COMMON}
+       acpi? ( sys-power/acpid )
+       tools? ( !media-video/nvidia-settings )
+       X? (
+               <x11-base/xorg-server-1.19.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 )
+       static-libs? ( tools )
+"
+
+QA_PREBUILT="opt/* usr/lib*"
+
+S=${WORKDIR}/
+
+pkg_pretend() {
+
+       if use amd64 && has_multilib_profile && \
+               [ "${DEFAULT_ABI}" != "amd64" ]; then
+               eerror "This ebuild doesn't currently support changing your 
default ABI"
+               die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+       fi
+
+       if use kernel_linux && kernel_is ge 4 10; then
+               ewarn "Gentoo supports kernels which are supported by NVIDIA"
+               ewarn "which are limited to the following kernels:"
+               ewarn "<sys-kernel/gentoo-sources-4.10"
+               ewarn "<sys-kernel/vanilla-sources-4.10"
+               ewarn ""
+               ewarn "You are free to utilize eapply_user to provide whatever"
+               ewarn "support you feel is appropriate, but will not receive"
+               ewarn "support as a result of those changes."
+               ewarn ""
+               ewarn "Do not file a bug report about this."
+               ewarn ""
+       fi
+
+       # Since Nvidia ships many different series of drivers, we need to give 
the user
+       # some kind of guidance as to what version they should install. This 
tries
+       # to point the user in the right direction but can't be perfect. check
+       # nvidia-driver.eclass
+       nvidia-driver-check-warning
+
+       # Kernel features/options to check for
+       CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+       use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+       # Now do the above checks
+       use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+       # try to turn off distcc and ccache for people that have a problem with 
it
+       export DISTCC_DISABLE=1
+       export CCACHE_DISABLE=1
+
+       if use kernel_linux; then
+               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
+
+       # set variables to where files are in the package structure
+       if use kernel_FreeBSD; then
+               use x86-fbsd   && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+               use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+               NV_DOC="${S}/doc"
+               NV_OBJ="${S}/obj"
+               NV_SRC="${S}/src"
+               NV_MAN="${S}/x11/man"
+               NV_X11="${S}/obj"
+               NV_SOVER=1
+       elif use kernel_linux; then
+               NV_DOC="${S}"
+               NV_OBJ="${S}"
+               NV_SRC="${S}/kernel"
+               NV_MAN="${S}"
+               NV_X11="${S}"
+               NV_SOVER=${PV}
+       else
+               die "Could not determine proper NVIDIA package"
+       fi
+}
+
+src_prepare() {
+       # Please add a brief description for every added patch
+
+       if use kernel_linux; then
+               if kernel_is lt 2 6 9 ; then
+                       eerror "You must build this against 2.6.9 or higher 
kernels."
+               fi
+
+               # If greater than 2.6.5 use M= instead of SUBDIR=
+               convert_to_m "${NV_SRC}"/Makefile.kbuild
+       fi
+
+       if use pax_kernel; then
+               ewarn "Using PAX patches is not supported. You will be asked to"
+               ewarn "use a standard kernel should you have issues. Should you"
+               ewarn "need support with these patches, contact the PaX team."
+               eapply "${FILESDIR}"/${PN}-pax-const.patch
+               eapply "${FILESDIR}"/${PN}-pax-usercopy.patch
+       fi
+
+       cat <<- EOF > "${S}"/nvidia.icd
+               /usr/$(get_libdir)/libnvidia-opencl.so
+       EOF
+
+       # Allow user patches so they can support RC kernels and whatever else
+       eapply_user
+}
+
+src_compile() {
+       # This is already the default on Linux, as there's no toplevel 
Makefile, but
+       # on FreeBSD there's one and triggers the kernel module build, as we 
install
+       # it by itself, pass this.
+
+       cd "${NV_SRC}"
+       if use kernel_FreeBSD; then
+               MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake 
CC="$(tc-getCC)" \
+                       LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+       elif use kernel_linux; then
+               MAKEOPTS=-j1 linux-mod_src_compile
+       fi
+
+       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
+               linux-mod_src_install
+
+               # Add the aliases
+               # This file is tweaked with the appropriate video group in
+               # pkg_preinst, see bug #491414
+               insinto /etc/modprobe.d
+               newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+
+               # Ensures that our device nodes are created when not using X
+               exeinto "$(get_udevdir)"
+               newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
+               udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+       elif use kernel_FreeBSD; then
+               if use x86-fbsd; then
+                       insinto /boot/modules
+                       doins "${S}/src/nvidia.kld"
+               fi
+
+               exeinto /boot/modules
+               doexe "${S}/src/nvidia.ko"
+       fi
+
+       # NVIDIA kernel <-> userspace driver config lib
+       donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+       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
+
+               # 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
+       fi
+
+       if use kernel_linux ; then
+               doexe ${NV_OBJ}/nvidia-debugdump
+               doexe ${NV_OBJ}/nvidia-cuda-proxy-control
+               doexe ${NV_OBJ}/nvidia-cuda-proxy-server
+               doexe ${NV_OBJ}/nvidia-smi
+               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
+
+       #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
+
+       if has_multilib_profile && use multilib ; then
+               local OABI=${ABI}
+               for ABI in $(get_install_abis) ; do
+                       src_install-libs
+               done
+               ABI=${OABI}
+               unset OABI
+       else
+               src_install-libs
+       fi
+
+       is_final_abi || die "failed to iterate through all ABIs"
+
+       readme.gentoo_create_doc
+}
+
+src_install-libs() {
+       local inslibdir=$(get_libdir)
+       local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+       local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+       local libdir=${NV_OBJ}
+
+       if use kernel_linux && has_multilib_profile && \
+                       [[ ${ABI} == "x86" ]] ; then
+               libdir=${NV_OBJ}/32
+       fi
+
+       if use X; then
+               # 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() {
+       if use kernel_linux; then
+               linux-mod_pkg_preinst
+
+               local videogroup="$(egetent group video | cut -d ':' -f 3)"
+               if [ -z "${videogroup}" ]; then
+                       eerror "Failed to determine the video group gid"
+                       die "Failed to determine the video group gid"
+               else
+                       sed -i \
+                               -e "s:PACKAGE:${PF}:g" \
+                               -e "s:VIDEOGID:${videogroup}:" \
+                               "${D}"/etc/modprobe.d/nvidia.conf || die
+               fi
+       fi
+
+       # Clean the dynamic libGL stuff's home to ensure
+       # we dont have stale libs floating around
+       if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+               rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+       fi
+       # Make sure we nuke the old nvidia-glx's env.d file
+       if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+               rm -f "${ROOT}"/etc/env.d/09nvidia
+       fi
+}
+
+pkg_postinst() {
+       use kernel_linux && linux-mod_pkg_postinst
+
+       # Switch to the nvidia implementation
+       use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+       "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+       readme.gentoo_print_elog
+
+       if ! use X; then
+               elog "You have elected to not install the X.org driver. Along 
with"
+               elog "this the OpenGL libraries, 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
+       if ! use tools; then
+               elog "USE=tools controls whether the nvidia-settings 
application"
+               elog "is installed. If you would like to use it, enable that"
+               elog "flag and re-emerge this ebuild. Optionally you can 
install"
+               elog "media-video/nvidia-settings"
+               elog
+       fi
+}
+
+pkg_prerm() {
+       use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+       use kernel_linux && linux-mod_pkg_postrm
+       use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-340.101.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-340.101.ebuild
new file mode 100644
index 00000000..cb5fdf2
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-340.101.ebuild
@@ -0,0 +1,518 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
+       portability toolchain-funcs unpacker user udev
+
+NV_URI="http://us.download.nvidia.com/XFree86/";
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx";
+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 )
+       tools? ( 
ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2 
)
+"
+
+LICENSE="GPL-2 NVIDIA-r2"
+SLOT="0/${PV%.*}"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel static-libs +tools 
+X uvm"
+RESTRICT="bindist mirror"
+EMULTILIB_PKG="true"
+
+COMMON="
+       app-eselect/eselect-opencl
+       kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+       tools? (
+               dev-libs/atk
+               dev-libs/glib:2
+               dev-libs/jansson
+               x11-libs/gdk-pixbuf
+               >=x11-libs/gtk+-2.4:2
+               x11-libs/libX11
+               x11-libs/libXext
+               x11-libs/pango[X]
+       )
+       X? (
+               >=app-eselect/eselect-opengl-1.0.9
+       )
+"
+DEPEND="
+       ${COMMON}
+       app-arch/xz-utils
+       kernel_linux? ( virtual/linux-sources )
+"
+RDEPEND="
+       ${COMMON}
+       acpi? ( sys-power/acpid )
+       tools? ( !media-video/nvidia-settings )
+       X? (
+               <x11-base/xorg-server-1.19.99:=
+               >=x11-libs/libvdpau-0.3-r1
+               multilib? (
+                       >=x11-libs/libX11-1.6.2[abi_x86_32]
+                       >=x11-libs/libXext-1.3.2[abi_x86_32]
+               )
+       )
+"
+
+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
+
+       if use kernel_linux && kernel_is ge 4 10; then
+               ewarn "Gentoo supports kernels which are supported by NVIDIA"
+               ewarn "which are limited to the following kernels:"
+               ewarn "<sys-kernel/gentoo-sources-4.10"
+               ewarn "<sys-kernel/vanilla-sources-4.10"
+               ewarn ""
+               ewarn "You are free to utilize eapply_user to provide whatever"
+               ewarn "support you feel is appropriate, but will not receive"
+               ewarn "support as a result of those changes."
+               ewarn ""
+               ewarn "Do not file a bug report about this."
+               ewarn ""
+       fi
+
+       # Since Nvidia ships many different series of drivers, we need to give 
the user
+       # some kind of guidance as to what version they should install. This 
tries
+       # to point the user in the right direction but can't be perfect. check
+       # nvidia-driver.eclass
+       nvidia-driver-check-warning
+
+       # Kernel features/options to check for
+       CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+       use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+       # Now do the above checks
+       use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+       # try to turn off distcc and ccache for people that have a problem with 
it
+       export DISTCC_DISABLE=1
+       export CCACHE_DISABLE=1
+
+       if use kernel_linux; then
+               MODULE_NAMES="nvidia(video:${S}/kernel)"
+               use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)"
+
+               # This needs to run after MODULE_NAMES (so that the eclass 
checks
+               # whether the kernel supports loadable modules) but before 
BUILD_PARAMS
+               # is set (so that KV_DIR is populated).
+               linux-mod_pkg_setup
+
+               BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+               SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
+
+               # linux-mod_src_compile calls set_arch_to_kernel, which
+               # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+               # expects x86_64 or i386 and then converts it to x86
+               # later on in the build process
+               BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+       fi
+
+       # set variables to where files are in the package structure
+       if use kernel_FreeBSD; then
+               use x86-fbsd   && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+               use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+               NV_DOC="${S}/doc"
+               NV_OBJ="${S}/obj"
+               NV_SRC="${S}/src"
+               NV_MAN="${S}/x11/man"
+               NV_X11="${S}/obj"
+               NV_SOVER=1
+       elif use kernel_linux; then
+               NV_DOC="${S}"
+               NV_OBJ="${S}"
+               NV_SRC="${S}/kernel"
+               NV_MAN="${S}"
+               NV_X11="${S}"
+               NV_SOVER=${PV}
+       else
+               die "Could not determine proper NVIDIA package"
+       fi
+}
+
+src_prepare() {
+       # Please add a brief description for every added patch
+
+       if use kernel_linux; then
+               if kernel_is lt 2 6 9 ; then
+                       eerror "You must build this against 2.6.9 or higher 
kernels."
+               fi
+
+               # If greater than 2.6.5 use M= instead of SUBDIR=
+#              convert_to_m "${NV_SRC}"/Makefile.kbuild
+       fi
+
+       if use pax_kernel; then
+               ewarn "Using PAX patches is not supported. You will be asked to"
+               ewarn "use a standard kernel should you have issues. Should you"
+               ewarn "need support with these patches, contact the PaX team."
+               eapply "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch
+               eapply "${FILESDIR}"/${PN}-337.12-pax-constify.patch
+       fi
+
+       # Allow user patches so they can support RC kernels and whatever else
+       eapply_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
+               use uvm && MAKEOPTS=-j1
+               linux-mod_src_compile
+       fi
+
+       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
+               linux-mod_src_install
+
+               # Add the aliases
+               # This file is tweaked with the appropriate video group in
+               # pkg_preinst, see bug #491414
+               insinto /etc/modprobe.d
+               newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+               use uvm && doins "${FILESDIR}"/nvidia-uvm.conf
+
+               # Ensures that our device nodes are created when not using X
+               exeinto "$(get_udevdir)"
+               newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
+               udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+       elif use kernel_FreeBSD; then
+               if use x86-fbsd; then
+                       insinto /boot/modules
+                       doins "${S}/src/nvidia.kld"
+               fi
+
+               exeinto /boot/modules
+               doexe "${S}/src/nvidia.ko"
+       fi
+
+       # NVIDIA kernel <-> userspace driver config lib
+       donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
+
+       # NVIDIA framebuffer capture library
+       donvidia ${NV_OBJ}/libnvidia-fbc.so ${NV_SOVER}
+
+       # NVIDIA video encode/decode <-> CUDA
+       if use kernel_linux; then
+               donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
+               donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER}
+       fi
+
+       if use X; then
+               # Xorg DDX driver
+               insinto /usr/$(get_libdir)/xorg/modules/drivers
+               doins ${NV_X11}/nvidia_drv.so
+
+               # Xorg GLX driver
+               donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
+                       /usr/$(get_libdir)/opengl/nvidia/extensions
+       fi
+
+       # OpenCL ICD for NVIDIA
+       if use kernel_linux; then
+               insinto /etc/OpenCL/vendors
+               doins ${NV_OBJ}/nvidia.icd
+       fi
+
+       # Documentation
+       if use kernel_FreeBSD; then
+               dodoc "${NV_DOC}/README"
+               use X && doman "${NV_MAN}/nvidia-xconfig.1"
+               use tools && doman "${NV_MAN}/nvidia-settings.1"
+       else
+               # Docs
+               newdoc "${NV_DOC}/README.txt" README
+               dodoc "${NV_DOC}/NVIDIA_Changelog"
+               doman "${NV_MAN}/nvidia-smi.1.gz"
+               use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+               use tools && doman "${NV_MAN}/nvidia-settings.1.gz"
+               doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
+       fi
+
+       docinto html
+       dodoc -r ${NV_DOC}/html/*
+
+       # Helper Apps
+       exeinto /opt/bin/
+
+       if use X; then
+               doexe ${NV_OBJ}/nvidia-xconfig
+       fi
+
+       if use kernel_linux ; then
+               doexe ${NV_OBJ}/nvidia-cuda-mps-control
+               doexe ${NV_OBJ}/nvidia-cuda-mps-server
+               doexe ${NV_OBJ}/nvidia-debugdump
+               doexe ${NV_OBJ}/nvidia-persistenced
+               doexe ${NV_OBJ}/nvidia-smi
+
+               # install nvidia-modprobe setuid and symlink in /usr/bin (bug 
#505092)
+               doexe ${NV_OBJ}/nvidia-modprobe
+               fowners root:video /opt/bin/nvidia-modprobe
+               fperms 4710 /opt/bin/nvidia-modprobe
+               dosym /{opt,usr}/bin/nvidia-modprobe
+
+               doman nvidia-cuda-mps-control.1.gz
+               doman nvidia-modprobe.1.gz
+               doman nvidia-persistenced.1.gz
+               newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+               newconfd "${FILESDIR}/nvidia-persistenced.conf" 
nvidia-persistenced
+               newinitd "${FILESDIR}/nvidia-persistenced.init" 
nvidia-persistenced
+       fi
+
+       if use tools; then
+               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
+
+       #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
+
+       if has_multilib_profile && use multilib ; then
+               local OABI=${ABI}
+               for ABI in $(get_install_abis) ; do
+                       src_install-libs
+               done
+               ABI=${OABI}
+               unset OABI
+       else
+               src_install-libs
+       fi
+
+       is_final_abi || die "failed to iterate through all ABIs"
+
+       readme.gentoo_create_doc
+}
+
+src_install-libs() {
+       local inslibdir=$(get_libdir)
+       local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+       local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+       local libdir=${NV_OBJ}
+
+       if use kernel_linux && has_multilib_profile && \
+                       [[ ${ABI} == "x86" ]] ; then
+               libdir=${NV_OBJ}/32
+       fi
+
+       if use X; then
+               # 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() {
+       if use kernel_linux; then
+               linux-mod_pkg_preinst
+
+               local videogroup="$(egetent group video | cut -d ':' -f 3)"
+               if [ -z "${videogroup}" ]; then
+                       eerror "Failed to determine the video group gid"
+                       die "Failed to determine the video group gid"
+               else
+                       sed -i \
+                               -e "s:PACKAGE:${PF}:g" \
+                               -e "s:VIDEOGID:${videogroup}:" \
+                               "${D}"/etc/modprobe.d/nvidia.conf || die
+               fi
+       fi
+
+       # Clean the dynamic libGL stuff's home to ensure
+       # we dont have stale libs floating around
+       if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
+               rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+       fi
+       # Make sure we nuke the old nvidia-glx's env.d file
+       if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
+               rm -f "${ROOT}"/etc/env.d/09nvidia
+       fi
+}
+
+pkg_postinst() {
+       use kernel_linux && linux-mod_pkg_postinst
+
+       # Switch to the nvidia implementation
+       use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+       "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+       readme.gentoo_print_elog
+
+       if ! use X; then
+               elog "You have elected to not install the X.org driver. Along 
with"
+               elog "this the OpenGL libraries and VDPAU libraries were not"
+               elog "installed. Additionally, once the driver is loaded your 
card"
+               elog "and fan will run at max speed which may not be desirable."
+               elog "Use the 'nvidia-smi' init script to have your card and 
fan"
+               elog "speed scale appropriately."
+               elog
+       fi
+       if ! use tools; then
+               elog "USE=tools controls whether the nvidia-settings 
application"
+               elog "is installed. If you would like to use it, enable that"
+               elog "flag and re-emerge this ebuild. Optionally you can 
install"
+               elog "media-video/nvidia-settings"
+               elog
+       fi
+}
+
+pkg_prerm() {
+       use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+       use kernel_linux && linux-mod_pkg_postrm
+       use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-375.26.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-375.26.ebuild
new file mode 100644
index 00000000..c72796b
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-375.26.ebuild
@@ -0,0 +1,555 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+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}"
+ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
+AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
+
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx";
+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 )
+       arm? ( ${NV_URI}Linux-x86-ARM/${PV}/${ARM_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 )
+       tools? (
+               
ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
+       )
+"
+
+LICENSE="GPL-2 NVIDIA-r2"
+SLOT="0/${PV%.*}"
+KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
+RESTRICT="bindist mirror"
+EMULTILIB_PKG="true"
+
+IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib 
pax_kernel static-libs +tools uvm wayland +X"
+REQUIRED_USE="
+       tools? ( X )
+       static-libs? ( tools )
+"
+
+COMMON="
+       app-eselect/eselect-opencl
+       kernel_linux? ( >=sys-libs/glibc-2.6.1 )
+       tools? (
+               dev-libs/atk
+               dev-libs/glib:2
+               dev-libs/jansson
+               gtk3? ( x11-libs/gtk+:3 )
+               x11-libs/cairo
+               x11-libs/gdk-pixbuf[X]
+               x11-libs/gtk+:2
+               x11-libs/libX11
+               x11-libs/libXext
+               x11-libs/libXrandr
+               x11-libs/libXv
+               x11-libs/libXxf86vm
+               x11-libs/pango[X]
+       )
+       X? (
+               >=app-eselect/eselect-opengl-1.0.9
+               app-misc/pax-utils
+       )
+"
+DEPEND="
+       ${COMMON}
+       kernel_linux? ( virtual/linux-sources )
+"
+RDEPEND="
+       ${COMMON}
+       acpi? ( sys-power/acpid )
+       tools? ( !media-video/nvidia-settings )
+       wayland? ( dev-libs/wayland )
+       X? (
+               <x11-base/xorg-server-1.19.99:=
+               >=x11-libs/libvdpau-1.0
+               multilib? (
+                       >=x11-libs/libX11-1.6.2[abi_x86_32]
+                       >=x11-libs/libXext-1.3.2[abi_x86_32]
+               )
+       )
+"
+
+QA_PREBUILT="opt/* usr/lib*"
+
+S=${WORKDIR}/
+
+pkg_pretend() {
+       if use amd64 && has_multilib_profile && \
+               [ "${DEFAULT_ABI}" != "amd64" ]; then
+               eerror "This ebuild doesn't currently support changing your 
default ABI"
+               die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+       fi
+
+       if use kernel_linux && kernel_is ge 4 10; then
+               ewarn "Gentoo supports kernels which are supported by NVIDIA"
+               ewarn "which are limited to the following kernels:"
+               ewarn "<sys-kernel/gentoo-sources-4.10"
+               ewarn "<sys-kernel/vanilla-sources-4.10"
+               ewarn ""
+               ewarn "You are free to utilize epatch_user to provide whatever"
+               ewarn "support you feel is appropriate, but will not receive"
+               ewarn "support as a result of those changes."
+               ewarn ""
+               ewarn "Do not file a bug report about this."
+               ewarn ""
+       fi
+
+       # Since Nvidia ships many different series of drivers, we need to give 
the user
+       # some kind of guidance as to what version they should install. This 
tries
+       # to point the user in the right direction but can't be perfect. check
+       # nvidia-driver.eclass
+       nvidia-driver-check-warning
+
+       # Kernel features/options to check for
+       CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
+       use x86 && CONFIG_CHECK+=" ~HIGHMEM"
+
+       # Now do the above checks
+       use kernel_linux && check_extra_config
+}
+
+pkg_setup() {
+       # try to turn off distcc and ccache for people that have a problem with 
it
+       export DISTCC_DISABLE=1
+       export CCACHE_DISABLE=1
+
+       if use driver && use kernel_linux; then
+               MODULE_NAMES="nvidia(video:${S}/kernel)"
+               use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
+               use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) 
nvidia-drm(video:${S}/kernel)"
+
+               # This needs to run after MODULE_NAMES (so that the eclass 
checks
+               # whether the kernel supports loadable modules) but before 
BUILD_PARAMS
+               # is set (so that KV_DIR is populated).
+               linux-mod_pkg_setup
+
+               BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
+               SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
+
+               # linux-mod_src_compile calls set_arch_to_kernel, which
+               # sets the ARCH to x86 but NVIDIA's wrapping Makefile
+               # expects x86_64 or i386 and then converts it to x86
+               # later on in the build process
+               BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
+       fi
+
+       if use kernel_linux && kernel_is lt 2 6 9; then
+               eerror "You must build this against 2.6.9 or higher kernels."
+       fi
+
+       # set variables to where files are in the package structure
+       if use kernel_FreeBSD; then
+               use x86-fbsd   && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
+               use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
+               NV_DOC="${S}/doc"
+               NV_OBJ="${S}/obj"
+               NV_SRC="${S}/src"
+               NV_MAN="${S}/x11/man"
+               NV_X11="${S}/obj"
+               NV_SOVER=1
+       elif use kernel_linux; then
+               NV_DOC="${S}"
+               NV_OBJ="${S}"
+               NV_SRC="${S}/kernel"
+               NV_MAN="${S}"
+               NV_X11="${S}"
+               NV_SOVER=${PV}
+       else
+               die "Could not determine proper NVIDIA package"
+       fi
+}
+
+src_prepare() {
+       eapply "${FILESDIR}"/${P}-profiles-rc.patch
+
+       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."
+               eapply "${FILESDIR}"/${PN}-364.12-pax.patch
+       fi
+
+       # Allow user patches so they can support RC kernels and whatever else
+       eapply_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 driver && use kernel_linux; then
+               MAKEOPTS=-j1 linux-mod_src_compile
+       fi
+
+       if use tools; then
+               emake -C "${S}"/nvidia-settings-${PV}/src \
+                       AR="$(tc-getAR)" \
+                       CC="$(tc-getCC)" \
+                       LIBDIR="$(get_libdir)" \
+                       NV_VERBOSE=1 \
+                       RANLIB="$(tc-getRANLIB)" \
+                       DO_STRIP= \
+                       build-xnvctrl
+
+               emake -C "${S}"/nvidia-settings-${PV}/src \
+                       CC="$(tc-getCC)" \
+                       GTK3_AVAILABLE=$(usex gtk3 1 0) \
+                       LD="$(tc-getCC)" \
+                       LIBDIR="$(get_libdir)" \
+                       NVML_ENABLED=0 \
+                       NV_USE_BUNDLED_LIBJANSSON=0 \
+                       NV_VERBOSE=1 \
+                       DO_STRIP=
+       fi
+}
+
+# Install nvidia library:
+# the first parameter is the library to install
+# the second parameter is the provided soversion
+# the third parameter is the target directory if it is not /usr/lib
+donvidia() {
+       # Full path to library
+       nv_LIB="${1}"
+
+       # SOVER to use
+       nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
+
+       # Where to install
+       nv_DEST="${2}"
+
+       # Get just the library name
+       nv_LIBNAME=$(basename "${nv_LIB}")
+
+       if [[ "${nv_DEST}" ]]; then
+               exeinto ${nv_DEST}
+               action="doexe"
+       else
+               nv_DEST="/usr/$(get_libdir)"
+               action="dolib.so"
+       fi
+
+       # Install the library
+       ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
+
+       # If the library has a SONAME and SONAME does not match the library 
name,
+       # then we need to create a symlink
+       if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
+               dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} \
+                       || die "failed to create ${nv_DEST}/${nv_SOVER} symlink"
+       fi
+
+       dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} \
+               || die "failed to create ${nv_LIBNAME/.so*/.so} symlink"
+}
+
+src_install() {
+       if use driver && use kernel_linux; then
+               linux-mod_src_install
+
+               # Add the aliases
+               # This file is tweaked with the appropriate video group in
+               # pkg_preinst, see bug #491414
+               insinto /etc/modprobe.d
+               newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
+               doins "${FILESDIR}"/nvidia-rmmod.conf
+
+               # Ensures that our device nodes are created when not using X
+               exeinto "$(get_udevdir)"
+               newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
+               udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
+       elif use kernel_FreeBSD; then
+               if use x86-fbsd; then
+                       insinto /boot/modules
+                       doins "${S}/src/nvidia.kld"
+               fi
+
+               exeinto /boot/modules
+               doexe "${S}/src/nvidia.ko"
+       fi
+
+       # NVIDIA kernel <-> userspace driver config lib
+       donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
+
+       # NVIDIA framebuffer capture library
+       donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
+
+       # NVIDIA video encode/decode <-> CUDA
+       if use kernel_linux; then
+               donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
+               donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
+       fi
+
+       if use X; then
+               # Xorg DDX driver
+               insinto /usr/$(get_libdir)/xorg/modules/drivers
+               doins ${NV_X11}/nvidia_drv.so
+
+               # Xorg GLX driver
+               donvidia ${NV_X11}/libglx.so.${NV_SOVER} \
+                       /usr/$(get_libdir)/opengl/nvidia/extensions
+
+               # Xorg nvidia.conf
+               if has_version '>=x11-base/xorg-server-1.16'; then
+                       insinto /usr/share/X11/xorg.conf.d
+                       newins {,50-}nvidia-drm-outputclass.conf
+               fi
+       fi
+
+       # OpenCL ICD for NVIDIA
+       if use kernel_linux; then
+               insinto /etc/OpenCL/vendors
+               doins ${NV_OBJ}/nvidia.icd
+       fi
+
+       # Documentation
+       if use kernel_FreeBSD; then
+               dodoc "${NV_DOC}/README"
+               use X && doman "${NV_MAN}/nvidia-xconfig.1"
+               use tools && doman "${NV_MAN}/nvidia-settings.1"
+       else
+               # Docs
+               newdoc "${NV_DOC}/README.txt" README
+               dodoc "${NV_DOC}/NVIDIA_Changelog"
+               doman "${NV_MAN}/nvidia-smi.1.gz"
+               use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
+               use tools && doman "${NV_MAN}/nvidia-settings.1.gz"
+               doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
+       fi
+
+       docinto html
+       dodoc -r ${NV_DOC}/html/*
+
+       # Helper Apps
+       exeinto /opt/bin/
+
+       if use X; then
+               doexe ${NV_OBJ}/nvidia-xconfig
+
+               insinto /etc/vulkan/icd.d
+               doins nvidia_icd.json
+       fi
+
+       if use kernel_linux; then
+               doexe ${NV_OBJ}/nvidia-cuda-mps-control
+               doexe ${NV_OBJ}/nvidia-cuda-mps-server
+               doexe ${NV_OBJ}/nvidia-debugdump
+               doexe ${NV_OBJ}/nvidia-persistenced
+               doexe ${NV_OBJ}/nvidia-smi
+
+               # install nvidia-modprobe setuid and symlink in /usr/bin (bug 
#505092)
+               doexe ${NV_OBJ}/nvidia-modprobe
+               fowners root:video /opt/bin/nvidia-modprobe
+               fperms 4710 /opt/bin/nvidia-modprobe
+               dosym /{opt,usr}/bin/nvidia-modprobe
+
+               doman nvidia-cuda-mps-control.1.gz
+               doman nvidia-modprobe.1.gz
+               doman nvidia-persistenced.1.gz
+               newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
+               newconfd "${FILESDIR}/nvidia-persistenced.conf" 
nvidia-persistenced
+               newinitd "${FILESDIR}/nvidia-persistenced.init" 
nvidia-persistenced
+       fi
+
+       if use tools; then
+               emake -C "${S}"/nvidia-settings-${PV}/src/ \
+                       DESTDIR="${D}" \
+                       GTK3_AVAILABLE=$(usex gtk3 1 0) \
+                       LIBDIR="${D}/usr/$(get_libdir)" \
+                       NV_USE_BUNDLED_LIBJANSSON=0 \
+                       NV_VERBOSE=1 \
+                       PREFIX=/usr \
+                       DO_STRIP= \
+                       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
+                       src_install-libs
+               done
+               ABI=${OABI}
+               unset OABI
+       else
+               src_install-libs
+       fi
+
+       is_final_abi || die "failed to iterate through all ABIs"
+
+       readme.gentoo_create_doc
+}
+
+src_install-libs() {
+       local inslibdir=$(get_libdir)
+       local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
+       local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
+       local libdir=${NV_OBJ}
+
+       if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; 
then
+               libdir=${NV_OBJ}/32
+       fi
+
+       if use X; then
+               NV_GLX_LIBRARIES=(
+                       "libEGL.so.1 ${GL_ROOT}"
+                       "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
+                       "libGL.so.$(usex compat ${NV_SOVER} 1.0.0) ${GL_ROOT}"
+                       "libGLESv1_CM.so.1 ${GL_ROOT}"
+                       "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
+                       "libGLESv2.so.2 ${GL_ROOT}"
+                       "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
+                       "libGLX.so.0 ${GL_ROOT}"
+                       "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
+                       "libGLdispatch.so.0 ${GL_ROOT}"
+                       "libOpenCL.so.1.0.0 ${CL_ROOT}"
+                       "libOpenGL.so.0 ${GL_ROOT}"
+                       "libcuda.so.${NV_SOVER}"
+                       "libnvcuvid.so.${NV_SOVER}"
+                       "libnvidia-compiler.so.${NV_SOVER}"
+                       "libnvidia-eglcore.so.${NV_SOVER}"
+                       "libnvidia-encode.so.${NV_SOVER}"
+                       "libnvidia-fatbinaryloader.so.${NV_SOVER}"
+                       "libnvidia-fbc.so.${NV_SOVER}"
+                       "libnvidia-glcore.so.${NV_SOVER}"
+                       "libnvidia-glsi.so.${NV_SOVER}"
+                       "libnvidia-ifr.so.${NV_SOVER}"
+                       "libnvidia-opencl.so.${NV_SOVER}"
+                       "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
+                       "libvdpau_nvidia.so.${NV_SOVER}"
+               )
+
+               if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" 
]];
+               then
+                       NV_GLX_LIBRARIES+=(
+                               "libnvidia-egl-wayland.so.${NV_SOVER}"
+                       )
+               fi
+
+               if use kernel_linux && has_multilib_profile && [[ ${ABI} == 
"amd64" ]];
+               then
+                       NV_GLX_LIBRARIES+=(
+                               "libnvidia-wfb.so.${NV_SOVER}"
+                       )
+               fi
+
+               if use kernel_FreeBSD; then
+                       NV_GLX_LIBRARIES+=(
+                               "libnvidia-tls.so.${NV_SOVER}"
+                       )
+               fi
+
+               if use kernel_linux; then
+                       NV_GLX_LIBRARIES+=(
+                               "libnvidia-ml.so.${NV_SOVER}"
+                               "tls/libnvidia-tls.so.${NV_SOVER}"
+                       )
+               fi
+
+               for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
+                       donvidia ${libdir}/${NV_LIB}
+               done
+       fi
+}
+
+pkg_preinst() {
+       if use driver && use kernel_linux; then
+               linux-mod_pkg_preinst
+
+               local videogroup="$(egetent group video | cut -d ':' -f 3)"
+               if [ -z "${videogroup}" ]; then
+                       eerror "Failed to determine the video group gid"
+                       die "Failed to determine the video group gid"
+               else
+                       sed -i \
+                               -e "s:PACKAGE:${PF}:g" \
+                               -e "s:VIDEOGID:${videogroup}:" \
+                               "${D}"/etc/modprobe.d/nvidia.conf || die
+               fi
+       fi
+
+       # Clean the dynamic libGL stuff's home to ensure
+       # we dont have stale libs floating around
+       if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
+               rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
+       fi
+       # Make sure we nuke the old nvidia-glx's env.d file
+       if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
+               rm -f "${ROOT}"/etc/env.d/09nvidia
+       fi
+}
+
+pkg_postinst() {
+       use driver && use kernel_linux && linux-mod_pkg_postinst
+
+       # Switch to the nvidia implementation
+       use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
+       "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
+
+       readme.gentoo_print_elog
+
+       if ! use X; then
+               elog "You have elected to not install the X.org driver. Along 
with"
+               elog "this the OpenGL libraries and VDPAU libraries were not"
+               elog "installed. Additionally, once the driver is loaded your 
card"
+               elog "and fan will run at max speed which may not be desirable."
+               elog "Use the 'nvidia-smi' init script to have your card and 
fan"
+               elog "speed scale appropriately."
+               elog
+       fi
+       if ! use tools; then
+               elog "USE=tools controls whether the nvidia-settings 
application"
+               elog "is installed. If you would like to use it, enable that"
+               elog "flag and re-emerge this ebuild. Optionally you can 
install"
+               elog "media-video/nvidia-settings"
+               elog
+       fi
+}
+
+pkg_prerm() {
+       use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+       use driver && use kernel_linux && linux-mod_pkg_postrm
+       use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}

Reply via email to