summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2018-03-13 22:53:14 +0100
committerJeroen Roovers <jer@gentoo.org>2018-03-13 22:55:43 +0100
commit9a52478a2329ffce09c4c1a400934499fcb5ae93 (patch)
tree1c7f5166386e5827029f2c080e03aff5b87c364e
parentwww-plugins/adobe-flash: Old. (diff)
downloadgentoo-9a52478a2329ffce09c4c1a400934499fcb5ae93.tar.gz
gentoo-9a52478a2329ffce09c4c1a400934499fcb5ae93.tar.bz2
gentoo-9a52478a2329ffce09c4c1a400934499fcb5ae93.zip
x11-drivers/nvidia-drivers: Version 390.42.
Package-Manager: Portage-2.3.24, Repoman-2.3.6
-rw-r--r--x11-drivers/nvidia-drivers/Manifest6
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-390.42.ebuild586
2 files changed, 592 insertions, 0 deletions
diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
index bb07f894f2c0..0c76515ba84d 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -11,6 +11,7 @@ DIST NVIDIA-FreeBSD-x86-387.22.tar.gz 64162390 BLAKE2B 6d78c7d03a8e9b489f166f1a2
DIST NVIDIA-FreeBSD-x86-387.34.tar.gz 64228643 BLAKE2B 80011df5d037cd0a2a6faccf6c990e6019cb85c906c1410d4dde033a8a945ecd46e80a1315e46dc05fa47003eb328c6b8e8e41e18dce60942e645c0e6b813717 SHA512 875648459a149d506b20eb7105e73086e1fb51dddfbd8b484b8cc4793682c088ba16b3d374b0e807738f7aa7489dd9eab2449f70bc9feefeec0bf3a88025b9ef
DIST NVIDIA-FreeBSD-x86-390.12.tar.gz 63855774 BLAKE2B 220f7fb3d2fc2e9f4041b4139ab162a00a928b7eeeb57bbaaa0d836fb6bbfe818272e11cc1b6a8ecf0b369b111a44940f897872c0d8360eaad25a778cd8acd44 SHA512 c15724ed75375e21e50ac663feb798cadb897cc594fdc36d18f8b9bde2ac07b26002c1f170be0faadf4bb808ac387a5a4686c446f4191dd5f3e86bb8b7cd6c7c
DIST NVIDIA-FreeBSD-x86-390.25.tar.gz 63975116 BLAKE2B 9a8a512ee9942b08a698aadb350aaa690df9345f39326ea3bc6a735e7a8fb5cbc2a67a27a9496088c1f005b64bf1de667e08e530d038959300645ff4c0a41eed SHA512 7e9b2ab143653159710a4a0669a43d20c42186693fa674c6e4f2c14aa555c448f8665e61d223554fcb15815d9da69ab6351c4fb209ae52d0b60b5c1b4f537d1f
+DIST NVIDIA-FreeBSD-x86-390.42.tar.gz 64258071 BLAKE2B 765b55676127ff64d90ee65bb3d4a400b1f15f741338a09b09a926fb465b47b6d7036c6c761d64b9dee76ad4cfacb97888a3053bbe62c769cfb3155e7c13d879 SHA512 1271e3bdf55b2c03e63083b3b867fa03d4d2e71ab2a8a0100bd137acedb1fef2416045079bbccd0fc48255496128c37ab619fa5a3e7b992b9d96cf288bc6e4b0
DIST NVIDIA-FreeBSD-x86_64-304.137.tar.gz 36474676 BLAKE2B bd75e2916d34f76566d838406419991a860118830366f0297fa63baade3a99f637dae601d6bc6a051596222f2715297dffbf9b81ff5478b030741e6c8a09bc13 SHA512 f0ae7ccea417aceedf34bfb9c96fd79b31cbf74a8fa59d5199b0ad7b81b8a4aeb66cd4801a45cc37f836979cb4267aa69e08517beaa9b8cb9c66a477d02ef8de
DIST NVIDIA-FreeBSD-x86_64-340.104.tar.gz 61176133 BLAKE2B 1fa2e1a7018b3d24b2a6b2be016aaa4c86196fba679d7032c9d0884900b4734ea1b6d54398bb7c792d5010496c86438eed134b8ac8c1aa235b336211fdc207e7 SHA512 d7535527fb9ffc820509da8d0b159c70627c72a7182c354448851a334fcd5b8835046d0e9812079af2fa92de0f3fce299a67e70ef50697a2a1f33b8d995e7f73
DIST NVIDIA-FreeBSD-x86_64-340.106.tar.gz 61169129 BLAKE2B 0a8e0deb883025d20df5165f39042bcee5d75ea78b19733cff014448c8d62022dbb98af2adebd13485e281a52c9a1c4986ae020b4eb6a821a411836e7333d4f1 SHA512 c2d0a0b1856522b28243697db22ad99d8521b00d9dfa2da724f2ee243b545b7dbf24319d9a0939855bab29251f001063391a760bd3db750bf9950ce1f9376847
@@ -24,6 +25,7 @@ DIST NVIDIA-FreeBSD-x86_64-387.22.tar.gz 63326641 BLAKE2B 2d031738926a3f8691ae75
DIST NVIDIA-FreeBSD-x86_64-387.34.tar.gz 63387097 BLAKE2B 53689ba098b4a4de08dca056618ea533c92d17137ec954dea0ae71e1b2c825c021979871e4ff82c820be0a78d3c365f282b760940ebe2caa1ca5bfd2453e178e SHA512 0a905ee72ee6f4e9c941e5dd1f7cddf96bfb20c6da32fd05599258e1bb154f68463d775ba8ff4f67f0d4b8e637e9ed9624fc9a4873a1f2621dc86732f0d6d70d
DIST NVIDIA-FreeBSD-x86_64-390.12.tar.gz 63177774 BLAKE2B 56f6b2d5f3d456b02200a5e9571f91c4d2a1b97e2c051282cd8c0a42fc8c5b763e973975665e992da72692272c0ef0f6cf9a75d9e32ec56ea581b3a9a031d479 SHA512 e8a709f2b8bc0738971138dc77966247756a542974101f77b18e6a5dcd4a72c442b27122b0ffef10896530d8d94c57031c42772fb12e058bd73b98c60352cfcd
DIST NVIDIA-FreeBSD-x86_64-390.25.tar.gz 63303401 BLAKE2B 968fc854bcd37e91d7fa99aebaa0e49d3d1a293e8a20943f58727b73d048d6c4ceb3cf2fa46f0a858d75074bebfe91a8bdcf1b09d237723ee7f108fb633dc592 SHA512 859f1baa320e55a8c5bd7d06bc601733978a0aedfd841e19c88373ca18dc87cfd9ee8a1e2ae9af29dc37233eb0656a5d9e45d9a36cda4dad78e3e363c9f55a41
+DIST NVIDIA-FreeBSD-x86_64-390.42.tar.gz 63578748 BLAKE2B ebae1724c8a8125c15dff5466677b4217586a2851bd8f8e831b55e236b00bd68ba421b21da87bf8389b17f59069482276c0ef923f85d47dfb701cd6e5fda8a6b SHA512 0fde34e642fb92d099166530cdf3eb6301f11068a4780decab33c68e046aea58904f1e8fd2189900a2b140e536933de418b27a2d40e1d7e486d3df1143370007
DIST NVIDIA-Linux-armv7l-gnueabihf-375.82.run 26650801 BLAKE2B 31446667065c56b48f6a3e737afe29a4517459d3462138136bffe383bc6fe514d6e80b49c391c27edc96b8abc3da3dd4d6ee3f3dca17f3c9a0f1cdf0e72cf099 SHA512 28554f1c24fe63c9257c0de3e84e4e739a45bf1c20ec7a53bc2c1b69b4e2355675061491ef5b03f3ae489cf623e553cfa68442f5536f137837327036d1c53d63
DIST NVIDIA-Linux-armv7l-gnueabihf-378.13.run 26514235 BLAKE2B 2b3c540704496a290be7ae3f1ff378487c75af2298c12488da8b3a1814446e5df02a1ed99afd8ee7fc459d950aab472155359eae0bf56ac83389711d70638152 SHA512 253786a821df85fa926ae842114321b3c70502f887ea7c2b6790dfe3836039ee5d390e6722ca8785904ec6487e465916923d3042dc6191b3b4522c3161b80cb0
DIST NVIDIA-Linux-armv7l-gnueabihf-381.22.run 26815484 BLAKE2B e5f0241b07d1e54edea2025dd30061d1018c68cc2c7136c507eb894bbad5be3d0724494e2b9f33d1f8f60da4904999bbb964e6f2e78d045d7cd86bcd46b7f6d0 SHA512 934cda37c7aed26243b5b661122e1c060de5b4df890aaf2295b6650dddea37cb4f0e3f0bebddb00b5d687b66ab5e028a203195c4d4ad3379593babda42febe77
@@ -34,6 +36,7 @@ DIST NVIDIA-Linux-armv7l-gnueabihf-387.22.run 29112014 BLAKE2B 6b03e0bdc5f40434e
DIST NVIDIA-Linux-armv7l-gnueabihf-387.34.run 29406773 BLAKE2B af27fb1bfa8e432c83220f88c57219d572dfab2d3624c8702759a747f25ff962dba7c39028af5746e04c913c9a53dfbec8a46801bfa7e38df65a8823c4858cca SHA512 cb631dc3b851d84881dfcabee776c68a935853d03f21595acfea84a3efbc85276070f9d0958c0bcced1e66f42f25ecf3fd7d615c715274130ca24426da678c2e
DIST NVIDIA-Linux-armv7l-gnueabihf-390.12.run 28595865 BLAKE2B 6e923d07212ef2f207091ff4cd1d9575d2e773b6e8a7d360b4a5be9d1ef818ee860ebec67e944aa40cedb688066c95e66d087b5ac364b617350315b75d417b77 SHA512 9a5b88715f12188b2f2a85767a8eaa29e16b427e06280385b9f93c9edc7ccb495e1dc831c174da16ea19dd349679f462ed1db2b8224a7d94ef77814be8175336
DIST NVIDIA-Linux-armv7l-gnueabihf-390.25.run 28594426 BLAKE2B b3890001073d9fb79e085f376cf2a0e23d813d7a02f8678cbda7aa88610a2b4c1a1b4b5d7ec7a0d6c1b556fd93dfe97522368c83fa3e2ec74883ec186dc52c2f SHA512 5958bd7429d7889760bcc22657f3da7e4e3ff9c1eb0460686c1a9441dc22c81efbd0858970535143506ceb989951a89d06fee82c7a5e90c699df0733552851f4
+DIST NVIDIA-Linux-armv7l-gnueabihf-390.42.run 28680665 BLAKE2B 41ddd2870a6ac128b4988e724481fc43d1df902a6f87438170b39f299ab190e0facf61a53c9322f1f1ea3b9386b0df88c59beb600e44056c1c1217668f9bc9e1 SHA512 7c5ca46cce345d53f0991b6076ee62a2e777e5cb2b5b2612eaec88fb0d4f53e66d88b4978dfb15f23a80af57f1834dd9016daeb1d3b329cee1f4e0777afb5979
DIST NVIDIA-Linux-x86-304.137.run 41504115 BLAKE2B 5938d4df818947e5576172c0ee9bfa42a2fc49a7a7a2b14128cf3b967dfea6d4523901b33283284d450cfadc2c6d72a82a1533b27ebb4b542b6b1454fe8ae960 SHA512 021c5a88d50489aa0a1c7eac14259e23542b93578ae339995a2e38b786d06d239968c07933cab3fb78a922cffc7e213d6fa3fe07e34065a9c7f03e24f8729370
DIST NVIDIA-Linux-x86-340.104.run 38823602 BLAKE2B 9cab2d224a289839148558e2bd8d4711c0925dfff8b7897be9f7fbd3eaae5549571fa01d265d7a0f8ed6dbc600e2a815d9dd622fd56528c04d80e7ec664cd551 SHA512 8dacd5345a5794e862f4106ab9e8e402defa7883dd176c243d019209b560fe955d7576a13936364c01c5a249f15df58208308c9378c12c3438784376e5fb806c
DIST NVIDIA-Linux-x86-340.106.run 38816967 BLAKE2B b3ab5613359b43eaace36de9a8ab753df954bdf60e5acfe168e270474e0dc400acd46b5dcec809fad3d59babdf52988b3b5a8c20e8a0253b6388b7eb60ff4ba1 SHA512 923da7d61ef89a7bd83e0223c72fcdc556ef31cb97015a129a3adbdc3aad29dbf49f6fd23dc5188a53722e22cf4ba35c6a98e6ca9fdc6c24bb72ab87153d8bc4
@@ -47,6 +50,7 @@ DIST NVIDIA-Linux-x86-387.22.run 47013877 BLAKE2B d4e12c9bb669880a86784d1b2339e4
DIST NVIDIA-Linux-x86-387.34.run 47797853 BLAKE2B 4ae211ee00e09fe385f24e05cfac3af28447ec18e7a7f53e7f310c210ec22f60094be087aae45d0ea99c90214a07d3c46ce6867984ac0ff6e56559693fcdf148 SHA512 ba9362123a75f85a0a5a9dcc95c06bcb350a8dff2db864db30a73172db44006fa39eee8e23cf959ab2012b61b922d1f0d7ab225329815737819f27d1be300b95
DIST NVIDIA-Linux-x86-390.12.run 46769369 BLAKE2B f358914c8fb58bf5c5cc855ef773dc938158bc0bb9123aa5e7224e4e2781e9e7ec2a498a4acb54dad3d3eb496feb899f6ff97b725d9fa646b61173cf0f9086ae SHA512 4cd452c6c05562aa842d4bc171537e0d8c9185d2934eb879d9f0b6c7491c37f6fe6b3fc4c48a208e3faeaf45b0f0d1fb2b96bc851885edaed31071a27d583aa1
DIST NVIDIA-Linux-x86-390.25.run 46767313 BLAKE2B eef1d1f684ca5f1a521d6e50cca8b7987b16ac50111ef8b2aa74cc31d0cace40819d91c41480dde3d9f173b2d11f07a7c83442ad23db2be2369cb5aa8ec31886 SHA512 59f5d832a0372ec5a19e356f3cf9b82f1f704381683eca845092659df03791b21511c32f3c2bb5a263978c86b2008c1fdfde3b3a125100235948291cad99f8b3
+DIST NVIDIA-Linux-x86-390.42.run 47248228 BLAKE2B 1a9ca86c8e449627d68e474f0c4226d55839b27d06c630a059f1a36007b37328b7be2ecf12a94b82722e088b387ef943c4e117fd1a35743b053959160950e7a7 SHA512 079cfae9ce318e30d8699c7a1e9b8fc528382be68605ceea16b5cb671d11588098af001b6cb4c66c904a248193742efc450e18101f9dda73c1ca101ab8aca2ce
DIST NVIDIA-Linux-x86_64-304.137.run 70087133 BLAKE2B 8db0ade7cf64231ae11e6fc55a16a68a2f7b11a8bb7debb49799fee96eba06a3062b97fe539b093727623a1ed1067282813de047c2aeb89d93bf35a97c71aac5 SHA512 d7fae1e486005ffa2f2bf7f14f901bf5156fc784407a9acfea584f49bdab92ff5f4d0fb66c4c5b2800a461fc06aebb7d760bcb59f69ce4f2cb4e03e11816b3e9
DIST NVIDIA-Linux-x86_64-340.104.run 70085947 BLAKE2B 3bf77983f0b14770fead042c09771650045c2d5238b68ec06f3c70e1598727b6f75fb1e492e6ed147f9323bce58d6d8f5a840de0a30938d46b53bd571202edff SHA512 3f7609e7a736ba7d77f96ea5561789113878c5cb85b2970ad5ae63acdd09c0f5bc6449a5ed7d948f85d684870dcc2b479c4e0d7d750a47dfd716940de72dba3f
DIST NVIDIA-Linux-x86_64-340.106.run 69987642 BLAKE2B 9b5644a58169557bda2ca6b367909bbbbe9c94ab869a91a4df8f8446a1e66f051f8b9c67e10d809d7e7a319fb318be3c5d0f35862cb315fdaf5623ce8794efb5 SHA512 64474a2dc664142868125df3562ccb676cef02659c5e45d570a2f00f2ab172ba3e61ea6ca42faade1747516c9a0c8b2c4e7cd3037ee90fb072b0c5cae45431bc
@@ -60,6 +64,7 @@ DIST NVIDIA-Linux-x86_64-387.22.run 81850060 BLAKE2B 960412c08322f8af6395147f506
DIST NVIDIA-Linux-x86_64-387.34.run 82784271 BLAKE2B b7140d5d6a693892df50b3ad2e20387673dec6b5ac609cc0300bdc4b4a93ca94849255699126e4d55e67f10e488bfe6008e987197ea239b1a1b643b4ae5c7808 SHA512 6742768f1258a028c9ba56ad1d72f27d7eea4b6bfd324ba29c7f057ab5819816bd728aeaf2a8058031dadcd4c51bc6d08f0e0e0e26c68ed57955e90d68ac5a4b
DIST NVIDIA-Linux-x86_64-390.12.run 82106120 BLAKE2B 90c6192c5a5a539afbf649ef35165aa3a636e7a489bebdfe88c7007e1b205471ab69f71adeb23926447cf4dd9e1d5b77b8cc81cc495894bd806a0230ba0595a8 SHA512 caa8b32f97936796ec9ef8851ddd75fe5307b4a1abd195f49cee26760a2c06f8ef84a6f9521e6a25d6ce0c7158321866c7c5dc05b3c25f83832c30cd6d6055fd
DIST NVIDIA-Linux-x86_64-390.25.run 81242220 BLAKE2B 8ace6a0dea4cc3387912cf3359fb4b88d7d00027b7e21d6bcc15c09dab8302d367f1aceb090077ae8c2f2edc6ff21defa6eddbb1581c470c02b99c0c4638b74d SHA512 23271f698b62035c47aa356f5b04e416556a4965cd2664068554d505960f737c95c3e10287d6bab825a4583d7e2153bfa5a5828e8f39f4c68af8bdf73f7bd443
+DIST NVIDIA-Linux-x86_64-390.42.run 81836210 BLAKE2B a72c581b3aadb234d8e5230fb8d1a4cdbb03aa43434320e6cb3ef7b409dcc299d64b21b7c822736760fc12193da2d603009b8353312573b2b2a16311a88fc96b SHA512 6cbf02630ac79a5cbb37f442f4def2a196b4a9d2a3600b0f5cdc3c148dd59d07994a2cee2efe0ac4139b6543698331c07f015c37b391d4f00acab7b2f033ad18
DIST nvidia-settings-304.137.tar.bz2 1481361 BLAKE2B cf52a55a34eeb03a685a683487af6a198ba467dd8ba9983cc75624a37a226373cd931d98e8448b7b8ed430c54be2118c7b240ed2a9100b19bec5e832e2f6cdad SHA512 676d1f70c9a78ee234f5f1a283412430a386fa604de211afba02806a45906c5e246a002989b724d74752178d28c92a268de1c98d4c87876797d991253f16b0cc
DIST nvidia-settings-340.104.tar.bz2 1549760 BLAKE2B 131532e16fac8c026e0c6030c12e42fcf7598b5e3d7b9286532387d90ad51eec666efd281b20c04abd08c8280c65dd907ee397c0acb4cf9c74e9d6c7be4dcdd6 SHA512 d4277ef0ce87ee7baf2c5155ca8d93e8db2483329053c541b6a605653f4a6883aad81ebdc45b4c60aa78b72bd4c6c88e5b1327cc4cd2f540fcee8dbd7edc3e53
DIST nvidia-settings-340.106.tar.bz2 1549841 BLAKE2B 3419467424bc05a4a36f588e326eac4214250686f54c6c440c9a46bab80b15dee77e65d5880ed4338c0fc421306844d20a4dda0d5151a8d49441ef5048ab9bf6 SHA512 670f8469d5127f0966794ed822492f16f7a84656530d0b96f1ccdc915e6c588e9f1417b7ce1cc741df256383292820affaa10784ab748575f4adf2f98f961a27
@@ -73,3 +78,4 @@ DIST nvidia-settings-387.22.tar.gz 1267587 BLAKE2B 67eac64d4e4a489f9e513d92e780c
DIST nvidia-settings-387.34.tar.gz 1267616 BLAKE2B 62d2fd329417f54bf384918889603921065e0ef6d4fb691e914534a75ab0062a17d8f886c593cf772d29bb6b56ce30aaf7b1548191b2f9ad5fbee71770ed5308 SHA512 559c859c0740575ab93edce013587250b98d7d2cd55198b5103fe97423d31ed9f113d83c240c402404de88074c285a07e46342538610d3d5dade7bed59d60090
DIST nvidia-settings-390.12.tar.bz2 1109004 BLAKE2B bf5803590f917e588ecbe9be75a2b9809c3ee75dfd1a4ccafd90882b32ce15076741082c130bc594fee5805a54d27b2709c0d6c679be7947ffe2fe74ba8e9c78 SHA512 71ed79f568e6e47b77c82fcc2d0256728645a0b3499c78894e47ba9c9fc109ad37e4277307137bfc95dce9caa68ebe066f47be7d5ecfaef4b53879d80f5dcab4
DIST nvidia-settings-390.25.tar.bz2 1109030 BLAKE2B 33814af0d55c2edcaee3e1f334e29ae6e72438f4533ed00d63db17149fe6a368e16ce68ca9625814b8dacdccdf847fe2233aed73fdd028c8cb7cdad1d8036e7b SHA512 883216e9d9cffe8816430656a616a522f3dd2e24d8cec1c0392adb9cf70c8b88c10976260039b4c91a69bcaef15f89afba8a0430d08f3ba3e26491884c1b06d5
+DIST nvidia-settings-390.42.tar.bz2 1109291 BLAKE2B 34eb3712286c5dccf268cc478a90f37d0fe41a32d39226973c913bb50f1f9d4943f7c49c5b3d3a5f4726209f1b6ec0a6b0a8df25a33155c4fce1b71f563b06be SHA512 5907aa76cbcd136593c0b517c0a6c08764d9b14a90fa0951278fdbaa6c44c8d3149a902bace1f8203ba621af376030bcf7c51f3579edb1cb3152a97eb443134a
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.42.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.42.ebuild
new file mode 100644
index 000000000000..1c27f2be178b
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.42.ebuild
@@ -0,0 +1,586 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils flag-o-matic linux-info linux-mod multilib-minimal nvidia-driver \
+ portability toolchain-funcs unpacker user udev
+
+NV_URI="http://http.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-32bit-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? (
+ https://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 )
+ tools? ( sys-apps/dbus )
+"
+RDEPEND="
+ ${COMMON}
+ acpi? ( sys-power/acpid )
+ tools? ( !media-video/nvidia-settings )
+ wayland? ( dev-libs/wayland[${MULTILIB_USEDEP}] )
+ X? (
+ <x11-base/xorg-server-1.19.99:=
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libvdpau-1.0[${MULTILIB_USEDEP}]
+ sys-libs/zlib[${MULTILIB_USEDEP}]
+ )
+"
+QA_PREBUILT="opt/* usr/lib*"
+S=${WORKDIR}/
+
+nvidia_drivers_versions_check() {
+ 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 16; then
+ ewarn "Gentoo supports kernels which are supported by NVIDIA"
+ ewarn "which are limited to the following kernels:"
+ ewarn "<sys-kernel/gentoo-sources-4.16"
+ ewarn "<sys-kernel/vanilla-sources-4.16"
+ 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_pretend() {
+ nvidia_drivers_versions_check
+}
+
+pkg_setup() {
+ nvidia_drivers_versions_check
+
+ # 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() {
+ 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}-375.20-pax.patch
+ fi
+
+ local man_file
+ for man_file in "${NV_MAN}"/*1.gz; do
+ gunzip $man_file || die
+ done
+
+ if use tools; then
+ cp "${FILESDIR}"/nvidia-settings-linker.patch "${WORKDIR}" || die
+ sed -i \
+ -e "s:@PV@:${PV}:g" \
+ "${WORKDIR}"/nvidia-settings-linker.patch || die
+ eapply "${WORKDIR}"/nvidia-settings-linker.patch
+ fi
+
+ default
+
+ if ! [ -f nvidia_icd.json ]; then
+ cp nvidia_icd.json.template nvidia_icd.json || die
+ sed -i -e 's:__NV_VK_ICD__:libGLX_nvidia.so.0:g' nvidia_icd.json || die
+ fi
+}
+
+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)" \
+ DO_STRIP= \
+ LD="$(tc-getCC)" \
+ LIBDIR="$(get_libdir)" \
+ NVLD="$(tc-getLD)" \
+ NV_VERBOSE=1 \
+ RANLIB="$(tc-getRANLIB)" \
+ build-xnvctrl
+
+ emake -C "${S}"/nvidia-settings-${PV}/src \
+ CC="$(tc-getCC)" \
+ DO_STRIP= \
+ GTK3_AVAILABLE=$(usex gtk3 1 0) \
+ LD="$(tc-getCC)" \
+ LIBDIR="$(get_libdir)" \
+ NVLD="$(tc-getLD)" \
+ NVML_ENABLED=0 \
+ NV_USE_BUNDLED_LIBJANSSON=0 \
+ NV_VERBOSE=1
+ 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
+
+ insinto /usr/share/glvnd/egl_vendor.d
+ doins ${NV_X11}/10_nvidia.json
+ fi
+
+ if use wayland; then
+ insinto /usr/share/egl/egl_external_platform.d
+ doins ${NV_X11}/10_nvidia_wayland.json
+ 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
+ use X && doman "${NV_MAN}"/nvidia-xconfig.1
+ use tools && doman "${NV_MAN}"/nvidia-settings.1
+ doman "${NV_MAN}"/nvidia-cuda-mps-control.1
+ 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
+ doman nvidia-modprobe.1
+ doman nvidia-persistenced.1
+ 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 nv_libdir="${NV_OBJ}"
+
+ if use kernel_linux && has_multilib_profile && [[ ${ABI} == "x86" ]]; then
+ nv_libdir="${NV_OBJ}"/32
+ fi
+
+ if use X; then
+ NV_GLX_LIBRARIES=(
+ "libEGL.so.$(usex compat ${NV_SOVER} 1.1.0) ${GL_ROOT}"
+ "libEGL_nvidia.so.${NV_SOVER} ${GL_ROOT}"
+ "libGL.so.$(usex compat ${NV_SOVER} 1.7.0) ${GL_ROOT}"
+ "libGLESv1_CM.so.1.2.0 ${GL_ROOT}"
+ "libGLESv1_CM_nvidia.so.${NV_SOVER} ${GL_ROOT}"
+ "libGLESv2.so.2.1.0 ${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.1.0.2"
+ )
+ 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 "${nv_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
+}