Gentoo Archives: gentoo-commits

From: Jeroen Roovers <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-drivers/nvidia-drivers/
Date: Sat, 31 Mar 2018 11:42:13
Message-Id: 1522496450.6cd9a860339a4024dbf8c6f9d74c33673245128c.jer@gentoo
1 commit: 6cd9a860339a4024dbf8c6f9d74c33673245128c
2 Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
3 AuthorDate: Sat Mar 31 11:40:50 2018 +0000
4 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
5 CommitDate: Sat Mar 31 11:40:50 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6cd9a860
7
8 x11-drivers/nvidia-drivers: Versions 384.130 390.48.
9
10 Package-Manager: Portage-2.3.27, Repoman-2.3.9
11
12 x11-drivers/nvidia-drivers/Manifest | 12 +
13 .../nvidia-drivers/nvidia-drivers-340.106.ebuild | 6 +-
14 ...40.106.ebuild => nvidia-drivers-384.130.ebuild} | 324 ++++++++++---------
15 ...340.106.ebuild => nvidia-drivers-390.48.ebuild} | 342 ++++++++++++---------
16 4 files changed, 402 insertions(+), 282 deletions(-)
17
18 diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
19 index f6152c8c06e..11c33d7a30d 100644
20 --- a/x11-drivers/nvidia-drivers/Manifest
21 +++ b/x11-drivers/nvidia-drivers/Manifest
22 @@ -4,43 +4,55 @@ DIST NVIDIA-FreeBSD-x86-375.82.tar.gz 59566154 BLAKE2B b888b08cd434899ff73f04a85
23 DIST NVIDIA-FreeBSD-x86-378.13.tar.gz 59610253 BLAKE2B 723b392b869dd5cc9244cfe9df371fc6df6b4ebc4c1f01082fd79b2bbd0cbf4e670cfb69511f1773d28f6fc51a8801777dd6e3066f50fc96888a9efa467e459e SHA512 a0101201089df2bbf5bdc4ded2228dd989da6a47da31c3ec8d55916b1ff3457924555f82c7381934745fdc1b1f8f78e3fc10e5089279eb13423628dbfe560c6b
24 DIST NVIDIA-FreeBSD-x86-381.22.tar.gz 60112159 BLAKE2B 4a61e9a09218eb7d259f82d0a43fee313754004c8716e921b9a83a3e87fff9a291450bef5d7304b2a7ddf5750a830fb7c5cc9dab890dac4a714354265ca25034 SHA512 ffe5882051fad081854e7b7fefe86a4da55b263b2ca217664991a7e0d84ff2f22d62a37c89afd578f3c99c12be897e5db7a3d1c71c747df655af8e220eb983fa
25 DIST NVIDIA-FreeBSD-x86-384.111.tar.gz 63692297 BLAKE2B ae4bb643fd46afd14bf99f2ab5ceab1caf9ceed4e26b097814055495c5611a03ba731dd221d32a94b91bc5a4336ad64009b418e7fc814f621c473f6efb68942a SHA512 901f1e0414334e27d010cbb7f7bf1deb14d72ad6eaa154ec9b03fa82c370aa982f5dc691f72ec4dca7c555c34828479064192951981134ce1b40a32b70e6d58f
26 +DIST NVIDIA-FreeBSD-x86-384.130.tar.gz 63719036 BLAKE2B 971006aec05f5bb8f815420f5e1a62103119ae0192a275cc4df3034c20908ebcb8d5a886e030ec06a854102a79e2b31d53c2fcbf3450cb7fa0d9e1f64eeb835f SHA512 54d6d0776190d12f2562fe0ffdf82661fb8a0a4d3d575386a19f5dd5890a7ae4d2ad6704253e7cded62a9a0e1880f1bee9e6bf3aeeb8ce7a265a3d077b0c8018
27 DIST NVIDIA-FreeBSD-x86-387.34.tar.gz 64228643 BLAKE2B 80011df5d037cd0a2a6faccf6c990e6019cb85c906c1410d4dde033a8a945ecd46e80a1315e46dc05fa47003eb328c6b8e8e41e18dce60942e645c0e6b813717 SHA512 875648459a149d506b20eb7105e73086e1fb51dddfbd8b484b8cc4793682c088ba16b3d374b0e807738f7aa7489dd9eab2449f70bc9feefeec0bf3a88025b9ef
28 DIST NVIDIA-FreeBSD-x86-390.42.tar.gz 64258071 BLAKE2B 765b55676127ff64d90ee65bb3d4a400b1f15f741338a09b09a926fb465b47b6d7036c6c761d64b9dee76ad4cfacb97888a3053bbe62c769cfb3155e7c13d879 SHA512 1271e3bdf55b2c03e63083b3b867fa03d4d2e71ab2a8a0100bd137acedb1fef2416045079bbccd0fc48255496128c37ab619fa5a3e7b992b9d96cf288bc6e4b0
29 +DIST NVIDIA-FreeBSD-x86-390.48.tar.gz 64254145 BLAKE2B ce668715fbec4f54eb9946fc2f5be56c132da8a2a65678b8aac0e3c0a55f60298212be4a5f6eca90a75d50ce3b9831521d02e7bd004d5c3c61fb5a460c7dc00a SHA512 7255d628be927f17f1108dae458d2d3844b46c42f460bdeac3dbb1dec6b5bf76d2790752e8bfaae35e11d49adb2a43ed1d8fc6a9325152490a21dac8e5c1734c
30 DIST NVIDIA-FreeBSD-x86_64-304.137.tar.gz 36474676 BLAKE2B bd75e2916d34f76566d838406419991a860118830366f0297fa63baade3a99f637dae601d6bc6a051596222f2715297dffbf9b81ff5478b030741e6c8a09bc13 SHA512 f0ae7ccea417aceedf34bfb9c96fd79b31cbf74a8fa59d5199b0ad7b81b8a4aeb66cd4801a45cc37f836979cb4267aa69e08517beaa9b8cb9c66a477d02ef8de
31 DIST NVIDIA-FreeBSD-x86_64-340.106.tar.gz 61169129 BLAKE2B 0a8e0deb883025d20df5165f39042bcee5d75ea78b19733cff014448c8d62022dbb98af2adebd13485e281a52c9a1c4986ae020b4eb6a821a411836e7333d4f1 SHA512 c2d0a0b1856522b28243697db22ad99d8521b00d9dfa2da724f2ee243b545b7dbf24319d9a0939855bab29251f001063391a760bd3db750bf9950ce1f9376847
32 DIST NVIDIA-FreeBSD-x86_64-375.82.tar.gz 58748290 BLAKE2B 629d65b71270d1c0d94c71e4215a72f0e49bb82e68ebb93fd4b14cd56a2031674458764f4c3e2e3dec7379ec0d5ed9212c8d09a64e4361f40352e52aa9b57de5 SHA512 5e2b42ff63e06219764db8187203ce1a2c3c8b478be31fc713ef396e8f8d46def9b2631d7989866740bd0c6a81bbf5d2ed083c14cfa7171c0d993553ca6f431c
33 DIST NVIDIA-FreeBSD-x86_64-378.13.tar.gz 58779963 BLAKE2B d0a165dab740b25e1d97050e4dfc9f916ae17159eb4e4b79e068a4cd6ec3e2bc146d061abb4a411847cbb0d987253f86327e67ffd6efaf725c4fa4dce27e4fa9 SHA512 34cfc383ba196ecec2cd27fc12bf30dd58f8782b73414e7b4c182e832ae0dce1f8c017afbb2101d7525d4e321f80cac49d3b578a8fc0cf88be9310f4deb77057
34 DIST NVIDIA-FreeBSD-x86_64-381.22.tar.gz 59284579 BLAKE2B 45703b5658c586fe2fbfaf84a54a591a7d25e836195c47c43375b74a730c1a7aa4dd7bd17d13e7194b37d51da0f11540da1bee564e1c27351ecc6915e65012d5 SHA512 51c5a87fabe87ec7f2589ed97d97447b127ecb5fe501c60bc7c9fce74141c127f4f9bb820d2a9b34fb56db436476d0cb18a73845ab4e7ec2315d4975c8ce4e32
35 DIST NVIDIA-FreeBSD-x86_64-384.111.tar.gz 62886396 BLAKE2B d92cd0b96165450599100b1985fe1844d2e5eb4ee2f560a94445c1686e9701fbb0e30dd8b7f6f6f6cf329cea335f6f8f6bd3a75c7b583599420cf415de898eb5 SHA512 320315e7817474ccb026f9edf15572b445d71076a456fec59801959535ed1f92071f372c3284327b11e82a73d0efa46bacb907ea875f631c39bfd4217c1504bf
36 +DIST NVIDIA-FreeBSD-x86_64-384.130.tar.gz 62901704 BLAKE2B 50be9af398f88caa012a7af702ed3d150bd4d0e5aca862dab09f30038906d79254999079983fe242dfe8158549e25f3a49ea8ad07114d8d3bcd01c8a076e8c8f SHA512 ad1a32f8268003d165570137947f517c82074b0851b86a1928f016de95f3dacef4d48f4873f00d603d49b44fe2b99d65295ed4e655d4b16f71c284994a1ea148
37 DIST NVIDIA-FreeBSD-x86_64-387.34.tar.gz 63387097 BLAKE2B 53689ba098b4a4de08dca056618ea533c92d17137ec954dea0ae71e1b2c825c021979871e4ff82c820be0a78d3c365f282b760940ebe2caa1ca5bfd2453e178e SHA512 0a905ee72ee6f4e9c941e5dd1f7cddf96bfb20c6da32fd05599258e1bb154f68463d775ba8ff4f67f0d4b8e637e9ed9624fc9a4873a1f2621dc86732f0d6d70d
38 DIST NVIDIA-FreeBSD-x86_64-390.42.tar.gz 63578748 BLAKE2B ebae1724c8a8125c15dff5466677b4217586a2851bd8f8e831b55e236b00bd68ba421b21da87bf8389b17f59069482276c0ef923f85d47dfb701cd6e5fda8a6b SHA512 0fde34e642fb92d099166530cdf3eb6301f11068a4780decab33c68e046aea58904f1e8fd2189900a2b140e536933de418b27a2d40e1d7e486d3df1143370007
39 +DIST NVIDIA-FreeBSD-x86_64-390.48.tar.gz 63583858 BLAKE2B bce8b6b7c739b5aec98ff919f3b6171d73f70179d6af6d7883b574d815e69de7bad9f0d774e4176385bee31181ff9e6ea510115aebe912909ea86bd9cc825aef SHA512 7de36ad359a0640982467fe1178f33a4694cf5f8ec8385cc01ecd6947c5e83e4d603b7b3c90cb6ad96c4e78c1af1bab99e74f70690540dab3a22f4b77cf14434
40 DIST NVIDIA-Linux-armv7l-gnueabihf-375.82.run 26650801 BLAKE2B 31446667065c56b48f6a3e737afe29a4517459d3462138136bffe383bc6fe514d6e80b49c391c27edc96b8abc3da3dd4d6ee3f3dca17f3c9a0f1cdf0e72cf099 SHA512 28554f1c24fe63c9257c0de3e84e4e739a45bf1c20ec7a53bc2c1b69b4e2355675061491ef5b03f3ae489cf623e553cfa68442f5536f137837327036d1c53d63
41 DIST NVIDIA-Linux-armv7l-gnueabihf-378.13.run 26514235 BLAKE2B 2b3c540704496a290be7ae3f1ff378487c75af2298c12488da8b3a1814446e5df02a1ed99afd8ee7fc459d950aab472155359eae0bf56ac83389711d70638152 SHA512 253786a821df85fa926ae842114321b3c70502f887ea7c2b6790dfe3836039ee5d390e6722ca8785904ec6487e465916923d3042dc6191b3b4522c3161b80cb0
42 DIST NVIDIA-Linux-armv7l-gnueabihf-381.22.run 26815484 BLAKE2B e5f0241b07d1e54edea2025dd30061d1018c68cc2c7136c507eb894bbad5be3d0724494e2b9f33d1f8f60da4904999bbb964e6f2e78d045d7cd86bcd46b7f6d0 SHA512 934cda37c7aed26243b5b661122e1c060de5b4df890aaf2295b6650dddea37cb4f0e3f0bebddb00b5d687b66ab5e028a203195c4d4ad3379593babda42febe77
43 DIST NVIDIA-Linux-armv7l-gnueabihf-384.111.run 28892959 BLAKE2B 7cd07fe8fda8b98b7ee7841a0ecad51f0a90ace332fb5ebd4dbf7fc04e47b627fe005712fe19b05e0e7eb5208d2cf413a87ed69330e8bd9a6f87ac41f6919dc4 SHA512 af1d29c3aa6aad8c64d698ca2a725d267e7ff299d683e5307c82e7306834ce1716084c492d2604db0e5d33ba4228fbf85e5f6275bedfb17980e33b6318cb06c9
44 +DIST NVIDIA-Linux-armv7l-gnueabihf-384.130.run 28899034 BLAKE2B 4f104243e87d0688d5f234bcadeb501914394ca5ae29c0f7ca7ae8038982c7df14652a1b85fb62a3466a6d4f7cda95c9726367bfd8ab1bf0b73f3fa617418276 SHA512 bd7be99881295f4ddf92b8c6791c4315c7b8699cdd346247dd54dfeb48ee61a40597483379922f5e3d0b28c9b9b9e75dca91c535e4695ebe57734c26f1484f61
45 DIST NVIDIA-Linux-armv7l-gnueabihf-387.34.run 29406773 BLAKE2B af27fb1bfa8e432c83220f88c57219d572dfab2d3624c8702759a747f25ff962dba7c39028af5746e04c913c9a53dfbec8a46801bfa7e38df65a8823c4858cca SHA512 cb631dc3b851d84881dfcabee776c68a935853d03f21595acfea84a3efbc85276070f9d0958c0bcced1e66f42f25ecf3fd7d615c715274130ca24426da678c2e
46 DIST NVIDIA-Linux-armv7l-gnueabihf-390.42.run 28680665 BLAKE2B 41ddd2870a6ac128b4988e724481fc43d1df902a6f87438170b39f299ab190e0facf61a53c9322f1f1ea3b9386b0df88c59beb600e44056c1c1217668f9bc9e1 SHA512 7c5ca46cce345d53f0991b6076ee62a2e777e5cb2b5b2612eaec88fb0d4f53e66d88b4978dfb15f23a80af57f1834dd9016daeb1d3b329cee1f4e0777afb5979
47 +DIST NVIDIA-Linux-armv7l-gnueabihf-390.48.run 28693609 BLAKE2B 7d26448fc72ddb6919582557ac6e7ee6b23acfd441b62cea2bcafa79a75e15ea2c583d6462abd3f18b08ca150dcaae6e881ebe4b7ede84a1e32bc6da4675c380 SHA512 36a8857a586edee40e6b5c5c19fef3464a00b1f13b0e06fbde83bd1e17ac40ee3d6fda1c8c5cb52f8987b35c79226bebbee07bf05c5bf11c42388dcee76999a2
48 DIST NVIDIA-Linux-x86-304.137.run 41504115 BLAKE2B 5938d4df818947e5576172c0ee9bfa42a2fc49a7a7a2b14128cf3b967dfea6d4523901b33283284d450cfadc2c6d72a82a1533b27ebb4b542b6b1454fe8ae960 SHA512 021c5a88d50489aa0a1c7eac14259e23542b93578ae339995a2e38b786d06d239968c07933cab3fb78a922cffc7e213d6fa3fe07e34065a9c7f03e24f8729370
49 DIST NVIDIA-Linux-x86-340.106.run 38816967 BLAKE2B b3ab5613359b43eaace36de9a8ab753df954bdf60e5acfe168e270474e0dc400acd46b5dcec809fad3d59babdf52988b3b5a8c20e8a0253b6388b7eb60ff4ba1 SHA512 923da7d61ef89a7bd83e0223c72fcdc556ef31cb97015a129a3adbdc3aad29dbf49f6fd23dc5188a53722e22cf4ba35c6a98e6ca9fdc6c24bb72ab87153d8bc4
50 DIST NVIDIA-Linux-x86-375.82.run 44633335 BLAKE2B 55392ba748108b47994bf272829a6476dfc23f7756e0c18d56c8e4d827968196ee70e521c2e6307c134ca0c85d59715db777583fb07c8e06ae7325d586a8117b SHA512 cbd6edd7490e0e5ef9dd2020c18eb5f75412993e06b9c4f1919f49a8ffdc36131a96d868ab51691fb5c4a661e826b000ec93363c9b168304f6498014e300bf24
51 DIST NVIDIA-Linux-x86-378.13.run 44397547 BLAKE2B 5b45bdceba75e214028b9f59a3655482ac1ac2b51cc0a6ea22927e5143b47c670db7078ed898e04663feb9fd495165954c90df5ee3afca00155dcc2ae6a97dc8 SHA512 b96d2558a1003a3c66cade3a1e16abd34d855c0e27cdebacdc0495e0ba3cd5c68bb84cc5f81bff1b9ddce36ac52e0dc125c56d868b77d7c8e2f606d559b13b4a
52 DIST NVIDIA-Linux-x86-381.22.run 42931990 BLAKE2B cf1ae154854860557bf3e4a50216f1373ff66a45535e7beec67392b1cd1d40a02d758fa3e1cfa0462145b912430b0d1a3b6de3e6d6ede8aa1f484ea0ab46f816 SHA512 15723bfa25b0f39224ad5098c784a292abe4bf1daafaeb2f1df910bbab466e666b848b12e50b0bdd45f83e2d81957425a63501550b3dc5eb8fe3e576a8a10d22
53 DIST NVIDIA-Linux-x86-384.111.run 46999570 BLAKE2B bb2439fb12400e13a65f9dd3712f1a9030bf46fedc070aed0cda77365c62a06376604821adc53e6ea69ebf357f5243e7307d46a8ae14c0d8ef289f87e655f88f SHA512 59acc24ec534f69972604828231895df10cbd46951762ded6f0a1b11c8d0ce3c6fb82a60197dd04389bf6e27fcc45f80fd91a72acefb8ccf9d622a910ccfb736
54 +DIST NVIDIA-Linux-x86-384.130.run 47539521 BLAKE2B d0b84aa6e0a41d7202cce247a419adad5c94d0d98feb83594644d8e0a9426d0c07a5b5889297bc830c7456a4e8cc165a3b23c004e83cabad1000bf5a6e1a147a SHA512 0ed01818606eb7309811a3cb0ae71e9906e318d579dfd85bafcbae498a27f801836c1f1eefee6791ec5d9c6a4c41d244c43b8329583ae4991b45171cac99638d
55 DIST NVIDIA-Linux-x86-387.34.run 47797853 BLAKE2B 4ae211ee00e09fe385f24e05cfac3af28447ec18e7a7f53e7f310c210ec22f60094be087aae45d0ea99c90214a07d3c46ce6867984ac0ff6e56559693fcdf148 SHA512 ba9362123a75f85a0a5a9dcc95c06bcb350a8dff2db864db30a73172db44006fa39eee8e23cf959ab2012b61b922d1f0d7ab225329815737819f27d1be300b95
56 DIST NVIDIA-Linux-x86-390.42.run 47248228 BLAKE2B 1a9ca86c8e449627d68e474f0c4226d55839b27d06c630a059f1a36007b37328b7be2ecf12a94b82722e088b387ef943c4e117fd1a35743b053959160950e7a7 SHA512 079cfae9ce318e30d8699c7a1e9b8fc528382be68605ceea16b5cb671d11588098af001b6cb4c66c904a248193742efc450e18101f9dda73c1ca101ab8aca2ce
57 +DIST NVIDIA-Linux-x86-390.48.run 47374800 BLAKE2B a17c85d141a5442cb9f5df7cd58d4f377f9deb74e214009af9d3e9a845c6d13910f33206e1d546eb9f8287f4ddcee7ba139acb86d02703c7bca33946d5b015c4 SHA512 9d80616abbf1f95c89bb3e6bda864708adc887a62ccdf8865e956c305bb013b0e54ffb3f495805363ee60a9115ab5fb38adf1534750a6afb69a457a4d034daeb
58 DIST NVIDIA-Linux-x86_64-304.137.run 70087133 BLAKE2B 8db0ade7cf64231ae11e6fc55a16a68a2f7b11a8bb7debb49799fee96eba06a3062b97fe539b093727623a1ed1067282813de047c2aeb89d93bf35a97c71aac5 SHA512 d7fae1e486005ffa2f2bf7f14f901bf5156fc784407a9acfea584f49bdab92ff5f4d0fb66c4c5b2800a461fc06aebb7d760bcb59f69ce4f2cb4e03e11816b3e9
59 DIST NVIDIA-Linux-x86_64-340.106.run 69987642 BLAKE2B 9b5644a58169557bda2ca6b367909bbbbe9c94ab869a91a4df8f8446a1e66f051f8b9c67e10d809d7e7a319fb318be3c5d0f35862cb315fdaf5623ce8794efb5 SHA512 64474a2dc664142868125df3562ccb676cef02659c5e45d570a2f00f2ab172ba3e61ea6ca42faade1747516c9a0c8b2c4e7cd3037ee90fb072b0c5cae45431bc
60 DIST NVIDIA-Linux-x86_64-375.82.run 77461911 BLAKE2B e7f32bdf1672d98a1fe98c82d80a08dd6f63b3c859df4c60124977dae19520a21e4239ff7be6c272243d4af9416320b5e166d8f100979daa0d005ea2a44fc16d SHA512 6da63b807d6dd7cc8ac2b794d5c9ab8383e3c0ce6a47adc600941545509fb40b5f06344781afc895bd83f2780b2bce187994df5684db2890f50b41adfee8f910
61 DIST NVIDIA-Linux-x86_64-378.13.run 76239469 BLAKE2B 0f2be330645f8d9d2828fa6d159f9e41ef09bb32805f94cf3fa255f088a8c6f4c25add584787bd1ed64756ef75821f7143c14330718cc5f5ac3cbcf8b7c3bae4 SHA512 2f6789aa0a400c035c0a074631dc5c26abb4f8a62efe928ca3a2865b89d29acfc09c27f23a664e438275e4bfd25c261745d4d495f9aca5f54ee6c53a389059d2
62 DIST NVIDIA-Linux-x86_64-381.22.run 76581130 BLAKE2B fdb5912a775b56edf7dd784b640997fe683d0a32d57db6079dc5466a1a8dc1354cd31ff86aa1e993e0a33163e4c18f6a7aa990e334448ad069db3a5ffc4f1ffa SHA512 669a3dd0896d68ba8eef4689b01971b92ec1c54e6cf2a9ff8d3f281ae9f2fe402f079e76109b65e698d76798bcc7a9bb43da9d128fec59ac1fafafd1c4a1e42c
63 DIST NVIDIA-Linux-x86_64-384.111.run 81005322 BLAKE2B f3359ee60d11e823981583669ed598f4dfb549c0cc208e34671af81ad4f88eb23581d86309442a5c6aa1f83a0fb9dc7376c171b7d09ef42ee3d26e67c6350f44 SHA512 ddfe787a37f2a0e5409b302b13da16bd32a4a018958aa6f3b046eae7bf06d140f8d8f496e04726c57057139ebfce40811240b13d6a4ac6412655af6b257a0c5e
64 +DIST NVIDIA-Linux-x86_64-384.130.run 82260837 BLAKE2B 55b6f3627680c881821f5d20f05cb6c7941b1deebf28f22f6712cac73d07e6202507c9f3b98eb8fc59ca8ed0c6aaa4819db5fc5a331f4505887dac6f31774335 SHA512 301fa7d9d73a0654e0090bf4bae98896388c1f52453f1b886e320e36765dc529f802c509a2d518714f2b348df59f9c9048e01b3874819bde4f53cf98aaa2cfff
65 DIST NVIDIA-Linux-x86_64-387.34.run 82784271 BLAKE2B b7140d5d6a693892df50b3ad2e20387673dec6b5ac609cc0300bdc4b4a93ca94849255699126e4d55e67f10e488bfe6008e987197ea239b1a1b643b4ae5c7808 SHA512 6742768f1258a028c9ba56ad1d72f27d7eea4b6bfd324ba29c7f057ab5819816bd728aeaf2a8058031dadcd4c51bc6d08f0e0e0e26c68ed57955e90d68ac5a4b
66 DIST NVIDIA-Linux-x86_64-390.42.run 81836210 BLAKE2B a72c581b3aadb234d8e5230fb8d1a4cdbb03aa43434320e6cb3ef7b409dcc299d64b21b7c822736760fc12193da2d603009b8353312573b2b2a16311a88fc96b SHA512 6cbf02630ac79a5cbb37f442f4def2a196b4a9d2a3600b0f5cdc3c148dd59d07994a2cee2efe0ac4139b6543698331c07f015c37b391d4f00acab7b2f033ad18
67 +DIST NVIDIA-Linux-x86_64-390.48.run 81341723 BLAKE2B 0b787e7f667bf1edb6e5c4c1bfc7c6bea2546208148f84f044c405a857bdbee5c8fbeb4ce325375acf32b4d27d8a10c7f18fbcd880afe1e1e06f31997642c092 SHA512 47f4bcc0d88d1e80ed0c03cacde96301b1c657bec88935ee2edf9b96726620f70c747a174f1a8725b56f4812961878c01df02c249ac4810dc4aedf62d1152a7f
68 DIST nvidia-settings-304.137.tar.bz2 1481361 BLAKE2B cf52a55a34eeb03a685a683487af6a198ba467dd8ba9983cc75624a37a226373cd931d98e8448b7b8ed430c54be2118c7b240ed2a9100b19bec5e832e2f6cdad SHA512 676d1f70c9a78ee234f5f1a283412430a386fa604de211afba02806a45906c5e246a002989b724d74752178d28c92a268de1c98d4c87876797d991253f16b0cc
69 DIST nvidia-settings-340.106.tar.bz2 1549841 BLAKE2B 3419467424bc05a4a36f588e326eac4214250686f54c6c440c9a46bab80b15dee77e65d5880ed4338c0fc421306844d20a4dda0d5151a8d49441ef5048ab9bf6 SHA512 670f8469d5127f0966794ed822492f16f7a84656530d0b96f1ccdc915e6c588e9f1417b7ce1cc741df256383292820affaa10784ab748575f4adf2f98f961a27
70 DIST nvidia-settings-375.82.tar.gz 2114647 BLAKE2B 26413fde8397e748fae362984039286c53a7fe104228452f3188b5e77b084ff4bf00131e77359ff5e92dfc325680c1f662950175cf806403d2a524ba86158f51 SHA512 7a374be56c8be52767d73a048029d9e55dc2abcf2f6a97eb4931544c927c85a1103a206be9e8d1ffcef36fec2caf2416f33699ad4d51e7dca17e4e844c37a595
71 DIST nvidia-settings-378.13.tar.gz 2112676 BLAKE2B 7e3e7c20986c184ddb08808706902f332451df1ab5b0cc295de70c6c26706b067ba6ef96c4e4a68c935ee704ed031cb829c25aa325c6dd2f1ed0423cf5c1aec5 SHA512 6f5fda9c54b067e21f2c869bcfb7c799c99f584d769020cb15e8764f59183e6a6469919ec48bce47be2144910d0004a9ca221df4a9e4fa9ab9f18710b36fa420
72 DIST nvidia-settings-381.22.tar.gz 2127491 BLAKE2B 7721ed9df7c01671a56a720e75768c80debe8520aed5a838e1e1d365651db2ae42b0cd21801c60aa18944f8d4751fadac206a388f1cf107a03a25ccb8aeb5c5f SHA512 79cd41b9c0e63b69574caddb62437132810ecb4cd07b90899976ae8535948f28d72021fc9a6969559909cf0f7a5d411b0202782970d64a82c636e7738c9d5681
73 DIST nvidia-settings-384.111.tar.bz2 1631841 BLAKE2B 32c102c77234d3c9ad84ac6d343e01230747e824ee7f627f3638543aa6e37a3e652fb6d654b4bd39715d23c2b1b4da0a9f611920cddd893e34d8093ea4b3c3cf SHA512 4e0672858a13e22a4806b135db8c450a01bf2dd401f102837dd1a43496e38a2b4cbd518ce551fa549810a1b8959668b4f7aaa0f71302302501f226902e262c6d
74 +DIST nvidia-settings-384.130.tar.bz2 1633217 BLAKE2B ffc1381e680e94aee95752074c39163e48082615f92c6184c01fc7d21e20bf18308d30960db0db602baf89b34fdd295a715692446d21fb2491056ec707e8b844 SHA512 3d878552a78234347f4e51920e8358e56b42d595375e8fd2b0520c3495b02d6fc3877d4346354145c420acd79ff1e9607c312330b2a2e27781a3a576f8860939
75 DIST nvidia-settings-387.34.tar.gz 1267616 BLAKE2B 62d2fd329417f54bf384918889603921065e0ef6d4fb691e914534a75ab0062a17d8f886c593cf772d29bb6b56ce30aaf7b1548191b2f9ad5fbee71770ed5308 SHA512 559c859c0740575ab93edce013587250b98d7d2cd55198b5103fe97423d31ed9f113d83c240c402404de88074c285a07e46342538610d3d5dade7bed59d60090
76 DIST nvidia-settings-390.42.tar.bz2 1109291 BLAKE2B 34eb3712286c5dccf268cc478a90f37d0fe41a32d39226973c913bb50f1f9d4943f7c49c5b3d3a5f4726209f1b6ec0a6b0a8df25a33155c4fce1b71f563b06be SHA512 5907aa76cbcd136593c0b517c0a6c08764d9b14a90fa0951278fdbaa6c44c8d3149a902bace1f8203ba621af376030bcf7c51f3579edb1cb3152a97eb443134a
77 +DIST nvidia-settings-390.48.tar.bz2 1109673 BLAKE2B 5aae2556185cc3a1fdb0f0bf051108661c53868a41d38b46223e4e63447c57971bc565059f107e8a4474356bffecce359966621f463d529c6fc59b5d6706cf26 SHA512 8252f5258e0a3533645d78b8be6c08c5362421423bf4c8e648a4c11ecc1ea2ab56eca07e51e5064dcfa1e4d61b64f837728091bf3ce244526baef58eaf20f1b9
78
79 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-340.106.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-340.106.ebuild
80 index cb601342d6e..44c8c619b85 100644
81 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-340.106.ebuild
82 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-340.106.ebuild
83 @@ -78,11 +78,11 @@ nvidia_drivers_versions_check() {
84 die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
85 fi
86
87 - if use kernel_linux && kernel_is ge 4 11; then
88 + if use kernel_linux && kernel_is ge 4 15; then
89 ewarn "Gentoo supports kernels which are supported by NVIDIA"
90 ewarn "which are limited to the following kernels:"
91 - ewarn "<sys-kernel/gentoo-sources-4.11"
92 - ewarn "<sys-kernel/vanilla-sources-4.11"
93 + ewarn "<sys-kernel/gentoo-sources-4.15"
94 + ewarn "<sys-kernel/vanilla-sources-4.15"
95 ewarn ""
96 ewarn "You are free to utilize eapply_user to provide whatever"
97 ewarn "support you feel is appropriate, but will not receive"
98
99 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-340.106.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-384.130.ebuild
100 similarity index 62%
101 copy from x11-drivers/nvidia-drivers/nvidia-drivers-340.106.ebuild
102 copy to x11-drivers/nvidia-drivers/nvidia-drivers-384.130.ebuild
103 index cb601342d6e..bc0b31a4f6c 100644
104 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-340.106.ebuild
105 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-384.130.ebuild
106 @@ -5,29 +5,39 @@ EAPI=6
107 inherit eutils flag-o-matic linux-info linux-mod multilib-minimal nvidia-driver \
108 portability toolchain-funcs unpacker user udev
109
110 -NV_URI="http://http.download.nvidia.com/XFree86/"
111 -X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
112 +DESCRIPTION="NVIDIA Accelerated Graphics Driver"
113 +HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx"
114 +
115 +AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
116 AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
117 +ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
118 X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
119 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
120 +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
121
122 -DESCRIPTION="NVIDIA Accelerated Graphics Driver"
123 -HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx"
124 +NV_URI="http://us.download.nvidia.com/XFree86/"
125 SRC_URI="
126 amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
127 amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
128 + arm? ( ${NV_URI}Linux-32bit-ARM/${PV}/${ARM_NV_PACKAGE}.run )
129 x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
130 x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
131 - tools? ( ${NV_URI}nvidia-settings/nvidia-settings-${PV}.tar.bz2 )
132 + tools? (
133 + https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
134 + )
135 "
136
137 LICENSE="GPL-2 NVIDIA-r2"
138 SLOT="0/${PV%.*}"
139 -KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
140 -IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel static-libs +tools +X uvm"
141 +KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
142 RESTRICT="bindist mirror"
143 EMULTILIB_PKG="true"
144
145 +IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
146 +REQUIRED_USE="
147 + tools? ( X )
148 + static-libs? ( tools )
149 +"
150 +
151 COMMON="
152 app-eselect/eselect-opencl
153 kernel_linux? ( >=sys-libs/glibc-2.6.1 )
154 @@ -35,38 +45,43 @@ COMMON="
155 dev-libs/atk
156 dev-libs/glib:2
157 dev-libs/jansson
158 + gtk3? (
159 + x11-libs/gtk+:3
160 + )
161 + x11-libs/cairo
162 x11-libs/gdk-pixbuf[X]
163 - >=x11-libs/gtk+-2.4:2
164 + x11-libs/gtk+:2
165 x11-libs/libX11
166 x11-libs/libXext
167 + x11-libs/libXrandr
168 + x11-libs/libXv
169 + x11-libs/libXxf86vm
170 x11-libs/pango[X]
171 )
172 X? (
173 >=app-eselect/eselect-opengl-1.0.9
174 + app-misc/pax-utils
175 )
176 "
177 DEPEND="
178 ${COMMON}
179 - app-arch/xz-utils
180 kernel_linux? ( virtual/linux-sources )
181 + tools? ( sys-apps/dbus )
182 "
183 RDEPEND="
184 ${COMMON}
185 acpi? ( sys-power/acpid )
186 tools? ( !media-video/nvidia-settings )
187 + wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
188 X? (
189 <x11-base/xorg-server-1.19.99:=
190 - >=x11-libs/libvdpau-0.3-r1
191 + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
192 + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
193 + >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
194 sys-libs/zlib[${MULTILIB_USEDEP}]
195 - multilib? (
196 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
197 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
198 - )
199 )
200 "
201
202 -REQUIRED_USE="tools? ( X )"
203 -
204 QA_PREBUILT="opt/* usr/lib*"
205
206 S=${WORKDIR}/
207 @@ -78,13 +93,13 @@ nvidia_drivers_versions_check() {
208 die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
209 fi
210
211 - if use kernel_linux && kernel_is ge 4 11; then
212 + if use kernel_linux && kernel_is ge 4 16; then
213 ewarn "Gentoo supports kernels which are supported by NVIDIA"
214 ewarn "which are limited to the following kernels:"
215 - ewarn "<sys-kernel/gentoo-sources-4.11"
216 - ewarn "<sys-kernel/vanilla-sources-4.11"
217 + ewarn "<sys-kernel/gentoo-sources-4.16"
218 + ewarn "<sys-kernel/vanilla-sources-4.16"
219 ewarn ""
220 - ewarn "You are free to utilize eapply_user to provide whatever"
221 + ewarn "You are free to utilize epatch_user to provide whatever"
222 ewarn "support you feel is appropriate, but will not receive"
223 ewarn "support as a result of those changes."
224 ewarn ""
225 @@ -117,9 +132,10 @@ pkg_setup() {
226 export DISTCC_DISABLE=1
227 export CCACHE_DISABLE=1
228
229 - if use kernel_linux; then
230 + if use driver && use kernel_linux; then
231 MODULE_NAMES="nvidia(video:${S}/kernel)"
232 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)"
233 + use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
234 + use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
235
236 # This needs to run after MODULE_NAMES (so that the eclass checks
237 # whether the kernel supports loadable modules) but before BUILD_PARAMS
238 @@ -127,7 +143,7 @@ pkg_setup() {
239 linux-mod_pkg_setup
240
241 BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
242 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
243 + SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
244
245 # linux-mod_src_compile calls set_arch_to_kernel, which
246 # sets the ARCH to x86 but NVIDIA's wrapping Makefile
247 @@ -136,6 +152,10 @@ pkg_setup() {
248 BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
249 fi
250
251 + if use kernel_linux && kernel_is lt 2 6 9; then
252 + eerror "You must build this against 2.6.9 or higher kernels."
253 + fi
254 +
255 # set variables to where files are in the package structure
256 if use kernel_FreeBSD; then
257 use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
258 @@ -159,23 +179,11 @@ pkg_setup() {
259 }
260
261 src_prepare() {
262 - # Please add a brief description for every added patch
263 -
264 - if use kernel_linux; then
265 - if kernel_is lt 2 6 9 ; then
266 - eerror "You must build this against 2.6.9 or higher kernels."
267 - fi
268 -
269 - # If greater than 2.6.5 use M= instead of SUBDIR=
270 -# convert_to_m "${NV_SRC}"/Makefile.kbuild
271 - fi
272 -
273 if use pax_kernel; then
274 ewarn "Using PAX patches is not supported. You will be asked to"
275 ewarn "use a standard kernel should you have issues. Should you"
276 ewarn "need support with these patches, contact the PaX team."
277 - eapply "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch
278 - eapply "${FILESDIR}"/${PN}-337.12-pax-constify.patch
279 + eapply "${FILESDIR}"/${PN}-375.20-pax.patch
280 fi
281
282 local man_file
283 @@ -185,6 +193,11 @@ src_prepare() {
284
285 # Allow user patches so they can support RC kernels and whatever else
286 eapply_user
287 +
288 + if ! [ -f nvidia_icd.json ]; then
289 + cp nvidia_icd.json.template nvidia_icd.json || die
290 + sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
291 + fi
292 }
293
294 src_compile() {
295 @@ -196,75 +209,73 @@ src_compile() {
296 if use kernel_FreeBSD; then
297 MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
298 LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
299 - elif use kernel_linux; then
300 - use uvm && MAKEOPTS=-j1
301 - linux-mod_src_compile
302 + elif use driver && use kernel_linux; then
303 + MAKEOPTS=-j1 linux-mod_src_compile
304 fi
305
306 if use tools; then
307 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl clean
308 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
309 + emake -C "${S}"/nvidia-settings-${PV}/src \
310 AR="$(tc-getAR)" \
311 CC="$(tc-getCC)" \
312 + LIBDIR="$(get_libdir)" \
313 + NV_VERBOSE=1 \
314 RANLIB="$(tc-getRANLIB)" \
315 - libXNVCtrl.a
316 + DO_STRIP= \
317 + build-xnvctrl
318 +
319 emake -C "${S}"/nvidia-settings-${PV}/src \
320 - AR="$(tc-getAR)" \
321 CC="$(tc-getCC)" \
322 + GTK3_AVAILABLE=$(usex gtk3 1 0) \
323 LD="$(tc-getCC)" \
324 LIBDIR="$(get_libdir)" \
325 NVML_ENABLED=0 \
326 NV_USE_BUNDLED_LIBJANSSON=0 \
327 NV_VERBOSE=1 \
328 - RANLIB="$(tc-getRANLIB)" \
329 - STRIP_CMD=true
330 + DO_STRIP=
331 fi
332 }
333
334 # Install nvidia library:
335 # the first parameter is the library to install
336 # the second parameter is the provided soversion
337 -# the third parameter is the target directory if its not /usr/lib
338 +# the third parameter is the target directory if it is not /usr/lib
339 donvidia() {
340 - # Full path to library minus SOVER
341 - MY_LIB="$1"
342 + # Full path to library
343 + nv_LIB="${1}"
344
345 # SOVER to use
346 - MY_SOVER="$2"
347 + nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
348
349 # Where to install
350 - MY_DEST="$3"
351 + nv_DEST="${2}"
352
353 - if [[ -z "${MY_DEST}" ]]; then
354 - MY_DEST="/usr/$(get_libdir)"
355 - action="dolib.so"
356 - else
357 - exeinto ${MY_DEST}
358 + # Get just the library name
359 + nv_LIBNAME=$(basename "${nv_LIB}")
360 +
361 + if [[ "${nv_DEST}" ]]; then
362 + exeinto ${nv_DEST}
363 action="doexe"
364 + else
365 + nv_DEST="/usr/$(get_libdir)"
366 + action="dolib.so"
367 fi
368
369 - # Get just the library name
370 - libname=$(basename $1)
371 -
372 - # Install the library with the correct SOVER
373 - ${action} ${MY_LIB}.${MY_SOVER} || \
374 - die "failed to install ${libname}"
375 + # Install the library
376 + ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
377
378 - # If SOVER wasn't 1, then we need to create a .1 symlink
379 - if [[ "${MY_SOVER}" != "1" ]]; then
380 - dosym ${libname}.${MY_SOVER} \
381 - ${MY_DEST}/${libname}.1 || \
382 - die "failed to create ${libname} symlink"
383 + # If the library has a SONAME and SONAME does not match the library name,
384 + # then we need to create a symlink
385 + if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
386 + dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} \
387 + || die "failed to create ${nv_DEST}/${nv_SOVER} symlink"
388 fi
389
390 - # Always create the symlink from the raw lib to the .1
391 - dosym ${libname}.1 \
392 - ${MY_DEST}/${libname} || \
393 - die "failed to create ${libname} symlink"
394 + dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} \
395 + || die "failed to create ${nv_LIBNAME/.so*/.so} symlink"
396 }
397
398 src_install() {
399 - if use kernel_linux; then
400 + if use driver && use kernel_linux; then
401 linux-mod_src_install
402
403 # Add the aliases
404 @@ -272,7 +283,7 @@ src_install() {
405 # pkg_preinst, see bug #491414
406 insinto /etc/modprobe.d
407 newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
408 - use uvm && doins "${FILESDIR}"/nvidia-uvm.conf
409 + doins "${FILESDIR}"/nvidia-rmmod.conf
410
411 # Ensures that our device nodes are created when not using X
412 exeinto "$(get_udevdir)"
413 @@ -289,42 +300,56 @@ src_install() {
414 fi
415
416 # NVIDIA kernel <-> userspace driver config lib
417 - donvidia "${NV_OBJ}"/libnvidia-cfg.so ${NV_SOVER}
418 + donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
419
420 # NVIDIA framebuffer capture library
421 - donvidia "${NV_OBJ}"/libnvidia-fbc.so ${NV_SOVER}
422 + donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
423
424 # NVIDIA video encode/decode <-> CUDA
425 if use kernel_linux; then
426 - donvidia "${NV_OBJ}"/libnvcuvid.so ${NV_SOVER}
427 - donvidia "${NV_OBJ}"/libnvidia-encode.so ${NV_SOVER}
428 + donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
429 + donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
430 fi
431
432 if use X; then
433 # Xorg DDX driver
434 insinto /usr/$(get_libdir)/xorg/modules/drivers
435 - doins "${NV_X11}"/nvidia_drv.so
436 + doins ${NV_X11}/nvidia_drv.so
437
438 # Xorg GLX driver
439 - donvidia "${NV_X11}"/libglx.so ${NV_SOVER} \
440 + donvidia ${NV_X11}/libglx.so.${NV_SOVER} \
441 /usr/$(get_libdir)/opengl/nvidia/extensions
442 +
443 + # Xorg nvidia.conf
444 + if has_version '>=x11-base/xorg-server-1.16'; then
445 + insinto /usr/share/X11/xorg.conf.d
446 + newins {,50-}nvidia-drm-outputclass.conf
447 + fi
448 +
449 + insinto /usr/share/glvnd/egl_vendor.d
450 + doins ${NV_X11}/10_nvidia.json
451 + fi
452 +
453 + if use wayland; then
454 + insinto /usr/share/egl/egl_external_platform.d
455 + doins ${NV_X11}/10_nvidia_wayland.json
456 fi
457
458 # OpenCL ICD for NVIDIA
459 if use kernel_linux; then
460 insinto /etc/OpenCL/vendors
461 - doins "${NV_OBJ}"/nvidia.icd
462 + doins ${NV_OBJ}/nvidia.icd
463 fi
464
465 # Documentation
466 if use kernel_FreeBSD; then
467 - dodoc "${NV_DOC}"/README
468 + dodoc "${NV_DOC}/README"
469 use X && doman "${NV_MAN}"/nvidia-xconfig.1
470 use tools && doman "${NV_MAN}"/nvidia-settings.1
471 else
472 # Docs
473 - newdoc "${NV_DOC}"/README.txt README
474 - dodoc "${NV_DOC}"/NVIDIA_Changelog
475 + newdoc "${NV_DOC}/README.txt" README
476 + dodoc "${NV_DOC}/NVIDIA_Changelog"
477 doman "${NV_MAN}"/nvidia-smi.1
478 use X && doman "${NV_MAN}"/nvidia-xconfig.1
479 use tools && doman "${NV_MAN}"/nvidia-settings.1
480 @@ -332,24 +357,27 @@ src_install() {
481 fi
482
483 docinto html
484 - dodoc -r "${NV_DOC}"/html/*
485 + dodoc -r ${NV_DOC}/html/*
486
487 # Helper Apps
488 exeinto /opt/bin/
489
490 if use X; then
491 - doexe "${NV_OBJ}"/nvidia-xconfig
492 + doexe ${NV_OBJ}/nvidia-xconfig
493 +
494 + insinto /etc/vulkan/icd.d
495 + doins nvidia_icd.json
496 fi
497
498 - if use kernel_linux ; then
499 - doexe "${NV_OBJ}"/nvidia-cuda-mps-control
500 - doexe "${NV_OBJ}"/nvidia-cuda-mps-server
501 - doexe "${NV_OBJ}"/nvidia-debugdump
502 - doexe "${NV_OBJ}"/nvidia-persistenced
503 - doexe "${NV_OBJ}"/nvidia-smi
504 + if use kernel_linux; then
505 + doexe ${NV_OBJ}/nvidia-cuda-mps-control
506 + doexe ${NV_OBJ}/nvidia-cuda-mps-server
507 + doexe ${NV_OBJ}/nvidia-debugdump
508 + doexe ${NV_OBJ}/nvidia-persistenced
509 + doexe ${NV_OBJ}/nvidia-smi
510
511 # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
512 - doexe "${NV_OBJ}"/nvidia-modprobe
513 + doexe ${NV_OBJ}/nvidia-modprobe
514 fowners root:video /opt/bin/nvidia-modprobe
515 fperms 4710 /opt/bin/nvidia-modprobe
516 dosym /{opt,usr}/bin/nvidia-modprobe
517 @@ -365,9 +393,12 @@ src_install() {
518 if use tools; then
519 emake -C "${S}"/nvidia-settings-${PV}/src/ \
520 DESTDIR="${D}" \
521 + GTK3_AVAILABLE=$(usex gtk3 1 0) \
522 LIBDIR="${D}/usr/$(get_libdir)" \
523 - PREFIX=/usr \
524 NV_USE_BUNDLED_LIBJANSSON=0 \
525 + NV_VERBOSE=1 \
526 + PREFIX=/usr \
527 + DO_STRIP= \
528 install
529
530 if use static-libs; then
531 @@ -386,22 +417,19 @@ src_install() {
532
533 # There is no icon in the FreeBSD tarball.
534 use kernel_FreeBSD || \
535 - doicon "${NV_OBJ}"/nvidia-settings.png
536 + doicon ${NV_OBJ}/nvidia-settings.png
537
538 domenu "${FILESDIR}"/nvidia-settings.desktop
539
540 exeinto /etc/X11/xinit/xinitrc.d
541 newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
542 -
543 fi
544
545 - dobin "${NV_OBJ}"/nvidia-bug-report.sh
546 + dobin ${NV_OBJ}/nvidia-bug-report.sh
547
548 - #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
549 -
550 - if has_multilib_profile && use multilib ; then
551 + if has_multilib_profile && use multilib; then
552 local OABI=${ABI}
553 - for ABI in $(get_install_abis) ; do
554 + for ABI in $(get_install_abis); do
555 src_install-libs
556 done
557 ABI=${OABI}
558 @@ -421,52 +449,74 @@ src_install-libs() {
559 local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
560 local nv_libdir="${NV_OBJ}"
561
562 - if use kernel_linux && has_multilib_profile && \
563 - [[ ${ABI} == "x86" ]] ; then
564 + if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
565 nv_libdir="${NV_OBJ}"/32
566 fi
567
568 if use X; then
569 - # The GLX libraries
570 - donvidia "${nv_libdir}"/libEGL.so ${NV_SOVER} ${GL_ROOT}
571 - donvidia "${nv_libdir}"/libGL.so ${NV_SOVER} ${GL_ROOT}
572 - donvidia "${nv_libdir}"/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}
573 - donvidia "${nv_libdir}"/libnvidia-eglcore.so ${NV_SOVER}
574 - donvidia "${nv_libdir}"/libnvidia-glcore.so ${NV_SOVER}
575 - donvidia "${nv_libdir}"/libnvidia-glsi.so ${NV_SOVER}
576 - donvidia "${nv_libdir}"/libnvidia-ifr.so ${NV_SOVER}
577 - if use kernel_FreeBSD; then
578 - donvidia "${nv_libdir}"/libnvidia-tls.so ${NV_SOVER}
579 - else
580 - donvidia "${nv_libdir}"/tls/libnvidia-tls.so ${NV_SOVER}
581 + NV_GLX_LIBRARIES=(
582 + "libEGL.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}"
583 + "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
584 + "libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}"
585 + "libGLESv1_CM.so.$(usex compat ${NV_SOVER} 1.2.0) ${GL_ROOT}"
586 + "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
587 + "libGLESv2.so.$(usex compat ${NV_SOVER} 2.1.0) ${GL_ROOT}"
588 + "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
589 + "libGLX.so.0 ${GL_ROOT}"
590 + "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
591 + "libGLdispatch.so.0 ${GL_ROOT}"
592 + "libOpenCL.so.1.0.0 ${CL_ROOT}"
593 + "libOpenGL.so.0 ${GL_ROOT}"
594 + "libcuda.so.${NV_SOVER}"
595 + "libnvcuvid.so.${NV_SOVER}"
596 + "libnvidia-compiler.so.${NV_SOVER}"
597 + "libnvidia-eglcore.so.${NV_SOVER}"
598 + "libnvidia-encode.so.${NV_SOVER}"
599 + "libnvidia-fatbinaryloader.so.${NV_SOVER}"
600 + "libnvidia-fbc.so.${NV_SOVER}"
601 + "libnvidia-glcore.so.${NV_SOVER}"
602 + "libnvidia-glsi.so.${NV_SOVER}"
603 + "libnvidia-ifr.so.${NV_SOVER}"
604 + "libnvidia-opencl.so.${NV_SOVER}"
605 + "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
606 + "libvdpau_nvidia.so.${NV_SOVER}"
607 + )
608 +
609 + if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
610 + then
611 + NV_GLX_LIBRARIES+=(
612 + "libnvidia-egl-wayland.so.1.0.1"
613 + )
614 fi
615
616 - # VDPAU
617 - donvidia "${nv_libdir}"/libvdpau_nvidia.so ${NV_SOVER}
618 + if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
619 + then
620 + NV_GLX_LIBRARIES+=(
621 + "libnvidia-wfb.so.${NV_SOVER}"
622 + )
623 + fi
624
625 - # GLES v2 libraries
626 - insinto ${GL_ROOT}
627 - doexe "${nv_libdir}"/libGLESv2.so.${PV}
628 - dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
629 - dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
630 - fi
631 + if use kernel_FreeBSD; then
632 + NV_GLX_LIBRARIES+=(
633 + "libnvidia-tls.so.${NV_SOVER}"
634 + )
635 + fi
636
637 - # NVIDIA monitoring library
638 - if use kernel_linux ; then
639 - donvidia "${nv_libdir}"/libnvidia-ml.so ${NV_SOVER}
640 - fi
641 + if use kernel_linux; then
642 + NV_GLX_LIBRARIES+=(
643 + "libnvidia-ml.so.${NV_SOVER}"
644 + "tls/libnvidia-tls.so.${NV_SOVER}"
645 + )
646 + fi
647
648 - # CUDA & OpenCL
649 - if use kernel_linux; then
650 - donvidia "${nv_libdir}"/libcuda.so ${NV_SOVER}
651 - donvidia "${nv_libdir}"/libnvidia-compiler.so ${NV_SOVER}
652 - donvidia "${nv_libdir}"/libOpenCL.so 1.0.0 ${CL_ROOT}
653 - donvidia "${nv_libdir}"/libnvidia-opencl.so ${NV_SOVER}
654 + for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
655 + donvidia "${nv_libdir}"/${NV_LIB}
656 + done
657 fi
658 }
659
660 pkg_preinst() {
661 - if use kernel_linux; then
662 + if use driver && use kernel_linux; then
663 linux-mod_pkg_preinst
664
665 local videogroup="$(egetent group video | cut -d ':' -f 3)"
666 @@ -483,17 +533,17 @@ pkg_preinst() {
667
668 # Clean the dynamic libGL stuff's home to ensure
669 # we dont have stale libs floating around
670 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
671 + if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
672 rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
673 fi
674 # Make sure we nuke the old nvidia-glx's env.d file
675 - if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
676 + if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
677 rm -f "${ROOT}"/etc/env.d/09nvidia
678 fi
679 }
680
681 pkg_postinst() {
682 - use kernel_linux && linux-mod_pkg_postinst
683 + use driver && use kernel_linux && linux-mod_pkg_postinst
684
685 # Switch to the nvidia implementation
686 use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
687 @@ -524,6 +574,6 @@ pkg_prerm() {
688 }
689
690 pkg_postrm() {
691 - use kernel_linux && linux-mod_pkg_postrm
692 + use driver && use kernel_linux && linux-mod_pkg_postrm
693 use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
694 }
695
696 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-340.106.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.48.ebuild
697 similarity index 61%
698 copy from x11-drivers/nvidia-drivers/nvidia-drivers-340.106.ebuild
699 copy to x11-drivers/nvidia-drivers/nvidia-drivers-390.48.ebuild
700 index cb601342d6e..fab8a7c22cd 100644
701 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-340.106.ebuild
702 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.48.ebuild
703 @@ -5,29 +5,39 @@ EAPI=6
704 inherit eutils flag-o-matic linux-info linux-mod multilib-minimal nvidia-driver \
705 portability toolchain-funcs unpacker user udev
706
707 -NV_URI="http://http.download.nvidia.com/XFree86/"
708 -X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
709 +DESCRIPTION="NVIDIA Accelerated Graphics Driver"
710 +HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx"
711 +
712 +AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
713 AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
714 +ARM_NV_PACKAGE="NVIDIA-Linux-armv7l-gnueabihf-${PV}"
715 X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
716 -AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
717 +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
718
719 -DESCRIPTION="NVIDIA Accelerated Graphics Driver"
720 -HOMEPAGE="http://www.nvidia.com/ http://www.nvidia.com/Download/Find.aspx"
721 +NV_URI="http://us.download.nvidia.com/XFree86/"
722 SRC_URI="
723 amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
724 amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
725 + arm? ( ${NV_URI}Linux-32bit-ARM/${PV}/${ARM_NV_PACKAGE}.run )
726 x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
727 x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
728 - tools? ( ${NV_URI}nvidia-settings/nvidia-settings-${PV}.tar.bz2 )
729 + tools? (
730 + https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-${PV}.tar.bz2
731 + )
732 "
733
734 LICENSE="GPL-2 NVIDIA-r2"
735 SLOT="0/${PV%.*}"
736 -KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
737 -IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel static-libs +tools +X uvm"
738 +KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
739 RESTRICT="bindist mirror"
740 EMULTILIB_PKG="true"
741
742 +IUSE="acpi compat +driver gtk3 kernel_FreeBSD kernel_linux +kms multilib pax_kernel static-libs +tools uvm wayland +X"
743 +REQUIRED_USE="
744 + tools? ( X )
745 + static-libs? ( tools )
746 +"
747 +
748 COMMON="
749 app-eselect/eselect-opencl
750 kernel_linux? ( >=sys-libs/glibc-2.6.1 )
751 @@ -35,40 +45,43 @@ COMMON="
752 dev-libs/atk
753 dev-libs/glib:2
754 dev-libs/jansson
755 + gtk3? (
756 + x11-libs/gtk+:3
757 + )
758 + x11-libs/cairo
759 x11-libs/gdk-pixbuf[X]
760 - >=x11-libs/gtk+-2.4:2
761 + x11-libs/gtk+:2
762 x11-libs/libX11
763 x11-libs/libXext
764 + x11-libs/libXrandr
765 + x11-libs/libXv
766 + x11-libs/libXxf86vm
767 x11-libs/pango[X]
768 )
769 X? (
770 >=app-eselect/eselect-opengl-1.0.9
771 + app-misc/pax-utils
772 )
773 "
774 DEPEND="
775 ${COMMON}
776 - app-arch/xz-utils
777 kernel_linux? ( virtual/linux-sources )
778 + tools? ( sys-apps/dbus )
779 "
780 RDEPEND="
781 ${COMMON}
782 acpi? ( sys-power/acpid )
783 tools? ( !media-video/nvidia-settings )
784 + wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
785 X? (
786 <x11-base/xorg-server-1.19.99:=
787 - >=x11-libs/libvdpau-0.3-r1
788 + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
789 + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
790 + >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
791 sys-libs/zlib[${MULTILIB_USEDEP}]
792 - multilib? (
793 - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
794 - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
795 - )
796 )
797 "
798 -
799 -REQUIRED_USE="tools? ( X )"
800 -
801 QA_PREBUILT="opt/* usr/lib*"
802 -
803 S=${WORKDIR}/
804
805 nvidia_drivers_versions_check() {
806 @@ -78,13 +91,13 @@ nvidia_drivers_versions_check() {
807 die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
808 fi
809
810 - if use kernel_linux && kernel_is ge 4 11; then
811 + if use kernel_linux && kernel_is ge 4 16; then
812 ewarn "Gentoo supports kernels which are supported by NVIDIA"
813 ewarn "which are limited to the following kernels:"
814 - ewarn "<sys-kernel/gentoo-sources-4.11"
815 - ewarn "<sys-kernel/vanilla-sources-4.11"
816 + ewarn "<sys-kernel/gentoo-sources-4.16"
817 + ewarn "<sys-kernel/vanilla-sources-4.16"
818 ewarn ""
819 - ewarn "You are free to utilize eapply_user to provide whatever"
820 + ewarn "You are free to utilize epatch_user to provide whatever"
821 ewarn "support you feel is appropriate, but will not receive"
822 ewarn "support as a result of those changes."
823 ewarn ""
824 @@ -117,9 +130,10 @@ pkg_setup() {
825 export DISTCC_DISABLE=1
826 export CCACHE_DISABLE=1
827
828 - if use kernel_linux; then
829 + if use driver && use kernel_linux; then
830 MODULE_NAMES="nvidia(video:${S}/kernel)"
831 - use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)"
832 + use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel)"
833 + use kms && MODULE_NAMES+=" nvidia-modeset(video:${S}/kernel) nvidia-drm(video:${S}/kernel)"
834
835 # This needs to run after MODULE_NAMES (so that the eclass checks
836 # whether the kernel supports loadable modules) but before BUILD_PARAMS
837 @@ -127,7 +141,7 @@ pkg_setup() {
838 linux-mod_pkg_setup
839
840 BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
841 - SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
842 + SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC) NV_VERBOSE=1"
843
844 # linux-mod_src_compile calls set_arch_to_kernel, which
845 # sets the ARCH to x86 but NVIDIA's wrapping Makefile
846 @@ -136,6 +150,10 @@ pkg_setup() {
847 BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
848 fi
849
850 + if use kernel_linux && kernel_is lt 2 6 9; then
851 + eerror "You must build this against 2.6.9 or higher kernels."
852 + fi
853 +
854 # set variables to where files are in the package structure
855 if use kernel_FreeBSD; then
856 use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
857 @@ -159,23 +177,11 @@ pkg_setup() {
858 }
859
860 src_prepare() {
861 - # Please add a brief description for every added patch
862 -
863 - if use kernel_linux; then
864 - if kernel_is lt 2 6 9 ; then
865 - eerror "You must build this against 2.6.9 or higher kernels."
866 - fi
867 -
868 - # If greater than 2.6.5 use M= instead of SUBDIR=
869 -# convert_to_m "${NV_SRC}"/Makefile.kbuild
870 - fi
871 -
872 if use pax_kernel; then
873 ewarn "Using PAX patches is not supported. You will be asked to"
874 ewarn "use a standard kernel should you have issues. Should you"
875 ewarn "need support with these patches, contact the PaX team."
876 - eapply "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch
877 - eapply "${FILESDIR}"/${PN}-337.12-pax-constify.patch
878 + eapply "${FILESDIR}"/${PN}-375.20-pax.patch
879 fi
880
881 local man_file
882 @@ -183,8 +189,20 @@ src_prepare() {
883 gunzip $man_file || die
884 done
885
886 - # Allow user patches so they can support RC kernels and whatever else
887 - eapply_user
888 + if use tools; then
889 + cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
890 + sed -i \
891 + -e "s:@PV@:${PV}:g" \
892 + "${WORKDIR}"/nvidia-settings-linker.patch || die
893 + eapply "${WORKDIR}"/nvidia-settings-linker.patch
894 + fi
895 +
896 + default
897 +
898 + if ! [ -f nvidia_icd.json ]; then
899 + cp nvidia_icd.json.template nvidia_icd.json || die
900 + sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
901 + fi
902 }
903
904 src_compile() {
905 @@ -196,75 +214,76 @@ src_compile() {
906 if use kernel_FreeBSD; then
907 MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
908 LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
909 - elif use kernel_linux; then
910 - use uvm && MAKEOPTS=-j1
911 - linux-mod_src_compile
912 + elif use driver && use kernel_linux; then
913 + MAKEOPTS=-j1 linux-mod_src_compile
914 fi
915
916 if use tools; then
917 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl clean
918 - emake -C "${S}"/nvidia-settings-${PV}/src/libXNVCtrl \
919 + emake -C "${S}"/nvidia-settings-${PV}/src \
920 AR="$(tc-getAR)" \
921 CC="$(tc-getCC)" \
922 + DO_STRIP= \
923 + LD="$(tc-getCC)" \
924 + LIBDIR="$(get_libdir)" \
925 + NVLD="$(tc-getLD)" \
926 + NV_VERBOSE=1 \
927 RANLIB="$(tc-getRANLIB)" \
928 - libXNVCtrl.a
929 + build-xnvctrl
930 +
931 emake -C "${S}"/nvidia-settings-${PV}/src \
932 - AR="$(tc-getAR)" \
933 CC="$(tc-getCC)" \
934 + DO_STRIP= \
935 + GTK3_AVAILABLE=$(usex gtk3 1 0) \
936 LD="$(tc-getCC)" \
937 LIBDIR="$(get_libdir)" \
938 + NVLD="$(tc-getLD)" \
939 NVML_ENABLED=0 \
940 NV_USE_BUNDLED_LIBJANSSON=0 \
941 - NV_VERBOSE=1 \
942 - RANLIB="$(tc-getRANLIB)" \
943 - STRIP_CMD=true
944 + NV_VERBOSE=1
945 fi
946 }
947
948 # Install nvidia library:
949 # the first parameter is the library to install
950 # the second parameter is the provided soversion
951 -# the third parameter is the target directory if its not /usr/lib
952 +# the third parameter is the target directory if it is not /usr/lib
953 donvidia() {
954 - # Full path to library minus SOVER
955 - MY_LIB="$1"
956 + # Full path to library
957 + nv_LIB="${1}"
958
959 # SOVER to use
960 - MY_SOVER="$2"
961 + nv_SOVER="$(scanelf -qF'%S#F' ${nv_LIB})"
962
963 # Where to install
964 - MY_DEST="$3"
965 + nv_DEST="${2}"
966
967 - if [[ -z "${MY_DEST}" ]]; then
968 - MY_DEST="/usr/$(get_libdir)"
969 - action="dolib.so"
970 - else
971 - exeinto ${MY_DEST}
972 + # Get just the library name
973 + nv_LIBNAME=$(basename "${nv_LIB}")
974 +
975 + if [[ "${nv_DEST}" ]]; then
976 + exeinto ${nv_DEST}
977 action="doexe"
978 + else
979 + nv_DEST="/usr/$(get_libdir)"
980 + action="dolib.so"
981 fi
982
983 - # Get just the library name
984 - libname=$(basename $1)
985 + # Install the library
986 + ${action} ${nv_LIB} || die "failed to install ${nv_LIBNAME}"
987
988 - # Install the library with the correct SOVER
989 - ${action} ${MY_LIB}.${MY_SOVER} || \
990 - die "failed to install ${libname}"
991 -
992 - # If SOVER wasn't 1, then we need to create a .1 symlink
993 - if [[ "${MY_SOVER}" != "1" ]]; then
994 - dosym ${libname}.${MY_SOVER} \
995 - ${MY_DEST}/${libname}.1 || \
996 - die "failed to create ${libname} symlink"
997 + # If the library has a SONAME and SONAME does not match the library name,
998 + # then we need to create a symlink
999 + if [[ ${nv_SOVER} ]] && ! [[ "${nv_SOVER}" = "${nv_LIBNAME}" ]]; then
1000 + dosym ${nv_LIBNAME} ${nv_DEST}/${nv_SOVER} \
1001 + || die "failed to create ${nv_DEST}/${nv_SOVER} symlink"
1002 fi
1003
1004 - # Always create the symlink from the raw lib to the .1
1005 - dosym ${libname}.1 \
1006 - ${MY_DEST}/${libname} || \
1007 - die "failed to create ${libname} symlink"
1008 + dosym ${nv_LIBNAME} ${nv_DEST}/${nv_LIBNAME/.so*/.so} \
1009 + || die "failed to create ${nv_LIBNAME/.so*/.so} symlink"
1010 }
1011
1012 src_install() {
1013 - if use kernel_linux; then
1014 + if use driver && use kernel_linux; then
1015 linux-mod_src_install
1016
1017 # Add the aliases
1018 @@ -272,7 +291,7 @@ src_install() {
1019 # pkg_preinst, see bug #491414
1020 insinto /etc/modprobe.d
1021 newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
1022 - use uvm && doins "${FILESDIR}"/nvidia-uvm.conf
1023 + doins "${FILESDIR}"/nvidia-rmmod.conf
1024
1025 # Ensures that our device nodes are created when not using X
1026 exeinto "$(get_udevdir)"
1027 @@ -289,42 +308,56 @@ src_install() {
1028 fi
1029
1030 # NVIDIA kernel <-> userspace driver config lib
1031 - donvidia "${NV_OBJ}"/libnvidia-cfg.so ${NV_SOVER}
1032 + donvidia ${NV_OBJ}/libnvidia-cfg.so.${NV_SOVER}
1033
1034 # NVIDIA framebuffer capture library
1035 - donvidia "${NV_OBJ}"/libnvidia-fbc.so ${NV_SOVER}
1036 + donvidia ${NV_OBJ}/libnvidia-fbc.so.${NV_SOVER}
1037
1038 # NVIDIA video encode/decode <-> CUDA
1039 if use kernel_linux; then
1040 - donvidia "${NV_OBJ}"/libnvcuvid.so ${NV_SOVER}
1041 - donvidia "${NV_OBJ}"/libnvidia-encode.so ${NV_SOVER}
1042 + donvidia ${NV_OBJ}/libnvcuvid.so.${NV_SOVER}
1043 + donvidia ${NV_OBJ}/libnvidia-encode.so.${NV_SOVER}
1044 fi
1045
1046 if use X; then
1047 # Xorg DDX driver
1048 insinto /usr/$(get_libdir)/xorg/modules/drivers
1049 - doins "${NV_X11}"/nvidia_drv.so
1050 + doins ${NV_X11}/nvidia_drv.so
1051
1052 # Xorg GLX driver
1053 - donvidia "${NV_X11}"/libglx.so ${NV_SOVER} \
1054 + donvidia ${NV_X11}/libglx.so.${NV_SOVER} \
1055 /usr/$(get_libdir)/opengl/nvidia/extensions
1056 +
1057 + # Xorg nvidia.conf
1058 + if has_version '>=x11-base/xorg-server-1.16'; then
1059 + insinto /usr/share/X11/xorg.conf.d
1060 + newins {,50-}nvidia-drm-outputclass.conf
1061 + fi
1062 +
1063 + insinto /usr/share/glvnd/egl_vendor.d
1064 + doins ${NV_X11}/10_nvidia.json
1065 + fi
1066 +
1067 + if use wayland; then
1068 + insinto /usr/share/egl/egl_external_platform.d
1069 + doins ${NV_X11}/10_nvidia_wayland.json
1070 fi
1071
1072 # OpenCL ICD for NVIDIA
1073 if use kernel_linux; then
1074 insinto /etc/OpenCL/vendors
1075 - doins "${NV_OBJ}"/nvidia.icd
1076 + doins ${NV_OBJ}/nvidia.icd
1077 fi
1078
1079 # Documentation
1080 if use kernel_FreeBSD; then
1081 - dodoc "${NV_DOC}"/README
1082 + dodoc "${NV_DOC}/README"
1083 use X && doman "${NV_MAN}"/nvidia-xconfig.1
1084 use tools && doman "${NV_MAN}"/nvidia-settings.1
1085 else
1086 # Docs
1087 - newdoc "${NV_DOC}"/README.txt README
1088 - dodoc "${NV_DOC}"/NVIDIA_Changelog
1089 + newdoc "${NV_DOC}/README.txt" README
1090 + dodoc "${NV_DOC}/NVIDIA_Changelog"
1091 doman "${NV_MAN}"/nvidia-smi.1
1092 use X && doman "${NV_MAN}"/nvidia-xconfig.1
1093 use tools && doman "${NV_MAN}"/nvidia-settings.1
1094 @@ -332,24 +365,27 @@ src_install() {
1095 fi
1096
1097 docinto html
1098 - dodoc -r "${NV_DOC}"/html/*
1099 + dodoc -r ${NV_DOC}/html/*
1100
1101 # Helper Apps
1102 exeinto /opt/bin/
1103
1104 if use X; then
1105 - doexe "${NV_OBJ}"/nvidia-xconfig
1106 + doexe ${NV_OBJ}/nvidia-xconfig
1107 +
1108 + insinto /etc/vulkan/icd.d
1109 + doins nvidia_icd.json
1110 fi
1111
1112 - if use kernel_linux ; then
1113 - doexe "${NV_OBJ}"/nvidia-cuda-mps-control
1114 - doexe "${NV_OBJ}"/nvidia-cuda-mps-server
1115 - doexe "${NV_OBJ}"/nvidia-debugdump
1116 - doexe "${NV_OBJ}"/nvidia-persistenced
1117 - doexe "${NV_OBJ}"/nvidia-smi
1118 + if use kernel_linux; then
1119 + doexe ${NV_OBJ}/nvidia-cuda-mps-control
1120 + doexe ${NV_OBJ}/nvidia-cuda-mps-server
1121 + doexe ${NV_OBJ}/nvidia-debugdump
1122 + doexe ${NV_OBJ}/nvidia-persistenced
1123 + doexe ${NV_OBJ}/nvidia-smi
1124
1125 # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
1126 - doexe "${NV_OBJ}"/nvidia-modprobe
1127 + doexe ${NV_OBJ}/nvidia-modprobe
1128 fowners root:video /opt/bin/nvidia-modprobe
1129 fperms 4710 /opt/bin/nvidia-modprobe
1130 dosym /{opt,usr}/bin/nvidia-modprobe
1131 @@ -365,9 +401,12 @@ src_install() {
1132 if use tools; then
1133 emake -C "${S}"/nvidia-settings-${PV}/src/ \
1134 DESTDIR="${D}" \
1135 + GTK3_AVAILABLE=$(usex gtk3 1 0) \
1136 LIBDIR="${D}/usr/$(get_libdir)" \
1137 - PREFIX=/usr \
1138 NV_USE_BUNDLED_LIBJANSSON=0 \
1139 + NV_VERBOSE=1 \
1140 + PREFIX=/usr \
1141 + DO_STRIP= \
1142 install
1143
1144 if use static-libs; then
1145 @@ -386,22 +425,19 @@ src_install() {
1146
1147 # There is no icon in the FreeBSD tarball.
1148 use kernel_FreeBSD || \
1149 - doicon "${NV_OBJ}"/nvidia-settings.png
1150 + doicon ${NV_OBJ}/nvidia-settings.png
1151
1152 domenu "${FILESDIR}"/nvidia-settings.desktop
1153
1154 exeinto /etc/X11/xinit/xinitrc.d
1155 newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
1156 -
1157 fi
1158
1159 - dobin "${NV_OBJ}"/nvidia-bug-report.sh
1160 -
1161 - #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
1162 + dobin ${NV_OBJ}/nvidia-bug-report.sh
1163
1164 - if has_multilib_profile && use multilib ; then
1165 + if has_multilib_profile && use multilib; then
1166 local OABI=${ABI}
1167 - for ABI in $(get_install_abis) ; do
1168 + for ABI in $(get_install_abis); do
1169 src_install-libs
1170 done
1171 ABI=${OABI}
1172 @@ -421,52 +457,74 @@ src_install-libs() {
1173 local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
1174 local nv_libdir="${NV_OBJ}"
1175
1176 - if use kernel_linux && has_multilib_profile && \
1177 - [[ ${ABI} == "x86" ]] ; then
1178 + if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
1179 nv_libdir="${NV_OBJ}"/32
1180 fi
1181
1182 if use X; then
1183 - # The GLX libraries
1184 - donvidia "${nv_libdir}"/libEGL.so ${NV_SOVER} ${GL_ROOT}
1185 - donvidia "${nv_libdir}"/libGL.so ${NV_SOVER} ${GL_ROOT}
1186 - donvidia "${nv_libdir}"/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}
1187 - donvidia "${nv_libdir}"/libnvidia-eglcore.so ${NV_SOVER}
1188 - donvidia "${nv_libdir}"/libnvidia-glcore.so ${NV_SOVER}
1189 - donvidia "${nv_libdir}"/libnvidia-glsi.so ${NV_SOVER}
1190 - donvidia "${nv_libdir}"/libnvidia-ifr.so ${NV_SOVER}
1191 - if use kernel_FreeBSD; then
1192 - donvidia "${nv_libdir}"/libnvidia-tls.so ${NV_SOVER}
1193 - else
1194 - donvidia "${nv_libdir}"/tls/libnvidia-tls.so ${NV_SOVER}
1195 + NV_GLX_LIBRARIES=(
1196 + "libEGL.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}"
1197 + "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1198 + "libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}"
1199 + "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
1200 + "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1201 + "libGLESv2.so.2.1.0 ${GL_ROOT}"
1202 + "libGLESv2_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1203 + "libGLX.so.0 ${GL_ROOT}"
1204 + "libGLX_nvidia.so.${NV_SOVER} ${GL_ROOT}"
1205 + "libGLdispatch.so.0 ${GL_ROOT}"
1206 + "libOpenCL.so.1.0.0 ${CL_ROOT}"
1207 + "libOpenGL.so.0 ${GL_ROOT}"
1208 + "libcuda.so.${NV_SOVER}"
1209 + "libnvcuvid.so.${NV_SOVER}"
1210 + "libnvidia-compiler.so.${NV_SOVER}"
1211 + "libnvidia-eglcore.so.${NV_SOVER}"
1212 + "libnvidia-encode.so.${NV_SOVER}"
1213 + "libnvidia-fatbinaryloader.so.${NV_SOVER}"
1214 + "libnvidia-fbc.so.${NV_SOVER}"
1215 + "libnvidia-glcore.so.${NV_SOVER}"
1216 + "libnvidia-glsi.so.${NV_SOVER}"
1217 + "libnvidia-ifr.so.${NV_SOVER}"
1218 + "libnvidia-opencl.so.${NV_SOVER}"
1219 + "libnvidia-ptxjitcompiler.so.${NV_SOVER}"
1220 + "libvdpau_nvidia.so.${NV_SOVER}"
1221 + )
1222 +
1223 + if use wayland && has_multilib_profile && [[ ${ABI} == "amd64" ]];
1224 + then
1225 + NV_GLX_LIBRARIES+=(
1226 + "libnvidia-egl-wayland.so.1.0.2"
1227 + )
1228 fi
1229
1230 - # VDPAU
1231 - donvidia "${nv_libdir}"/libvdpau_nvidia.so ${NV_SOVER}
1232 + if use kernel_linux && has_multilib_profile && [[ ${ABI} == "amd64" ]];
1233 + then
1234 + NV_GLX_LIBRARIES+=(
1235 + "libnvidia-wfb.so.${NV_SOVER}"
1236 + )
1237 + fi
1238
1239 - # GLES v2 libraries
1240 - insinto ${GL_ROOT}
1241 - doexe "${nv_libdir}"/libGLESv2.so.${PV}
1242 - dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
1243 - dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
1244 - fi
1245 + if use kernel_FreeBSD; then
1246 + NV_GLX_LIBRARIES+=(
1247 + "libnvidia-tls.so.${NV_SOVER}"
1248 + )
1249 + fi
1250
1251 - # NVIDIA monitoring library
1252 - if use kernel_linux ; then
1253 - donvidia "${nv_libdir}"/libnvidia-ml.so ${NV_SOVER}
1254 - fi
1255 + if use kernel_linux; then
1256 + NV_GLX_LIBRARIES+=(
1257 + "libnvidia-ml.so.${NV_SOVER}"
1258 + "tls/libnvidia-tls.so.${NV_SOVER}"
1259 + )
1260 + fi
1261
1262 - # CUDA & OpenCL
1263 - if use kernel_linux; then
1264 - donvidia "${nv_libdir}"/libcuda.so ${NV_SOVER}
1265 - donvidia "${nv_libdir}"/libnvidia-compiler.so ${NV_SOVER}
1266 - donvidia "${nv_libdir}"/libOpenCL.so 1.0.0 ${CL_ROOT}
1267 - donvidia "${nv_libdir}"/libnvidia-opencl.so ${NV_SOVER}
1268 + for NV_LIB in "${NV_GLX_LIBRARIES[@]}"; do
1269 + donvidia "${nv_libdir}"/${NV_LIB}
1270 + done
1271 fi
1272 }
1273
1274 pkg_preinst() {
1275 - if use kernel_linux; then
1276 + if use driver && use kernel_linux; then
1277 linux-mod_pkg_preinst
1278
1279 local videogroup="$(egetent group video | cut -d ':' -f 3)"
1280 @@ -483,17 +541,17 @@ pkg_preinst() {
1281
1282 # Clean the dynamic libGL stuff's home to ensure
1283 # we dont have stale libs floating around
1284 - if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
1285 + if [ -d "${ROOT}"/usr/lib/opengl/nvidia ]; then
1286 rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
1287 fi
1288 # Make sure we nuke the old nvidia-glx's env.d file
1289 - if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
1290 + if [ -e "${ROOT}"/etc/env.d/09nvidia ]; then
1291 rm -f "${ROOT}"/etc/env.d/09nvidia
1292 fi
1293 }
1294
1295 pkg_postinst() {
1296 - use kernel_linux && linux-mod_pkg_postinst
1297 + use driver && use kernel_linux && linux-mod_pkg_postinst
1298
1299 # Switch to the nvidia implementation
1300 use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
1301 @@ -524,6 +582,6 @@ pkg_prerm() {
1302 }
1303
1304 pkg_postrm() {
1305 - use kernel_linux && linux-mod_pkg_postrm
1306 + use driver && use kernel_linux && linux-mod_pkg_postrm
1307 use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
1308 }