commit:     475ebc8395082f9e7be7319b1d0da2c88851a662
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 12 01:09:44 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Dec 12 01:21:04 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=475ebc83

x11-drivers/nvidia-drivers: add 580.119.02

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 x11-drivers/nvidia-drivers/Manifest                |   8 +
 .../nvidia-drivers-580.119.02.ebuild               | 586 +++++++++++++++++++++
 2 files changed, 594 insertions(+)

diff --git a/x11-drivers/nvidia-drivers/Manifest 
b/x11-drivers/nvidia-drivers/Manifest
index b4c7fe746970..25119cd76fe1 100644
--- a/x11-drivers/nvidia-drivers/Manifest
+++ b/x11-drivers/nvidia-drivers/Manifest
@@ -1,6 +1,7 @@
 DIST NVIDIA-Linux-aarch64-535.274.02.run 269962412 BLAKE2B 
e4026c6ebf72ce7220a4dca688a349b27bdea518dd5eaeb3ecf153a246a8155775668cf3b2593b02abde747299cbae438e45af5c73c19627a93b6528051128e6
 SHA512 
a5d6187844c43bc56878d20b147ba36663db2c3b5f6ea31c2e84c364b88cac115417e1f2e073c9bf03ec698880921b6f98c1129b952d3156cf88c89156bdb046
 DIST NVIDIA-Linux-aarch64-570.195.03.run 293703412 BLAKE2B 
7c843496a403fa3a2eed2b40c9734a6061ad3db3d2de768f70ed1020ad61388fd23a67517efdaa70ba37ad5e97906b8157fea664f46847a096ddd576343ec402
 SHA512 
4ed4c4863dce0ec53a9fa1a7e3cdc7ce3e915db4ec014b2c5030e8a6c961d4e58c99c42b6c6b17020d8c31acf95e14254bca446c2a56ce29b10067730910e2a0
 DIST NVIDIA-Linux-aarch64-570.207.run 290858757 BLAKE2B 
d04bfc5457ba3e2cf7e6bebf333c9085c83f1e437880d3a34ffa53e3ae094119875738893b4cccdb83d7699373c83d7d71182815a77ddd2834db9990eda28864
 SHA512 
90aac68738872349ead074e158193d847256b0a2f4d850e16a03aa165041aeb5d86413a6e3879253c90e4d96b3d624b839924a6f4f666e18903621154bdab305
+DIST NVIDIA-Linux-aarch64-580.119.02.run 313944261 BLAKE2B 
18cf6bcfdb42597973e162d28ea45c45bdacfab0042789a8cc0572ff5896ffedbf63053d119c535e1c8fdaa43476068823bc684d5742b7f69d9965d518058df4
 SHA512 
d4926bada63b7a8e8bf430a45e4d98fda7b0a6b5f0f981258cf66752c64f022a3484e719257958779bd0e7371116bc8ae09f5724f53956c8299c3ec986d2b205
 DIST NVIDIA-Linux-aarch64-580.95.05.run 313379170 BLAKE2B 
70431f394ce9d112afcf0742539289e399286ecefbdd86ad71c750acee21c3b965b435d77d54b290866a6c60c7601da5c8bbc2d6edce0b8e4dcd43d21ee2ec35
 SHA512 
e07b31824f7e6dd485df5c73e3a58f85962239ea20a92f18d82b9c55564d69309fe5bb279f39ed8ef152ccdbffc6d0fdf7bccfa3c794e4ecd9fac83bcfbb91a9
 DIST NVIDIA-Linux-aarch64-590.44.01.run 319562942 BLAKE2B 
08547c7e4b746ab72f04b2b9f9fdeaade5057deb46d12c9a914e3e6c131a3b13a74a7713dfd6177e5a648f87f00935349f92814c101004bea3090602813a391b
 SHA512 
95849eaba6761ba5e7435d8cb4d9f72b55e6b9e8d90b90be517f64b5d0fc329cffd80489b558c224370b869a11be13eb96ebb481a113b64b8bb24c48348f0657
 DIST NVIDIA-Linux-x86-390.157.run 49417041 BLAKE2B 
435b5e0e60468cc74b41cc5d9b5bb0105d29c11a2d408457835212a96519c9334ecf19278b36749d3ff7f498f5b0ae45a2efae2d428703dac21245c62f1efebe
 SHA512 
dae9ac2c12f9ad90f7441e00e01a984147c577892421911d7f67f6a31e616ac1cb7d434bc9c7f58fbd9b8ae909521b5bece607a63c79588c0bb9d99c6bad5fb0
@@ -9,12 +10,14 @@ DIST NVIDIA-Linux-x86_64-470.256.02.run 272850014 BLAKE2B 
0fdc867f92b82b2a60810c
 DIST NVIDIA-Linux-x86_64-535.274.02.run 341804470 BLAKE2B 
0d848295d8f0f8fe3b4ab6c0204bfc3ac26f75df253b6595137e99177e4ccd490e0c8d4330f6789137d906fdec317033e59b5f22213a38ef3c9daae2968f71b8
 SHA512 
cc89f84c4f8d76d8d1532e67630426b3988e778bc7474059231971333cd81d6a552d8f5ca329f9e3c540229bbc247b665d2276298e3c302975ab0f0562ddaafb
 DIST NVIDIA-Linux-x86_64-570.195.03.run 376136266 BLAKE2B 
1bf90b173a389aaf5542631f1f6dcefe955e98a650917246f14a3e3a5b96fb6e88a2232712c8f0db97131e43761008679e063a01fce34f11081555d72ebc1fb7
 SHA512 
77041ef60bd4c637a53750b6ef5c5121e3eb299c5b2859d65fd0a3683c4fb32b5fd34ae419cfdb982588992706264c839338d1ff02850cae2c88fd67f7cda27d
 DIST NVIDIA-Linux-x86_64-570.207.run 376235013 BLAKE2B 
76d2092705673d743f2e64136d2073de2004ea71b3fdde7dd0ae1e11fd5f1e0dd5174324589f2386dadb85c2d2992b62229575b0cf33b20137aab16d51b0c566
 SHA512 
587ed8a274af0a9a3f029951a1a86a16e1ab367c07e8eb928d17e0d4ad79f13700a9aef0b3a42bae9d14a832141e9b02b117636b12788b58364430335bff9167
+DIST NVIDIA-Linux-x86_64-580.119.02.run 397786077 BLAKE2B 
2a57a0c53deaa1d31c3bb1ca53f05ab017cccdbdd95a99748997d2988359c9ff4f2cb824304b75e4288801f0882deeaef9712785b4e1c659282c25d610be089a
 SHA512 
b773deaa58823d3907488527507df6831959c1b8215ad34e1fdf7025d318d9ca7610d0b103252252c4e4097ec97d4224f99a3e9701327dc15eadc66e906af250
 DIST NVIDIA-Linux-x86_64-580.94.11.run 398175670 BLAKE2B 
77a4bfb1d1bfb31f7051a21373a5f5a98d31d741af4632256f08914b5c7289ae4f17d5b4569a46e8d0623ca5a22611bd67fb1c608634534b25d7b772fc85e395
 SHA512 
6251ec2f9921b392c7a0428b56f35dcaf787c0efd12d2201ce20fd3b41701674c3fd36efb14f7ddf6653b762f1973857b33eb093305546ab2bd8de29ce7bd92f
 DIST NVIDIA-Linux-x86_64-580.95.05.run 396658958 BLAKE2B 
7e23e5243023de357329f8f57b65a386306fd898a78c68b01d67a9572ac0d64b2d87c0cf3265c23fc4c13192d92060196ee173c34cb485a693035478cb3fc82e
 SHA512 
21e8076f593ce255c8e96dd456524f700e76b230130659ed73a279432dd9f2aa60735411c6fc906e9f60882e905cc1c5b91aaf80d5d5e64d317b1dd27f6e4c13
 DIST NVIDIA-Linux-x86_64-590.44.01.run 416205886 BLAKE2B 
b8a4f02ce1b3697f45d5932606a8d9816e8dd38e4957b0d069f9759cacffb42fb741084009c012017e92a785fe9ff3810d7fd420f832873a2c890c7e29d5acd5
 SHA512 
8fb0cd0b09b3b997029e97314fb8b4f63a5b567c17d99b63321e72b3e002c5e912694c5049babae80e7eafdbcc966d46e50bb942ddefe3e9da28623b5b119005
 DIST NVIDIA-kernel-module-source-535.274.02.tar.xz 12513068 BLAKE2B 
e9f9fbdc70ee634dd26d626b0d5252e01c748fa8fc5b50af02a18f0dc75e2a40ced2fbaf24c4389dd207936849f6d614f18ef06ed35111ed26f3f6fce9017592
 SHA512 
4a660e08c03840de0b8d5bee079ff203a864131ed3eb4805e80da6c071b6953a6acee6d81788c4ea076399db6270e34844d5ac3898914195f530d2e0ef1c96ab
 DIST NVIDIA-kernel-module-source-570.195.03.tar.xz 17937740 BLAKE2B 
b6610c713740b55da783f5954ed537b74c8e42152a24f4063288f04c00d863e06d524b5eded1c13fe561138f46248824fbab3c631829a476061026e70484f55d
 SHA512 
09fe04c6746f2cf942f5d861153dfbf4aa83640e60dfb8911b90ba6d9ccdbe2214be010c67b674b04da731e2e8847c56fa17ba8fa9ad91a0d95d64b9b54d566d
 DIST NVIDIA-kernel-module-source-570.207.tar.xz 17948940 BLAKE2B 
7573f8f3083564038649e0a7fe0feb1cec313a1950b06200198e0802b7f3553212cea2100f563659f425c139eefaf976bea388886180be895e12f7631ac86b0c
 SHA512 
de2306aa80ce057965a2d2d7570035feaef4016a6d9e37f7ffb9f19ddf6e892ab8eda14bfc893122c6f2321e406272b7cffc84a053321650c29d3a25d359c6f9
+DIST NVIDIA-kernel-module-source-580.119.02.tar.xz 22236204 BLAKE2B 
ec10077a776bfc3d933461fd2f188070cbb653a18743fa6089a62ec39981f76b19e201d59df51f1dbc3db74ba0a6d88bed9272d0633b0d092e4eed6ef3f6d5d6
 SHA512 
ffd90759137648378b35e59cc81459d75853b6ff6ef60dd3de83c6120be32166505f7d7a25f88440f51929e24a9181dee4310d4bec006b5ed86a46581a9b13d4
 DIST NVIDIA-kernel-module-source-580.95.05.tar.xz 22215620 BLAKE2B 
179e2e1f820840273e54b55cd45233c6b5e26c1eb80e8e4fc7099a1704820cfe761c17839befcb9ddca2fe7e85b7ddf62e9a51b912e1f300b02ee8941d6467db
 SHA512 
183e35afc583748f5d5fc60970be7e1e0b99de40bf0e9428d3acfd56f913724cc8aa242a276c327ad11e09290818883c8045ab3319dc0e919201687359f7cdc6
 DIST NVIDIA-kernel-module-source-590.44.01.tar.xz 22515256 BLAKE2B 
a71a59a6c5abbc5011164444f95730b8d96b1025b3d685ea69720a3afa658baeb0f4a6d9d8180d79b76cfb9e972f47c9525dd61e86322a820d17ba6a2eececc1
 SHA512 
a63f48f1f3a52d973597f6f261e8d9849165a33d561b5e70b6b84bbec3b3a66029a49a1e710f68c70b853104349ab1f583009c8885b4d259be115da6e9ba36ad
 DIST nvidia-installer-390.157.tar.bz2 150323 BLAKE2B 
8058ca87a6dea956d564af9f7eab9b1fc82b1f2382bd5cb2f6d97cbe2e19292533522d5f8f2eacbeb16520372715fcb72f8f9b0998962af5d4e75522c8d74524
 SHA512 
93a7ece648602157496c8e27a88864ede341a100f5328a4c1a25faf8f0b94d252060e5e2f71d0c302fd0566c10773c30b76b3b5f431d8039b71c90a7969f7d7e
@@ -22,6 +25,7 @@ DIST nvidia-installer-470.256.02.tar.bz2 146269 BLAKE2B 
4402e725c8fd0157eb84d4ec
 DIST nvidia-installer-535.274.02.tar.bz2 148772 BLAKE2B 
7a70926628e137a0687acdc613a3afcd9fafab300e6c3ab467f9fef65c66911795a326cd08d49190870939576f358760b44949ba20df6060936f98e1385a2435
 SHA512 
c2a61bb9637d7fe9de89d7e3945fe84c6f672c8f16c4c12d513ba0b0679146321f4565be1266fcd5145ed7a0610cb59ae9f6fd7f7cf565f24e028272688899ee
 DIST nvidia-installer-570.195.03.tar.bz2 169609 BLAKE2B 
5b40805276f6da3653e16cc75cf9a4c03ae94e9a5430447b66f960f6103897e7a1369ea2c4c395fabb2f6c24a643086657c78d3587a86ca0f64e04af9ac15765
 SHA512 
96e41320228ed59931832ec25bffed554a9cdb2cffcdd21714bae580e0d019a632f5c5060c10aa9986ed2ccab057dee55d846277c10e97f8070a2ad246052351
 DIST nvidia-installer-570.207.tar.bz2 169253 BLAKE2B 
1364655663682923df7504e76ddf157f4c5368442e6e21541ed12c54c1c35ce97370307a751a72a3d2fb2dd878852106392ef5e8dcdaf5f2a42d29e26ad60077
 SHA512 
253f15603e4ad27be655fb945cd60180fe9272e394cf587227c95f1648f8c0ec91973e6a603135d82976c8a650adef7003a7e4fe8372f6df88c4b512a29832dc
+DIST nvidia-installer-580.119.02.tar.bz2 169905 BLAKE2B 
f6a08292a824879266e75efbb2ae28f49a40799d0a2d3390d031e2259b419f475e50bc0effca4cc32aae76370bde79c4078f362d892d07b938092de90c28d6c3
 SHA512 
cbe597dfa8a801aae053520917ba90735ad03194b51d767eb8afcb283e2ae6d0c93690d1fe2ec7e24b896680dbd8c53b99f246c3de6bd94a2588e4773ec82a27
 DIST nvidia-installer-580.95.05.tar.bz2 169558 BLAKE2B 
5e52aca8950b83b2a0366fc39dba5b89d22248ced974807f33dababfc06b41b5c40ff238552e61fec54625a6b2bceb8401ebb4fb69b47e33e565058d1796cb9e
 SHA512 
1f20838f4e20d77c9596aa886f53bc4abedfc5e5634665d3bd571fb920013b2dfdf7dcd082b0cfebdf4d104e87203965cff6a04863f9b0bd43f9e25264217578
 DIST nvidia-installer-590.44.01.tar.bz2 170890 BLAKE2B 
e6bbd5f862673217dd4359533bb3c275c3319af69b2a912e43ea5d1fbb0cde2434c0decf2330bf3ac94d78cbd21fcbda6c5cd7e1b34bb44dc6313be3257072b7
 SHA512 
558fcb1984a5a399e7b388923f43821913b523cacd8a4496c05db92362b270f6e58bdb838be7f5ebb02bd3422dd43cbff952f3ce506cf7fc0c42b5fc92d3b3f8
 DIST nvidia-modprobe-390.157.tar.bz2 35306 BLAKE2B 
80d202b39c2f95ec0f909712c2e101483af50124092c32efb33bd98ff58ddfb97b737ff07f1ddc941f688c1b4c26a15f392566d522e18506771f10422fcd571c
 SHA512 
109bbe24a3758b568ea65fe1e9d78f69fae6108ec0497b796c885a3912825fe04ffd7389a3e22987f1a10a2926bf6eaa384faabc59478aa3ee244dd3ac91c6d3
@@ -29,6 +33,7 @@ DIST nvidia-modprobe-470.256.02.tar.bz2 38769 BLAKE2B 
0db444b09b0b6d24c04877fae9
 DIST nvidia-modprobe-535.274.02.tar.bz2 40749 BLAKE2B 
85cab6efd924d6a10a1336334ef2b3dd7005da9315518b59a865feffd889aaebfe428d142dee4cdc03eb4f77850c314abc1ba1b60083d0339c2466ed3c30b220
 SHA512 
cad7dd263ac430457fcb2a1e8659f53d436e2c46330ded165698c5b8ff0a52795edc837f724178f5c929e25aebf6c6094d14eb08e9469a17bd1673195cbc849b
 DIST nvidia-modprobe-570.195.03.tar.bz2 41605 BLAKE2B 
e61623d3249911b0d0c8f6d66f6bb4436eab50dfb2cdb43208391f58e7621a86e4a14631261518548480a600c2d14bd0dd87365115408aac82f46f4154d4c801
 SHA512 
83ee9062371430c3cd25632cce5b46e135d8e85bc690a70c25e6fd872d9df13aedc890d9ccde79629bdc2753babd3aabd8b052e047d2d0c6a47675897b082624
 DIST nvidia-modprobe-570.207.tar.bz2 41621 BLAKE2B 
84b84be1ace3554be45b56866ffec617e4d4c838889257fffe19fea5811414cc417b7d6e297b32f23e0c2ab092ff911b3c7d04de168c84f4c9fccbd52be69c8a
 SHA512 
d13dbefbe730a9aca3786effb5c7b361b5405b687bd17096b5815756e1c58ed265250b0faaf99da4fb29bb67c7d7da7d4d4609d2f2be03d8a9cfaa74e27cea5b
+DIST nvidia-modprobe-580.119.02.tar.bz2 41697 BLAKE2B 
ccfa263a8e7b2a069ca8a2775b3c62816f3480d2cfd67bf2ca229dd8f7a56b0217eb03ed45ee8155c11c3c44b91c7533042d4a147242c9edc2c7656f2fdd6f68
 SHA512 
e4b83c88a0dc5978d137b37c545c5100681b32030333d6cf47ef7ab0f15ff8f689ec7a615c01650f0cb89932a91db0745ceb1e555f4c958b2a31562712185582
 DIST nvidia-modprobe-580.95.05.tar.bz2 41708 BLAKE2B 
17988280c9c54fdc86dcf757903f18f83d1eb44b25a1386f8cc9bf098aec87b77c52bd3da9ea77511716c678e4354e8a40bee1561a953ed56eda350ab4a3e464
 SHA512 
67faabda2388515fcad71ffc965c7506156116f4e020837da33b0f17bd30aa05cd2d28a54711990684110133ad1a58a8db5473f58f2e5e587bc8edf5253a9351
 DIST nvidia-modprobe-590.44.01.tar.bz2 41704 BLAKE2B 
224db886b27160e65f4b36fced5ae2b1915daf14228c1da613351cccc0669ac2dcf528bd5c10e105fe68a42bc981c44a7c6bad261e29cf286f5c52a8d4583305
 SHA512 
162b6106c6d98886f374c3351197a3239b416f678524f08e9e8490979a36df74d6c7c0a3d18c5cdb288d2492bb39d1ab43251806cb83bbd90db61d6f98e9dc00
 DIST nvidia-persistenced-390.157.tar.bz2 48654 BLAKE2B 
2cf6c92da90acff55e8c180a06b0c6a29d48be9fd8ca3c541202fd14f0697220fba6b66452942aa7ae7cc8821f5c5eb9fa8f7a31d2248624e5f9141d83a176b8
 SHA512 
70f0707ed6f2b877e69ef90cf782f66cbc9d2071db53ca09ceb7b89427b0fe176708517340621fa251539b7d481b238adeeb60261674eed74de1f62db6dbb72e
@@ -36,6 +41,7 @@ DIST nvidia-persistenced-470.256.02.tar.bz2 46567 BLAKE2B 
8f837322a3b88412fd2f6a
 DIST nvidia-persistenced-535.274.02.tar.bz2 48596 BLAKE2B 
1f87652351ebdca97b1b145e421abdb2381fe9d824ebde12eb60983cf8480f60dc530337fd2a47d5120f3c77a6fbd895fca2497dacb31ed234a9e5cb357703c4
 SHA512 
2e8e3929039af7f468a4d43ea5a6452aba86fd715d229883212b9223603d0ecb7417380354e70c85366b173905708947f3bb1919e09382f69a62f502f7c6ae7a
 DIST nvidia-persistenced-570.195.03.tar.bz2 61806 BLAKE2B 
6dc878a1febffaa1faad53e31abbc8aafebf759cc2d079e8d24b28872a8ce62a6d22e7ac973c1f8bafa7f54f4d2543d082ab57528f3cc578ba854aff02607af6
 SHA512 
37ea7c685ccb49d593b5651244cbb237830ed6e3af891742e5e4e851b68e60ec031b3d05de6feabcc3da6770373af667878452eaeb02596cdde5ee34199b66ed
 DIST nvidia-persistenced-570.207.tar.bz2 61835 BLAKE2B 
6dc810a183dd37f33b7cd2e9dcead6369adfffe1e2e85b40c0b18a72044131d1098be1e06550ac3fff39706aa2cff348ccbbc243fececef9de8147997a7cc98e
 SHA512 
c178ddd4125c6002c414d14c162f272a144fc0621b6c51916bb8304a6fd7658cba6f1cc175fe65270b589ea8fa529531dff99ff3ac5336cf2f0f53775e07d7ad
+DIST nvidia-persistenced-580.119.02.tar.bz2 62213 BLAKE2B 
d88ded3f8b99f975e71a6474f24f6e0179cc6a58f862b5796b962c8119a9c3f672a5a26a6caf834b8a27693ac2e394c85710117cb1d75d60963dbf41aad23c80
 SHA512 
052af6bbad837821ae50372595a14df9140fc0ef10199ea4667fd6fb1cd6524c84ee0570621f5e63b7234ded9bf3f1093402295752af3732bfc59176339515cc
 DIST nvidia-persistenced-580.95.05.tar.bz2 62343 BLAKE2B 
ad5a8b185accac6e8488f7b6d138e71db783590ca3b9890a1034771977b2f598c4f920bc48e65dc254b925e71d7f59e935cf1e43c90982e81b48266ac5da4171
 SHA512 
624c052fd7e7aab74e86c07ab281448415f9900cade11c255f7b6907e7de26180513e83d7374b4a823ab431a0ce2c5a74ae51f8de3889bddeb959ec73c373605
 DIST nvidia-persistenced-590.44.01.tar.bz2 62203 BLAKE2B 
c656171144f8bf0c209a7d34813040ee3c19128520d07d72e46ad54972982b9d1ea9999bb31ed30b3f6479d1a8ac9c2476eebfe0cb71e41bfe7b062c1f8dc132
 SHA512 
41b373df321e58bb196b46ae0eeb83c3514f562fcb3ac0b159ea82446ef4e759a8a7a9952248b2fa28dc5294ecb2ad390c815933a05b1cba49023fb4b721b660
 DIST nvidia-settings-390.157.tar.bz2 1108938 BLAKE2B 
d9ec1ab5d7f157d74627272adf752a671dd17e2ede02069437b6180b927fe315b15cc6416d584ab2f038b76fe01e5b64514a834f24d88ac16676e55205fdecdd
 SHA512 
b16699009bf56a1ff3b623a528c58061c4f5a2c5c4a373756a07bcd667743a1df7c733a572d2d0baa835a904ac2fda8a5c85890dcc00c3a0f223e0467aea902d
@@ -43,6 +49,7 @@ DIST nvidia-settings-470.256.02.tar.bz2 1062273 BLAKE2B 
8e66201e7861469b12932595
 DIST nvidia-settings-535.274.02.tar.bz2 1094628 BLAKE2B 
065eab7e3a6d2a38e437b133eeebddd647467ecfb110f1f356a37df2309e738372902bd8ad7cccb0643da0ef0a310536bc336e8583bf2a9058d580f4795a4b92
 SHA512 
bcaff79ebf66197a4228c6cda17995f6f0d1a6e8f1f156b907f5e7d7f06bdbf318b4fe084591e3f767ba4efc3a0986d2506fb4775ee09613d2c8f438762db1dd
 DIST nvidia-settings-570.195.03.tar.bz2 1124511 BLAKE2B 
64f404f9659aeb97cf4c498e7857384ce6de5df7f6a0b21d2507e896524c1d9e0a570a5afefc67cd7ecb011b74f513891ef45592398a4b7ca9e971efabb84653
 SHA512 
68274d9b2622310b729e73bbd96777e5c7f36501d397b9156039b24cef4933f91757414353f70216b4264c858a24ec34ab996db23ad2dc4cfe1bd70bd77052f9
 DIST nvidia-settings-570.207.tar.bz2 1124342 BLAKE2B 
7a1725d7ffb81df4d6d32fb4732aab44af5a84f8e42546e162924ec45fac06075e27748a2bdedfddddb8abf3387c07a79d8d23a7fea505f5efe213117a90ba08
 SHA512 
ed8a250c21f6fff50c6ebac6b6dcb016ce29bfef602ae57e4df87082e43640746bd900aef52c60b2415a23f658e3a8a5d3336c4cccaf9efcfc97d089bed11e8b
+DIST nvidia-settings-580.119.02.tar.bz2 1132592 BLAKE2B 
c36458c81a9392c94312d0566c67ebcc60b11551211c1d0605cd45f2b01aef406d1ad49bb448a98daed47d53cc13f4d5cc0a2ea0ebdb9d34edebb772706fbd69
 SHA512 
34ef7943b3edac7f3d8bf8f191ba2c65da4d14307e053216b70bb0573182df0630a243f390d0455255a84d6fdb88e93dc886eb4edb49f31da5acdea400579089
 DIST nvidia-settings-580.95.05.tar.bz2 1131496 BLAKE2B 
5eb45787d743319593ca36c6d95fc9e93a020615935211c627dbebccecf92b8dd7d28c6d63a95a07c8cad1a70a65b0ddcc0040564ece0bf3383478ae59bd3aa2
 SHA512 
8c60d4df230e253d5fdeda972f0a8a9285ee419fe9be34aa3d25c06d4954bb9b6fc6db789f3a621813fb817f6de6fbdec6d79f70d519f1ddcb6b25b8378d6480
 DIST nvidia-settings-590.44.01.tar.bz2 1134395 BLAKE2B 
b7a8a6f543f50bb2c399c45eba3cda4459518366868938f904a64412e83fca813cf6f545713c7dea2c9c8ac671b99192ba9e6e96c91fbccf4b4f8974a7a5471b
 SHA512 
8aa2987381ebf3e7c8cf85264a4482368578ae28319edb53c1be70130faf27a62b2fc291225c503b499095c05c4a50d0d2d6845e9ccd080395b511a6ebc474dd
 DIST nvidia-xconfig-390.157.tar.bz2 107399 BLAKE2B 
0cbb3b1ba508ddc3ba4a161c290b31bf7a67f67880bdbd01171a962c5fa97ca945b1ef17932403f8589309380743f1da632c728d8accb6d4e56dbd895e7486bb
 SHA512 
50b390811c9bf091b14add41f886925b17496b41006b7d3981d2398caa65cf5db8a579c8cebed78278384bf3acc629befb07b54339c61abcc75852c0dcb8b8ca
@@ -50,6 +57,7 @@ DIST nvidia-xconfig-470.256.02.tar.bz2 108698 BLAKE2B 
e468574e4bc57e7279d4120e2b
 DIST nvidia-xconfig-535.274.02.tar.bz2 111008 BLAKE2B 
4311cf01a7224a0fdf2d8730b2a88931d53916cd627740e6e8e73dbbd29641dfc32721c9886094799953464a69b80aa1fae1d6cf4b203c512ad65d2ae7f5356a
 SHA512 
6c2d5e068f1e6d1c37041b179203608144797893e31c99133e1189a31e219176b3e032222d935679f4c30a79cb960741cecdaca0b552feb75eb10366aa9d66fa
 DIST nvidia-xconfig-570.195.03.tar.bz2 111245 BLAKE2B 
2718b5d16804bfbbddf54e100404b16691d56596c365db401a0e6168114b423e826a1ab13e6fff7d3efbc0ea3922340c8b13951c36dac5e767b2c753aebdcf9e
 SHA512 
f51e61d4647d0bc8892fec90863d602bce5edf8857d4fbf24fa2f2a1fce4f608d7b37928e021600cebd37a130f1f354d8a14f80356d8d60585756f544f5f6666
 DIST nvidia-xconfig-570.207.tar.bz2 111226 BLAKE2B 
63ecc5f170fadb60fb841727799a31a4bd5a8465ca4b890d1d959a3559fe396ffd4ef4d9f0f79abbd59114894411fa584e1abb3e535d4ac47421480a40d5b4f3
 SHA512 
4250eef4f367d2d2a7e99cc393c1c738fb84240248c482343acc2b3a197d3c2cd7668c455d5d64758d83823dd17393d1699bed13ac9f8eb05b4b62150a2dde57
+DIST nvidia-xconfig-580.119.02.tar.bz2 111561 BLAKE2B 
8e23563e05168de19f616c2fa7aaa69d626c9d21c3d7f7f876f60a711222779d87c1bdec7203bb9bbd401f198c0e1ea87ff586077cb7be78455722d1bef90b3a
 SHA512 
68ae0de9adf9d33ef8d4703d508549a2268be5c11668cc067848b86fb920c428fb83dbb31a8497ccc9edcb43b2510b3c36bd7b4ded3a2cc0f022f372af418b29
 DIST nvidia-xconfig-580.95.05.tar.bz2 111488 BLAKE2B 
abaf3fa63c19129df539a1e0eb4466ff7b8ccf81527c69b6bcfb16df2abf0950541791ecca130ff59ec0028a5a92c1a0912bc1d35a48efbd331a58f224699db6
 SHA512 
4fa0d411e8c41ee5f24443ef9f88a261c006b5b487f6745d54eac27805a8a810ef5ffba1da3952a39978e1ccfe39114399722e392d282791a648c69a88b7777e
 DIST nvidia-xconfig-590.44.01.tar.bz2 111036 BLAKE2B 
a8108784699b6b8e507a916152a2a02918db4da1f0ee24d4e31dbd1de779bef910f69fbfe0414df33d58b0ca1656f2d9a6fd4796c472078b5d919a14dd0b42ff
 SHA512 
85b64c0fe5d6633b3aa95276f521b828b98278376b5be428080e257752332618867ded6805e8b50cbe9331bc4dd9fbdbdfd3c29e46fed1da890a993acbb3f613
 DIST open-gpu-kernel-modules-580.94.11.tar.gz 23281320 BLAKE2B 
2eabb58ae6bce6e13469d91337f4ea2f5ed1f779a2687be01a6d3c2ef36c2aa6d4a0629296f48cf9fd2421ea06bda30f03c3af66c357dcfd41c2eee62e84d4b4
 SHA512 
305e6ed817bf42ab3fc2dd26000aaf92ce21d6aa44176f4d48905094c77c50636646dc0cc933ce994f4a9566cef8674af56b8fc365a9f27b4a9793be9fc3909c

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-580.119.02.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-580.119.02.ebuild
new file mode 100644
index 000000000000..69ed6671b3e1
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-580.119.02.ebuild
@@ -0,0 +1,586 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MODULES_OPTIONAL_IUSE=+modules
+inherit desktop dot-a eapi9-pipestatus flag-o-matic linux-mod-r1
+inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info
+
+MODULES_KERNEL_MAX=6.18
+NV_URI="https://download.nvidia.com/XFree86/";
+
+DESCRIPTION="NVIDIA Accelerated Graphics Driver"
+HOMEPAGE="https://www.nvidia.com/";
+SRC_URI="
+       amd64? ( ${NV_URI}Linux-x86_64/${PV}/NVIDIA-Linux-x86_64-${PV}.run )
+       arm64? ( ${NV_URI}Linux-aarch64/${PV}/NVIDIA-Linux-aarch64-${PV}.run )
+       $(printf "${NV_URI}%s/%s-${PV}.tar.bz2 " \
+               nvidia-{installer,modprobe,persistenced,settings,xconfig}{,})
+       
${NV_URI}NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${PV}.tar.xz
+"
+# nvidia-installer is unused but here for GPL-2's "distribute sources"
+S=${WORKDIR}
+
+LICENSE="
+       NVIDIA-2025 Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2 MIT ZLIB
+       curl openssl public-domain
+"
+SLOT="0/${PV%%.*}"
+KEYWORDS="-* ~amd64 ~arm64"
+IUSE="+X abi_x86_32 abi_x86_64 kernel-open persistenced powerd +static-libs 
+tools wayland"
+REQUIRED_USE="kernel-open? ( modules )"
+
+COMMON_DEPEND="
+       acct-group/video
+       X? ( x11-libs/libpciaccess )
+       persistenced? (
+               acct-user/nvpd
+               net-libs/libtirpc:=
+       )
+       tools? (
+               >=app-accessibility/at-spi2-core-2.46:2
+               dev-libs/glib:2
+               dev-libs/jansson:=
+               media-libs/harfbuzz:=
+               x11-libs/cairo
+               x11-libs/gdk-pixbuf:2
+               x11-libs/gtk+:3[X]
+               x11-libs/libX11
+               x11-libs/libXext
+               x11-libs/libXxf86vm
+               x11-libs/pango
+       )
+"
+RDEPEND="
+       ${COMMON_DEPEND}
+       dev-libs/openssl:0/3
+       sys-libs/glibc
+       X? (
+               media-libs/libglvnd[X,abi_x86_32(-)?]
+               x11-libs/libX11[abi_x86_32(-)?]
+               x11-libs/libXext[abi_x86_32(-)?]
+       )
+       powerd? ( sys-apps/dbus[abi_x86_32(-)?] )
+       wayland? (
+               >=gui-libs/egl-gbm-1.1.1-r2[abi_x86_32(-)?]
+               || (
+                       >=gui-libs/egl-wayland-1.1.13.1[abi_x86_32(-)?]
+                       gui-libs/egl-wayland2[abi_x86_32(-)?]
+               )
+               X? ( gui-libs/egl-x11[abi_x86_32(-)?] )
+       )
+"
+DEPEND="
+       ${COMMON_DEPEND}
+       static-libs? (
+               x11-base/xorg-proto
+               x11-libs/libX11
+               x11-libs/libXext
+       )
+       tools? (
+               dev-util/vulkan-headers
+               media-libs/libglvnd
+               sys-apps/dbus
+               x11-base/xorg-proto
+               x11-libs/libXrandr
+               x11-libs/libXv
+               x11-libs/libvdpau
+       )
+"
+BDEPEND="
+       app-alternatives/awk
+       sys-devel/m4
+       virtual/pkgconfig
+"
+
+# there is some non-prebuilt exceptions but rather not maintain a list
+QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*"
+
+PATCHES=(
+       "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch
+       "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch
+)
+
+pkg_setup() {
+       use modules && [[ ${MERGE_TYPE} != binary ]] || return
+
+       # do early before linux-mod-r1 so can use chkconfig to setup 
CONFIG_CHECK
+       get_version
+       require_configured_kernel
+
+       local CONFIG_CHECK="
+               PROC_FS
+               ~DRM_KMS_HELPER
+               ~DRM_FBDEV_EMULATION
+               ~SYSVIPC
+               ~!LOCKDEP
+               ~!PREEMPT_RT
+               ~!SLUB_DEBUG_ON
+               !DEBUG_MUTEXES
+               $(usev powerd '~CPU_FREQ')
+       "
+
+       kernel_is -ge 6 11 && linux_chkconfig_present DRM_FBDEV_EMULATION &&
+               CONFIG_CHECK+=" DRM_TTM_HELPER"
+
+       use amd64 && kernel_is -ge 5 8 && CONFIG_CHECK+=" X86_PAT" #817764
+
+       use kernel-open && CONFIG_CHECK+=" MMU_NOTIFIER" #843827
+
+       local drm_helper_msg="Cannot be directly selected in the kernel's 
config menus, and may need
+       selection of a DRM device even if unused, e.g. CONFIG_DRM_QXL=m or
+       DRM_AMDGPU=m (among others, consult the kernel config's help), can
+       also use DRM_NOUVEAU=m as long as built as module *not* built-in."
+       local ERROR_DRM_KMS_HELPER="CONFIG_DRM_KMS_HELPER: is not set but 
needed for Xorg auto-detection
+       of drivers (no custom config), and for wayland / nvidia-drm.modeset=1.
+       ${drm_helper_msg}"
+       local ERROR_DRM_TTM_HELPER="CONFIG_DRM_TTM_HELPER: is not set but is 
needed to compile when using
+       kernel version 6.11.x or newer while DRM_FBDEV_EMULATION is set.
+       ${drm_helper_msg}"
+       local ERROR_DRM_FBDEV_EMULATION="CONFIG_DRM_FBDEV_EMULATION: is not set 
but is needed for
+       nvidia-drm.fbdev=1 support, currently off-by-default and it could
+       be ignored, but note that is due to change in the future."
+       local ERROR_MMU_NOTIFIER="CONFIG_MMU_NOTIFIER: is not set but needed to 
build with USE=kernel-open.
+       Cannot be directly selected in the kernel's menuconfig, and may need
+       selection of another option that requires it such as CONFIG_KVM."
+       local ERROR_PREEMPT_RT="CONFIG_PREEMPT_RT: is set but is unsupported by 
NVIDIA upstream and
+       will fail to build unless the env var IGNORE_PREEMPT_RT_PRESENCE=1 is
+       set. Please do not report issues if run into e.g. kernel panics while
+       ignoring this."
+
+       linux-mod-r1_pkg_setup
+}
+
+src_prepare() {
+       # make patches usable across versions
+       rm nvidia-modprobe && mv nvidia-modprobe{-${PV},} || die
+       rm nvidia-persistenced && mv nvidia-persistenced{-${PV},} || die
+       rm nvidia-settings && mv nvidia-settings{-${PV},} || die
+       rm nvidia-xconfig && mv nvidia-xconfig{-${PV},} || die
+       mv NVIDIA-kernel-module-source-${PV} kernel-module-source || die
+
+       default
+
+       # prevent detection of incomplete kernel DRM support (bug #603818)
+       sed 's/defined(CONFIG_DRM/defined(CONFIG_DRM_KMS_HELPER/g' \
+               -i kernel{,-module-source/kernel-open}/conftest.sh || die
+
+       sed 's/__USER__/nvpd/' \
+               
nvidia-persistenced/init/systemd/nvidia-persistenced.service.template \
+               > "${T}"/nvidia-persistenced.service || die
+
+       # use alternative vulkan icd option if USE=-X (bug #909181)
+       use X || sed -i 's/"libGLX/"libEGL/' nvidia_{layers,icd}.json || die
+
+       # enable nvidia-drm.modeset=1 by default with USE=wayland
+       cp "${FILESDIR}"/nvidia-570.conf "${T}"/nvidia.conf || die
+       use !wayland || sed -i '/^#.*modeset=1$/s/^#//' "${T}"/nvidia.conf || 
die
+
+       # makefile attempts to install wayland library even if not built
+       use wayland || sed -i 's/ WAYLAND_LIB_install$//' \
+               nvidia-settings/src/Makefile || die
+}
+
+src_compile() {
+       tc-export AR CC CXX LD OBJCOPY OBJDUMP PKG_CONFIG
+
+       # extra flags for the libXNVCtrl.a static library
+       local xnvflags=-fPIC #840389
+       tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)"
+
+       NV_ARGS=(
+               PREFIX="${EPREFIX}"/usr
+               HOST_CC="$(tc-getBUILD_CC)"
+               HOST_LD="$(tc-getBUILD_LD)"
+               BUILD_GTK2LIB=
+               NV_USE_BUNDLED_LIBJANSSON=0
+               NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out
+               WAYLAND_AVAILABLE=$(usex wayland 1 0)
+               XNVCTRL_CFLAGS="${xnvflags}"
+       )
+
+       if use modules; then
+               local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} 
o_ldflags=${LDFLAGS}
+
+               local modlistargs=video:kernel
+               if use kernel-open; then
+                       
modlistargs+=-module-source:kernel-module-source/kernel-open
+
+                       # environment flags are normally unused for modules, 
but nvidia
+                       # uses it for building the "blob" and it is a bit 
fragile
+                       filter-flags -fno-plt #912949
+                       filter-lto
+                       CC=${KERNEL_CC} CXX=${KERNEL_CXX} 
strip-unsupported-flags
+
+                       LDFLAGS=$(raw-ldflags)
+               fi
+
+               local modlist=( 
nvidia{,-drm,-modeset,-peermem,-uvm}=${modlistargs} )
+               local modargs=(
+                       IGNORE_CC_MISMATCH=yes NV_VERBOSE=1
+                       SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}"
+
+                       # kernel takes "x86" and "x86_64" as meaning the same, 
but nvidia
+                       # makes the distinction (since 550.135) and is not 
happy with "x86"
+                       # TODO?: it should be ok/better for tc-arch-kernel to 
do x86_64
+                       $(usev amd64 ARCH=x86_64)
+               )
+
+               # temporary workaround for bug #914468
+               addpredict "${KV_OUT_DIR}"
+
+               linux-mod-r1_src_compile
+               CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
+       fi
+
+       emake "${NV_ARGS[@]}" -C nvidia-modprobe
+       use persistenced && emake "${NV_ARGS[@]}" -C nvidia-persistenced
+       use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig
+
+       if use tools; then
+               # avoid noisy *very* noisy logs with deprecation warnings
+               CFLAGS="-Wno-deprecated-declarations ${CFLAGS}" \
+                       emake "${NV_ARGS[@]}" -C nvidia-settings
+       elif use static-libs; then
+               # pretend GTK+3 is available, not actually used (bug #880879)
+               emake "${NV_ARGS[@]}" BUILD_GTK3LIB=1 \
+                       -C nvidia-settings/src out/libXNVCtrl.a
+       fi
+}
+
+src_install() {
+       local libdir=$(get_libdir) libdir32=$(ABI=x86 get_libdir)
+
+       NV_ARGS+=( DESTDIR="${D}" LIBDIR="${ED}"/usr/${libdir} )
+
+       local -A paths=(
+               [APPLICATION_PROFILE]=/usr/share/nvidia
+               [CUDA_ICD]=/etc/OpenCL/vendors
+               
[EGL_EXTERNAL_PLATFORM_JSON]=/usr/share/egl/egl_external_platform.d
+               [FIRMWARE]=/lib/firmware/nvidia/${PV}
+               [GBM_BACKEND_LIB_SYMLINK]=/usr/${libdir}/gbm
+               [GLVND_EGL_ICD_JSON]=/usr/share/glvnd/egl_vendor.d
+               [OPENGL_DATA]=/usr/share/nvidia
+               [VULKANSC_ICD_JSON]=/usr/share/vulkansc
+               [VULKAN_ICD_JSON]=/usr/share/vulkan
+               [WINE_LIB]=/usr/${libdir}/nvidia/wine
+               [XORG_OUTPUTCLASS_CONFIG]=/usr/share/X11/xorg.conf.d
+
+               [GLX_MODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules/extensions
+               [GLX_MODULE_SYMLINK]=/usr/${libdir}/xorg/modules
+               [XMODULE_SHARED_LIB]=/usr/${libdir}/xorg/modules
+       )
+
+       local skip_files=(
+               $(usev !X "libGLX_nvidia libglxserver_nvidia")
+               libGLX_indirect # non-glvnd unused fallback
+               libnvidia-{gtk,wayland-client} nvidia-{settings,xconfig} # from 
source
+               libnvidia-egl-gbm 15_nvidia_gbm # gui-libs/egl-gbm
+               libnvidia-egl-wayland 10_nvidia_wayland # gui-libs/egl-wayland
+               libnvidia-egl-xcb 20_nvidia_xcb.json # gui-libs/egl-x11
+               libnvidia-egl-xlib 20_nvidia_xlib.json # gui-libs/egl-x11
+               libnvidia-pkcs11.so # using the openssl3 version instead
+       )
+       local skip_modules=(
+               $(usev !X "nvfbc vdpau xdriver")
+               $(usev !modules gsp)
+               $(usev !powerd nvtopps)
+               installer nvpd # handled separately / built from source
+       )
+       local skip_types=(
+               GLVND_LIB GLVND_SYMLINK EGL_CLIENT.\* GLX_CLIENT.\* # 
media-libs/libglvnd
+               OPENCL_WRAPPER.\* # virtual/opencl
+               DOCUMENTATION DOT_DESKTOP .\*_SRC DKMS_CONF SYSTEMD_UNIT # 
handled separately / unused
+       )
+
+       local DOCS=(
+               README.txt NVIDIA_Changelog supported-gpus/supported-gpus.json
+               nvidia-settings/doc/{FRAMELOCK,NV-CONTROL-API}.txt
+       )
+       local HTML_DOCS=( html/. )
+       einstalldocs
+
+       local DISABLE_AUTOFORMATTING=yes
+       local DOC_CONTENTS="\
+Trusted users should be in the 'video' group to use NVIDIA devices.
+You can add yourself by using: gpasswd -a my-user video\
+$(usev modules "
+
+Like all out-of-tree kernel modules, it is necessary to rebuild
+${PN} after upgrading or rebuilding the Linux kernel
+by for example running \`emerge @module-rebuild\`. Alternatively,
+if using a distribution kernel (sys-kernel/gentoo-kernel{,-bin}),
+this can be automated by setting USE=dist-kernel globally.
+
+Loaded kernel modules also must not mismatch with the installed
+${PN} version (excluding -r revision), meaning should
+ensure \`eselect kernel list\` points to the kernel that will be
+booted before building and preferably reboot after upgrading
+${PN} (the ebuild will emit a warning if mismatching).
+
+See '${EPREFIX}/etc/modprobe.d/nvidia.conf' for modules options.")\
+$(use amd64 && usev !abi_x86_32 "
+
+Note that without USE=abi_x86_32 on ${PN}, 32bit applications
+(typically using wine / steam) will not be able to use GPU acceleration.")
+
+Be warned that USE=kernel-open may need to be either enabled or
+disabled for certain cards to function:
+- GTX 50xx (blackwell) and higher require it to be enabled
+- GTX 1650 and higher (pre-blackwell) should work either way
+- Older cards require it to be disabled
+
+For additional information or for troubleshooting issues, please see
+https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers and NVIDIA's own
+documentation that is installed alongside this README."
+       readme.gentoo_create_doc
+
+       if use modules; then
+               linux-mod-r1_src_install
+
+               insinto /etc/modprobe.d
+               doins "${T}"/nvidia.conf
+
+               # used for gpu verification with binpkgs (not kept, see 
pkg_preinst)
+               insinto /usr/share/nvidia
+               doins supported-gpus/supported-gpus.json
+       fi
+
+       emake "${NV_ARGS[@]}" -C nvidia-modprobe install
+       fowners :video /usr/bin/nvidia-modprobe #505092
+       fperms 4710 /usr/bin/nvidia-modprobe
+
+       if use persistenced; then
+               emake "${NV_ARGS[@]}" -C nvidia-persistenced install
+               newconfd "${FILESDIR}"/nvidia-persistenced.confd 
nvidia-persistenced
+               newinitd "${FILESDIR}"/nvidia-persistenced.initd 
nvidia-persistenced
+               systemd_dounit "${T}"/nvidia-persistenced.service
+       fi
+
+       if use tools; then
+               emake "${NV_ARGS[@]}" -C nvidia-settings install
+
+               doicon nvidia-settings/doc/nvidia-settings.png
+               domenu nvidia-settings/doc/nvidia-settings.desktop
+
+               exeinto /etc/X11/xinit/xinitrc.d
+               newexe "${FILESDIR}"/95-nvidia-settings-r1 95-nvidia-settings
+       fi
+
+       if use static-libs; then
+               dolib.a nvidia-settings/src/out/libXNVCtrl.a
+               strip-lto-bytecode
+
+               insinto /usr/include/NVCtrl
+               doins nvidia-settings/src/libXNVCtrl/NVCtrl{Lib,}.h
+       fi
+
+       use X && emake "${NV_ARGS[@]}" -C nvidia-xconfig install
+
+       # mimic nvidia-installer by reading .manifest to install files
+       # 0:file 1:perms 2:type 3+:subtype/arguments -:module
+       local m into
+       while IFS=' ' read -ra m; do
+               ! [[ ${#m[@]} -ge 2 && ${m[-1]} =~ MODULE: ]] ||
+                       [[ " ${m[0]##*/}" =~ ^(\ ${skip_files[*]/%/.*|\\} )$ ]] 
||
+                       [[ " ${m[2]}" =~ ^(\ ${skip_types[*]/%/|\\} )$ ]] ||
+                       has ${m[-1]#MODULE:} "${skip_modules[@]}" && continue
+
+               case ${m[2]} in
+                       MANPAGE)
+                               gzip -dc ${m[0]} | newman - ${m[0]%.gz}
+                               pipestatus || die
+                               continue
+                       ;;
+                       GBM_BACKEND_LIB_SYMLINK) m[4]=../${m[4]};; # missing ../
+                       VDPAU_SYMLINK) m[4]=vdpau/; m[5]=${m[5]#vdpau/};; # .so 
to vdpau/
+               esac
+
+               if [[ -v 'paths[${m[2]}]' ]]; then
+                       into=${paths[${m[2]}]}
+               elif [[ ${m[2]} == EXPLICIT_PATH ]]; then
+                       into=${m[3]}
+               elif [[ ${m[2]} == *_BINARY ]]; then
+                       into=/usr/bin
+               elif [[ ${m[3]} == COMPAT32 ]]; then
+                       use abi_x86_32 || continue
+                       into=/usr/${libdir32}
+               elif [[ ${m[2]} == *_@(LIB|SYMLINK) ]]; then
+                       into=/usr/${libdir}
+               else
+                       die "No known installation path for ${m[0]}"
+               fi
+               [[ ${m[3]: -2} == ?/ ]] && into+=/${m[3]%/}
+               [[ ${m[4]: -2} == ?/ ]] && into+=/${m[4]%/}
+
+               if [[ ${m[2]} =~ _SYMLINK$ ]]; then
+                       [[ ${m[4]: -1} == / ]] && m[4]=${m[5]}
+                       dosym ${m[4]} ${into}/${m[0]}
+                       continue
+               fi
+               # avoid portage warning due to missing soname links in manifest
+               [[ ${m[0]} =~ ^libnvidia-ngx.so ]] &&
+                       dosym ${m[0]} ${into}/${m[0]%.so*}.so.1
+
+               printf -v m[1] %o $((m[1] | 0200)) # 444->644
+               insopts -m${m[1]}
+               insinto ${into}
+               doins ${m[0]}
+       done < .manifest || die
+       insopts -m0644 # reset
+
+       # MODULE:installer non-skipped extras
+       : "$(systemd_get_sleepdir)"
+       exeinto "${_#"${EPREFIX}"}"
+       doexe systemd/system-sleep/nvidia
+       dobin systemd/nvidia-sleep.sh
+       systemd_dounit 
systemd/system/nvidia-{hibernate,resume,suspend,suspend-then-hibernate}.service
+
+       dobin nvidia-bug-report.sh
+
+       insinto /usr/share/nvidia/files.d
+       doins sandboxutils-filelist.json
+
+       # MODULE:powerd extras
+       if use powerd; then
+               newinitd "${FILESDIR}"/nvidia-powerd.initd nvidia-powerd #923117
+               systemd_dounit systemd/system/nvidia-powerd.service
+
+               insinto /usr/share/dbus-1/system.d
+               doins nvidia-dbus.conf
+       fi
+
+       # enabling is needed for sleep to work properly and little reason not 
to do
+       # it unconditionally for a better user experience
+       : "$(systemd_get_systemunitdir)"
+       local unitdir=${_#"${EPREFIX}"}
+       # not using relative symlinks to match systemd's own links
+       dosym 
{"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-hibernate.service
+       dosym 
{"${unitdir}",/etc/systemd/system/systemd-hibernate.service.wants}/nvidia-resume.service
+       dosym 
{"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-suspend.service
+       dosym 
{"${unitdir}",/etc/systemd/system/systemd-suspend.service.wants}/nvidia-resume.service
+       dosym 
{"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-suspend-then-hibernate.service
+       dosym 
{"${unitdir}",/etc/systemd/system/systemd-suspend-then-hibernate.service.wants}/nvidia-resume.service
+       # also add a custom elogind hook to do the equivalent of the above
+       exeinto /usr/lib/elogind/system-sleep
+       newexe "${FILESDIR}"/system-sleep.elogind nvidia
+       # <elogind-255.5 used a different path (bug #939216), keep a compat 
symlink
+       # TODO: cleanup after 255.5 been stable for a few months
+       dosym {/usr/lib,/"${libdir}"}/elogind/system-sleep/nvidia
+
+       # needed with >=systemd-256 or may fail to resume with some setups
+       # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072722
+       insinto "${unitdir}"/systemd-homed.service.d
+       newins - 10-nvidia.conf <<-EOF
+               [Service]
+               Environment=SYSTEMD_HOME_LOCK_FREEZE_SESSION=false
+       EOF
+       insinto "${unitdir}"/systemd-suspend.service.d
+       newins - 10-nvidia.conf <<-EOF
+               [Service]
+               Environment=SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=false
+       EOF
+       dosym -r 
"${unitdir}"/systemd-{suspend,hibernate}.service.d/10-nvidia.conf
+       dosym -r 
"${unitdir}"/systemd-{suspend,hybrid-sleep}.service.d/10-nvidia.conf
+       dosym -r 
"${unitdir}"/systemd-{suspend,suspend-then-hibernate}.service.d/10-nvidia.conf
+
+       # symlink non-versioned so nvidia-settings can use it even if 
misdetected
+       dosym nvidia-application-profiles-${PV}-key-documentation \
+               
${paths[APPLICATION_PROFILE]}/nvidia-application-profiles-key-documentation
+
+       # don't attempt to strip firmware files (silences errors)
+       dostrip -x ${paths[FIRMWARE]}
+
+       # sandbox issues with /dev/nvidiactl and others (bug #904292,#921578)
+       # are widespread and sometime affect revdeps of packages built with
+       # USE=opencl/cuda making it hard to manage in ebuilds (minimal set,
+       # ebuilds should handle manually if need others or addwrite)
+       insinto /etc/sandbox.d
+       newins - 20nvidia 
<<<'SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-caps:/dev/char"'
+
+       # dracut does not use /etc/modprobe.d if hostonly=no, but want to make 
sure
+       # our settings are used for bug 932781#c8 and nouveau blacklist if 
either
+       # modules are included (however, just best-effort without initramfs 
regen)
+       if use modules; then
+               echo "install_items+=\" ${EPREFIX}/etc/modprobe.d/nvidia.conf 
\"" >> \
+                       "${ED}"/usr/lib/dracut/dracut.conf.d/10-${PN}.conf || 
die
+       fi
+}
+
+pkg_preinst() {
+       has_version "${CATEGORY}/${PN}[kernel-open]" && NV_HAD_KERNEL_OPEN=
+       has_version "${CATEGORY}/${PN}[wayland]" && NV_HAD_WAYLAND=
+
+       use modules || return
+
+       # set video group id based on live system (bug #491414)
+       local g=$(egetent group video | cut -d: -f3)
+       [[ ${g} =~ ^[0-9]+$ ]] || die "Failed to determine video group id (got 
'${g}')"
+       sed -i "s/@VIDEOGID@/${g}/" "${ED}"/etc/modprobe.d/nvidia.conf || die
+
+       # try to find driver mismatches using temporary supported-gpus.json
+       for g in $(grep -l 0x10de /sys/bus/pci/devices/*/vendor 2>/dev/null); do
+               g=$(grep -io 
"\"devid\":\"$(<${g%vendor}device)\"[^}]*branch\":\"[0-9]*" \
+                       "${ED}"/usr/share/nvidia/supported-gpus.json 
2>/dev/null)
+               if [[ ${g} ]]; then
+                       g=$((${g##*\"}+1))
+                       if ver_test -ge ${g}; then
+                               NV_LEGACY_MASK=">=${CATEGORY}/${PN}-${g}"
+                               break
+                       fi
+               fi
+       done
+       rm "${ED}"/usr/share/nvidia/supported-gpus.json || die
+}
+
+pkg_postinst() {
+       linux-mod-r1_pkg_postinst
+
+       readme.gentoo_print_elog
+
+       if [[ -r /proc/driver/nvidia/version &&
+               $(</proc/driver/nvidia/version) != *"  ${PV}  "* ]]; then
+               ewarn "\nCurrently loaded NVIDIA modules do not match the newly 
installed"
+               ewarn "libraries and may prevent launching GPU-accelerated 
applications."
+               if use modules; then
+                       ewarn "Easiest way to fix this is normally to reboot. 
If still run into issues"
+                       ewarn "(e.g. API mismatch messages in the \`dmesg\` 
output), please verify"
+                       ewarn "that the running kernel is ${KV_FULL} and that 
(if used) the"
+                       ewarn "initramfs does not include NVIDIA modules (or at 
least, not old ones)."
+               fi
+       fi
+
+       if [[ $(</proc/cmdline) == *slub_debug=[!-]* ]]; then
+               ewarn "\nDetected that the current kernel command line is using 
'slub_debug=',"
+               ewarn "this may lead to system instability/freezes with this 
version of"
+               ewarn "${PN}. Bug: https://bugs.gentoo.org/796329";
+       fi
+
+       if [[ -v NV_LEGACY_MASK ]]; then
+               ewarn "\n***WARNING***"
+               ewarn "\nYou are installing a version of ${PN} known not to 
work"
+               ewarn "with a GPU of the current system. If unwanted, add the 
mask:"
+               if [[ -d ${EROOT}/etc/portage/package.mask ]]; then
+                       ewarn "  echo '${NV_LEGACY_MASK}' > 
${EROOT}/etc/portage/package.mask/${PN}"
+               else
+                       ewarn "  echo '${NV_LEGACY_MASK}' >> 
${EROOT}/etc/portage/package.mask"
+               fi
+               ewarn "...then downgrade to a legacy[1] branch if possible (not 
all old versions"
+               ewarn "are available or fully functional, may need to consider 
nouveau[2])."
+               ewarn "[1] https://www.nvidia.com/object/IO_32667.html";
+               ewarn "[2] https://wiki.gentoo.org/wiki/Nouveau";
+       fi
+
+       if use kernel-open && [[ ! -v NV_HAD_KERNEL_OPEN ]]; then
+               ewarn "\nOpen source variant of ${PN} was selected, note that 
it requires"
+               ewarn "Turing/Ampere+ GPUs (aka GTX 1650+). Try disabling if 
run into issues."
+               ewarn "Also see: 
${EROOT}/usr/share/doc/${PF}/html/kernel_open.html"
+       fi
+
+       if use wayland && use modules && [[ ! -v NV_HAD_WAYLAND ]]; then
+               elog "\nNote that with USE=wayland, nvidia-drm.modeset=1 will 
be enabled"
+               elog "in '${EROOT}/etc/modprobe.d/nvidia.conf'. *If* experience 
issues,"
+               elog "either disable wayland or edit nvidia.conf."
+       fi
+}


Reply via email to