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: Fri, 29 Jan 2016 06:10:55
Message-Id: 1454047830.7f74bb95f1728ccca75f4264ae6ec1d9831a0273.jer@gentoo
1 commit: 7f74bb95f1728ccca75f4264ae6ec1d9831a0273
2 Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jan 29 06:10:30 2016 +0000
4 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
5 CommitDate: Fri Jan 29 06:10:30 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7f74bb95
7
8 x11-drivers/nvidia-drivers: Version bump (bug #573224 by cfrye).
9
10 Package-Manager: portage-2.2.27
11
12 x11-drivers/nvidia-drivers/Manifest | 4 +
13 .../nvidia-drivers/nvidia-drivers-352.79.ebuild | 490 +++++++++++++++++++++
14 2 files changed, 494 insertions(+)
15
16 diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest
17 index d6c4b4e..33f4f76 100644
18 --- a/x11-drivers/nvidia-drivers/Manifest
19 +++ b/x11-drivers/nvidia-drivers/Manifest
20 @@ -4,6 +4,7 @@ DIST NVIDIA-FreeBSD-x86-340.93.tar.gz 59385673 SHA256 094dc6df60b8e57cf9b94d982c
21 DIST NVIDIA-FreeBSD-x86-340.96.tar.gz 59678354 SHA256 dda243ed9b36e29162b1c97b987b9ca82ef7fcff4635ac78443fdb06739ec22e SHA512 dacd14a41c16bff9d26a00084c96af3fb9472fdb00832ca36f4737fb8c741e1eb89f1d6d015c3dee051482aef23631fecbad645e17014e53ee51644d4aa4b51f WHIRLPOOL d55d10682a086b6dcfb72e67f028731afd1f4a5ee2d96d6288f1a0c8eead51927b7454fff793d0b4c57d273fd5b00a9207004b14b4e6f66ab8f106ab5c68518c
22 DIST NVIDIA-FreeBSD-x86-346.96.tar.gz 58010757 SHA256 a27d7b79c053702bf6524b2c4725321fa557be18a585735e0b8122d884348c3e SHA512 f05ff7f98ae56ef992c21440e94dc12537f91353c9ba6fbe74b5928744823cb0cce38e7aa2da6c88569dda52f9ae0f6674c29255db155a2fada9b78f024dda8d WHIRLPOOL d21cfd27971847dac0118429b58b34be24f19fefc9ee05f70454e7c350d4a8678e2d01f7db72e05bd1026c45fa9373783b9817efcf76f70b70f6a5ecd8a5bc7c
23 DIST NVIDIA-FreeBSD-x86-352.63.tar.gz 55368686 SHA256 1d290a9d583b6e99addb4888c2b1c568bbcec712fd98c034be2448a0d1228313 SHA512 b2cb33f6e3a2ef69dd7759217f8d2eac4197940bda5007a3d755e8769df70a197485a1df6186bb5eb5e8c2a70117a2bdcbe10b9f0e02f6eb2ca30180c4ee49bb WHIRLPOOL 695e2daff45a532e3217612d28dc102b88554c775cf67af39f413871427bfbf895901ad582e78f7581f32a571b1425d3de6e74696282f8be9eec81b556357058
24 +DIST NVIDIA-FreeBSD-x86-352.79.tar.gz 55381403 SHA256 baf99225383aa1b114c14504d00a400b4e2c72b521941210287d5a2f848a6189 SHA512 14dd0f52ae9fbc88b441392e32df6610121baeb5b08337d7a341d110f2735591c91a789c7825ca95fb542693f6971053a00b3dc4d7d224362d7b12a07cb315d5 WHIRLPOOL 7d5ac1efa1afb5a4cf5ef714b27fbc02190775bd11ae281df5552b836a22bc5377572a310c683d54910cbcbf5a4d57702309e5b3e61c295fb767568f8d8746bf
25 DIST NVIDIA-FreeBSD-x86-355.11.tar.gz 56832647 SHA256 3d4d5d8fcf558a8f5f1a88846161b1a89bd7fc66c0268b40613c7e3457f5ce7b SHA512 744d9b8c48b82bac0bfeea5e8b2b2bbaa0e6a183cbd1f5d4f782fa7b21a6f6c5b252e556a8b2161c3b5d43938ef8fabf6cb36f995ee823fbf792f3c9a92b87e1 WHIRLPOOL 43bceb8e8d3b00789cf2c8163a055b1d2405ef93e471fda4c4e2146093289891557f4ec8debfe6bca89ad6ed6dc2e389f1d3060759a71e8949df343bc31b85b9
26 DIST NVIDIA-FreeBSD-x86-358.16.tar.gz 58548165 SHA256 2257d9a2b3661d024be0864e2fe192de34fdf8e206073930541e0fa6f232016e SHA512 e1d84c2cc3473253b31aa3df8e2ad7418da5789e31d6f71f07e6bf5e712ffcb6417cf8931c16e5e5a19d0f4cdaebf229e4edbee53d5613bea1ff6b4e4c6657cc WHIRLPOOL 15b760556d978c9e82b063c1135089e1b1222460285ab2c40d450cf26820e701ff5d7ebdd04815f80a68a07eea0e622fa621b8369883f4168af5b45d4edde62d
27 DIST NVIDIA-FreeBSD-x86-361.18.tar.gz 64866939 SHA256 93cdf053e2e0cf9dcd0e888c41ea95cedd9c3521e0ab14d9e4826ba1245aef35 SHA512 aa0e23253330496e076a23335743ab16f0996406c7e9b0991d3f0cbe834be6a66b6a1d69fc5f92d7c29bbc748ec1d4ee4d161f130daea3fa85cb15c1f9411a86 WHIRLPOOL c0387f0780b0717503c9ab15448229781eb9ef4f57ee0b4df3b42eb3f48c53ebf1a7b1d14102b959fa6a5db05702b0f65d359f9b42734fcaa9fde52d7647081c
28 @@ -13,6 +14,7 @@ DIST NVIDIA-FreeBSD-x86_64-340.93.tar.gz 60215584 SHA256 07208f6a832c2da8748b1c4
29 DIST NVIDIA-FreeBSD-x86_64-340.96.tar.gz 60536275 SHA256 b67962a4433dd1fa86cde038bb244a547f5ed6c242febc348d618886b7715d09 SHA512 1e33f062d4414011406466c1c91c70e8280ee27542bfe2e2037be82cb1186ece661be5c53ac7160f6d912ee0e02411145c9a6d06861d89d5c5abdd493032cfa5 WHIRLPOOL 63e0d843f5c3de210c9f880efada84dc08456b64e0e746a037272ec2988ce00b09f9033cedca45279aa79b80e2edef1b81dc261415e6fdf0701c62409b50e7f5
30 DIST NVIDIA-FreeBSD-x86_64-346.96.tar.gz 58774970 SHA256 89daaff29afe92d825ec8c00149a703b4eb234e4f16bbfb98673f077521bcff9 SHA512 99fd84f1b2177b4af2fd83088c4f8a9a6259f059c002a771ff9c3993953787dd96f83322e4ce611234674a00792a83fa439af915d6ad6886af6de2d88de94edb WHIRLPOOL 5bca7c540c713b8e070b7d8412bcc2547335b9379429dc3a04ab50eae22c03eaa922486a900b2ab3cf147e0c4f2e8d3b60e81aa329b6b2956c28d2b32900082c
31 DIST NVIDIA-FreeBSD-x86_64-352.63.tar.gz 57026971 SHA256 ac2e3926df50f6c0a020b359b29dee0f81a9474d7d68944edf9026c73f672cb6 SHA512 7ef75124b4cdd2de67f3001a74d0fb8f13f4c767c806615cb993749a54e7932d1a9f45b162bcde5dd1d617764950290cd240aa71cd3b0bf11384606986449d91 WHIRLPOOL c9a69476b8d73fa242b2f667b2eb7e40d9ec88f2a8dc65cdd6259573f53f7573e28f12845837be9b50210808536e5591b5853963348b0ccb896fc70a53ed5258
32 +DIST NVIDIA-FreeBSD-x86_64-352.79.tar.gz 57044396 SHA256 d2a406c4a7502096964b6fd19e99a046a0106a60ffb9e45865156c62718bf49a SHA512 7fe8564744e522b0f8ddb2fb3bc44235e5189d87acff1f894f271404315bbd17ea41f469c6cdbaf51a27f85e8103ed3cec574ed29323deeb56869746691e977c WHIRLPOOL 677b670218510228d9a03dc0f259e36a5896124ead204fff2d294135c1b7d79dd10c0b2e144e79a68d27b282e12097adf76f8694ecb5daa53f4b689935130c6f
33 DIST NVIDIA-FreeBSD-x86_64-355.11.tar.gz 54031364 SHA256 3637a879905bb541bf02f9bcdfe37c242a52ec6071671a0ba33581efdce1504e SHA512 84add7d90c7f45d19d736ee70c1c4a6434be1c512bafa29cbbf9221e99a31fc383971696dce99da5a77a171eb3537c98cfec7005ff061411ac9c310fa219c906 WHIRLPOOL d8ade5d63c3ef78fa92f9dc07934eed8fdd4ead1e40f1820ad95feb166264a95a800879e1fc6374bf2deef419b0838b4864796d9f81a81110d06ccd9b65c459d
34 DIST NVIDIA-FreeBSD-x86_64-358.16.tar.gz 55338634 SHA256 29b62c266bb96604e82c5a514aebea86b65057fa59ba37f91bd01cd870a0725c SHA512 2e5aef35d5c4aa605ebe18a23ab132fe373c9b87a915ada005ecd28d75a476d6ac9d978394f8c63123f98a408dcc97d624b5deda5f242faea7304fc8ddf76d0d WHIRLPOOL bc8ee78214209fdeb0c6fc196cbc3acc244c777df8a83b5a5489959a73b744ecc125d7a9be6ca2f08d43b6a080898b1090eca45e627c96210dcfeb6207512c8e
35 DIST NVIDIA-FreeBSD-x86_64-361.18.tar.gz 61651804 SHA256 83fe66f611ff2ef25fa9593ffc7fa49ef1c96597a263138918441acef3d4d066 SHA512 fe27a9eb3c7b3488fc2ad7b13a4477a4d5eb1039b6d13c584bd558f9a0de1f6b8af7db425aa78d1700d113486246f136b65e72b8f22731ac0a76537ff3e51cf1 WHIRLPOOL 08bff8b3dd4961c77dcd10d02e38a5cd013a77e9a791520453db7151d7f4facee69359910dac8abdb8016365ae8f423224995cb2f95c84282a8f1f35f7e4ca81
36 @@ -22,6 +24,7 @@ DIST NVIDIA-Linux-x86-340.93.run 38703394 SHA256 4a81c158302c595e1e72b5a1812eb3c
37 DIST NVIDIA-Linux-x86-340.96.run 38720587 SHA256 c40e2778cd1ab036a76e1896fe2f77c4aa7baa215dbbdb11a2f4c5f05e1a478e SHA512 c6306a101b7dc6298eb02290fb7792f624b8b16b1449b5d58148617017e8fdb87f1838f99b225103bf6a81c60a3246de9a27eab89608f099273a1c3d1c0003da WHIRLPOOL d772a20a9c7badf695ca3572db3c0b7e5507926297e6f950965294ac30ae2d8f206ba5c4c229087fd7cba88427eb0e41fb3dd1a28c4f2c8c23fa70b27002180c
38 DIST NVIDIA-Linux-x86-346.96.run 40751579 SHA256 8a299ddce7d34389206599a306a41d30754bb9bddda1be1a7fd85012f9aedf39 SHA512 9d413dd0559a4035a842527371cb1a27030c9eaeff510e529d2a205ea3eddc6e5666989418a6172aead4f5b2a924cf4cbf05269cb435dc2516af37eb35ba5d4d WHIRLPOOL 055127105804f2a6dc5067b20e771b4c12ad9dad62f4e874719385c7115e8394a8618eed3d6b330c8b5d90cbd3ae7fd09998e2a0017e35b4adca0f626110f238
39 DIST NVIDIA-Linux-x86-352.63.run 42983438 SHA256 484442dd5163c3249e86736b1e297cb4b500f60eeeaa2ac6f570335fa1e8b96f SHA512 499e9949d0221e40c8050a589e5d174d8c38108152948876cd9e523ce9d3b7f85646c40c76d2af032ead848d6508189afaa27226100d72b0484ce3634d3434a8 WHIRLPOOL 79424e46ba2a4a3fafd01364230779c567b5a002e4bbe9056415d6cce6ac8492e88e0676d64cb9deb24eefb5be61221c32b4a432224ce835a884f93c55929fe5
40 +DIST NVIDIA-Linux-x86-352.79.run 42378162 SHA256 2929d6e509ed4502312c1b7384f6d12cb63bd4af03fc847a281d3ccdd4db4f69 SHA512 d2b50e55110f84412fd5c456849ceac0537ede643d12d1228cdda9dcca52f1f9d0a6e5a02eb4ee32cb68bbfa5adeacb8e4fc4e299848f70954d032daa989c122 WHIRLPOOL 19153e166b561dcc04730b6439999e625b5c4358f69d18127cf347cb86d39cb22f87b75d2623916021e9e774d234d6b41c3dc91f0524cebdf44f2a3007d4b8ee
41 DIST NVIDIA-Linux-x86-355.11.run 43569515 SHA256 94ce6b879581b931b84d83a9111040b9a5aa9306b012b4380cd93f6ffede3066 SHA512 450caea472c5e1b3d7098adba28d18c1221cf809c6bd0071466ff2a946dd0eca6555475f5f6bc044fb19a21c8939b1020357d4aeb0ce47d0edfcda071a66fd46 WHIRLPOOL 3a95e83ab3f46e64150caf1489aa3173aae69919bf432eabcdd0501de8bcdee5402cdb33e149a4d5d429ccb85e4b4af9b30bec5516ad7b7f091ae42f6093d26f
42 DIST NVIDIA-Linux-x86-358.16.run 43972195 SHA256 d3a2842cbfb1163e20c658fbfaf5a235d5c9f035cd2d657f15df8a14b3fe80b1 SHA512 a5d37fb56a59b9958f6c34139250baf13a1c42ffc70f7deb19ffaac1ae6c2ce80b96649c5797d60754050d75792d14141cd5ebc8820bb73ee4aad4aa6d6c5b20 WHIRLPOOL 336e56827619ad53622c3fbf9fb3e9895a08b8500b81f3830514a34913180e3dc5c6f170f14675fa628e2c9658a084d7f9c45f47213d28335ecfee53c8110907
43 DIST NVIDIA-Linux-x86-361.18.run 48780711 SHA256 45171c24e0011d0e062ba487bd9abef3797752e29ee4cbe665af8d9ccacfd6d8 SHA512 9a41fc6319467cc947df739e7b596d2e72dc7343ee4cce810146166356081406bc3df08d0b649209ea569e0e7faae30fc2d9da22293916b82fec03f66387f9c5 WHIRLPOOL 31eb74835dc27c1dd999e53ac24fbe29e76c6d91e828d60b923a1adce9f8451d162f2fc85f5c279d9916509ceb18c936b9a43c30b66485938d8d5414f9c6b46b
44 @@ -33,6 +36,7 @@ DIST NVIDIA-Linux-x86_64-340.96.run 69824601 SHA256 a7553a5749679994642ef0262906
45 DIST NVIDIA-Linux-x86_64-346.96.run 73538317 SHA256 229b28a6b65965a248d07223d941de7d79b54cee7c6574f1037293e8a8026727 SHA512 188f8aac88085c3cac9637e87f4d9259d0c508075bbbf684775650a12f4760f47ba9e92f79e8bbe96d33ee014092edd38efce7dd730f67e0f11c2079eca938c5 WHIRLPOOL c9f4a5163018dc0b53aeff84b410cb34720d06ca7bdd17ce166ad3a2b057ffe94e6773594cd617fce79d9d0a02e5e1cd0525ca30dade7247ad5b7b20ff661a64
46 DIST NVIDIA-Linux-x86_64-352.63.run 77647248 SHA256 3705a122fbd4fe04f4077dea7ba8b1127f1a9b40e92f3abc7afa91964e817e2a SHA512 37b38be1e9394aa8bdd33cfbdf3c16ed62b16f852f76e013fb5573803e057ac51f6728ff594f7d48008871d9503fe64bb6e2dfc00b4415a62894f7f26c6ad719 WHIRLPOOL df8debfe7655982a7ca2194cdd833e8dcdb69250077c18551a0b93c31eadeea793b21118ecdc7b9f59721ab0f8431a0442152d3d685a1afac87587dbed3ec816
47 DIST NVIDIA-Linux-x86_64-352.68.run 77591852 SHA256 104ad0b5e52fea5a1c181dee977a5bc2bc07ba605c5f0de76271c183ee9b1982 SHA512 b46c0c3f3e31bf45df745a83413cd2e6e48d6125da10005399ffa01056f845ae6713d7730469a5e5a6c4645347ce376616c2b057d6520a83e70655ccb93a3179 WHIRLPOOL 7b162b32dcac4df476a6281c94953e261d8b0debb6e014619187a92444037efdb2bd3fe0ea5f800835f9f10568ca5555aecec621efc61b5c9ad4be1785505d9e
48 +DIST NVIDIA-Linux-x86_64-352.79.run 77140528 SHA256 e05a825a5e0027f062b1a1344ff3484286f50df990d66d567348b80101a0c4e3 SHA512 b54257e9aa6f6353d4f149d4dfab5ea12bf1907260ad98fd9102da1b458c1cf32e28707c8c5136efdaeccd0f60e6e013736b349a59ea50044dceddf265afa38b WHIRLPOOL 25be659c5784558c42c4f2fb0b50d5d56c0419f175ad8c019e00bdc033707297668705e051e4f176fff67340ec68054848a8b3aa5a9922ee0c9f9a270787a6d6
49 DIST NVIDIA-Linux-x86_64-355.11.run 76490009 SHA256 a59b425381add9d9058dc2d987bf3087ab59c43224b5eb04c3f273f5886451ed SHA512 bfc7ab7741183408aa0226dc29176c8ffe08566fbea7cebf78f4aa30627dc27ddf90bb82951c99006b34bc481be15712b4f5867ef543a32bfe3fe81a8e6ddeae WHIRLPOOL bb5d3397a855a53c2cd7e48056564085b906550f856207932e4670fef995030a3a7bcc0a9b97fee2e60aaff9b41c4a954afc57585441f5dec92c795358da810a
50 DIST NVIDIA-Linux-x86_64-358.16.run 77353969 SHA256 a942cdb29ed715ff1ce25beb06b6c2490126b98ef8bee5d9973967b557596bf2 SHA512 4ae43f5e8c311d6c97eb89b02504bf52e3a947c71662f30641988a78eb9fe083370124aeee3b89db74f8ee50f454338db98dc7abeb35a242ba5729fefccead77 WHIRLPOOL 3dd0dcd4b455fcac12d55f40cfb8db0536af82d90c32b8471528b44a9fa1b3f3706ac26558d7395f82649c37550fded17b48d75d5584b3a41390c94bb1135c48
51 DIST NVIDIA-Linux-x86_64-361.18.run 86447500 SHA256 94cccc3ff10ee9544f60bf1d32d04dddabc5103880b57895ea60e1167b89a155 SHA512 d307b50226b145761de69892c51af3cd4498b91f9c56b5d5bf7b1f4f00cc073af586008cb060a16c036426240853ed30d244e63d3f727eadf39338736a5c0b02 WHIRLPOOL 87e03bfe694f708d57fb548c01d853bbae1335a696bce225ce997000387189b55c27644922a051e9a50dfa94ec917bda14b6ed4b76f345c8adc8d8f54aebff97
52
53 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-352.79.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-352.79.ebuild
54 new file mode 100644
55 index 0000000..dd2a854
56 --- /dev/null
57 +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-352.79.ebuild
58 @@ -0,0 +1,490 @@
59 +# Copyright 1999-2015 Gentoo Foundation
60 +# Distributed under the terms of the GNU General Public License v2
61 +# $Id$
62 +
63 +EAPI=5
64 +
65 +inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
66 + portability toolchain-funcs unpacker user udev
67 +
68 +NV_URI="http://us.download.nvidia.com/XFree86/"
69 +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}"
70 +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}"
71 +X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}"
72 +AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}"
73 +
74 +DESCRIPTION="NVIDIA Accelerated Graphics Driver"
75 +HOMEPAGE="http://www.nvidia.com/"
76 +SRC_URI="
77 + amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
78 + amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
79 + x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )
80 + x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
81 +"
82 +
83 +LICENSE="GPL-2 NVIDIA-r2"
84 +SLOT="0/${PV%.*}"
85 +KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
86 +RESTRICT="bindist mirror strip"
87 +EMULTILIB_PKG="true"
88 +
89 +IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel +tools gtk2 gtk3 +X uvm"
90 +REQUIRED_USE="
91 + tools? ( X || ( gtk2 gtk3 ) )
92 +"
93 +
94 +COMMON="
95 + app-eselect/eselect-opencl
96 + kernel_linux? ( >=sys-libs/glibc-2.6.1 )
97 + X? (
98 + >=app-eselect/eselect-opengl-1.0.9
99 + )
100 +"
101 +DEPEND="
102 + ${COMMON}
103 + app-arch/xz-utils
104 + kernel_linux? ( virtual/linux-sources )
105 +"
106 +RDEPEND="
107 + ${COMMON}
108 + acpi? ( sys-power/acpid )
109 + tools? (
110 + dev-libs/atk
111 + dev-libs/glib:2
112 + x11-libs/gdk-pixbuf
113 + gtk2? ( >=x11-libs/gtk+-2.4:2 )
114 + gtk3? ( x11-libs/gtk+:3 )
115 + x11-libs/libX11
116 + x11-libs/libXext
117 + x11-libs/pango[X]
118 + )
119 + X? (
120 + <x11-base/xorg-server-1.18.99:=
121 + >=x11-libs/libvdpau-0.3-r1
122 + multilib? (
123 + >=x11-libs/libX11-1.6.2[abi_x86_32]
124 + >=x11-libs/libXext-1.3.2[abi_x86_32]
125 + )
126 + )
127 +"
128 +
129 +QA_PREBUILT="opt/* usr/lib*"
130 +
131 +S=${WORKDIR}/
132 +
133 +pkg_pretend() {
134 + if use amd64 && has_multilib_profile && \
135 + [ "${DEFAULT_ABI}" != "amd64" ]; then
136 + eerror "This ebuild doesn't currently support changing your default ABI"
137 + die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
138 + fi
139 +
140 + if use kernel_linux && kernel_is ge 4 4; then
141 + ewarn "Gentoo supports kernels which are supported by NVIDIA"
142 + ewarn "which are limited to the following kernels:"
143 + ewarn "<sys-kernel/gentoo-sources-4.4"
144 + ewarn "<sys-kernel/vanilla-sources-4.4"
145 + ewarn ""
146 + ewarn "You are free to utilize epatch_user to provide whatever"
147 + ewarn "support you feel is appropriate, but will not receive"
148 + ewarn "support as a result of those changes."
149 + ewarn ""
150 + ewarn "Do not file a bug report about this."
151 + ewarn ""
152 + fi
153 +
154 + # Since Nvidia ships many different series of drivers, we need to give the user
155 + # some kind of guidance as to what version they should install. This tries
156 + # to point the user in the right direction but can't be perfect. check
157 + # nvidia-driver.eclass
158 + nvidia-driver-check-warning
159 +
160 + # Kernel features/options to check for
161 + CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP"
162 + use x86 && CONFIG_CHECK+=" ~HIGHMEM"
163 +
164 + # Now do the above checks
165 + use kernel_linux && check_extra_config
166 +}
167 +
168 +pkg_setup() {
169 + # try to turn off distcc and ccache for people that have a problem with it
170 + export DISTCC_DISABLE=1
171 + export CCACHE_DISABLE=1
172 +
173 + if use kernel_linux; then
174 + MODULE_NAMES="nvidia(video:${S}/kernel)"
175 + use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)"
176 +
177 + # This needs to run after MODULE_NAMES (so that the eclass checks
178 + # whether the kernel supports loadable modules) but before BUILD_PARAMS
179 + # is set (so that KV_DIR is populated).
180 + linux-mod_pkg_setup
181 +
182 + BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \
183 + SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)"
184 +
185 + # linux-mod_src_compile calls set_arch_to_kernel, which
186 + # sets the ARCH to x86 but NVIDIA's wrapping Makefile
187 + # expects x86_64 or i386 and then converts it to x86
188 + # later on in the build process
189 + BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')"
190 + fi
191 +
192 + # set variables to where files are in the package structure
193 + if use kernel_FreeBSD; then
194 + use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}"
195 + use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}"
196 + NV_DOC="${S}/doc"
197 + NV_OBJ="${S}/obj"
198 + NV_SRC="${S}/src"
199 + NV_MAN="${S}/x11/man"
200 + NV_X11="${S}/obj"
201 + NV_SOVER=1
202 + elif use kernel_linux; then
203 + NV_DOC="${S}"
204 + NV_OBJ="${S}"
205 + NV_SRC="${S}/kernel"
206 + NV_MAN="${S}"
207 + NV_X11="${S}"
208 + NV_SOVER=${PV}
209 + else
210 + die "Could not determine proper NVIDIA package"
211 + fi
212 +}
213 +
214 +src_prepare() {
215 + # Please add a brief description for every added patch
216 +
217 + if use kernel_linux; then
218 + if kernel_is lt 2 6 9 ; then
219 + eerror "You must build this against 2.6.9 or higher kernels."
220 + fi
221 +
222 + # If greater than 2.6.5 use M= instead of SUBDIR=
223 +# convert_to_m "${NV_SRC}"/Makefile.kbuild
224 + fi
225 +
226 + if use pax_kernel; then
227 + ewarn "Using PAX patches is not supported. You will be asked to"
228 + ewarn "use a standard kernel should you have issues. Should you"
229 + ewarn "need support with these patches, contact the PaX team."
230 + epatch "${FILESDIR}"/${PN}-346.16-pax-usercopy.patch
231 + epatch "${FILESDIR}"/${PN}-346.16-pax-constify.patch
232 + fi
233 +
234 + # Allow user patches so they can support RC kernels and whatever else
235 + epatch_user
236 +}
237 +
238 +src_compile() {
239 + # This is already the default on Linux, as there's no toplevel Makefile, but
240 + # on FreeBSD there's one and triggers the kernel module build, as we install
241 + # it by itself, pass this.
242 +
243 + cd "${NV_SRC}"
244 + if use kernel_FreeBSD; then
245 + MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \
246 + LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
247 + elif use kernel_linux; then
248 + MAKEOPTS=-j1
249 + linux-mod_src_compile
250 + fi
251 +}
252 +
253 +# Install nvidia library:
254 +# the first parameter is the library to install
255 +# the second parameter is the provided soversion
256 +# the third parameter is the target directory if its not /usr/lib
257 +donvidia() {
258 + # Full path to library minus SOVER
259 + MY_LIB="$1"
260 +
261 + # SOVER to use
262 + MY_SOVER="$2"
263 +
264 + # Where to install
265 + MY_DEST="$3"
266 +
267 + if [[ -z "${MY_DEST}" ]]; then
268 + MY_DEST="/usr/$(get_libdir)"
269 + action="dolib.so"
270 + else
271 + exeinto ${MY_DEST}
272 + action="doexe"
273 + fi
274 +
275 + # Get just the library name
276 + libname=$(basename $1)
277 +
278 + # Install the library with the correct SOVER
279 + ${action} ${MY_LIB}.${MY_SOVER} || \
280 + die "failed to install ${libname}"
281 +
282 + # If SOVER wasn't 1, then we need to create a .1 symlink
283 + if [[ "${MY_SOVER}" != "1" ]]; then
284 + dosym ${libname}.${MY_SOVER} \
285 + ${MY_DEST}/${libname}.1 || \
286 + die "failed to create ${libname} symlink"
287 + fi
288 +
289 + # Always create the symlink from the raw lib to the .1
290 + dosym ${libname}.1 \
291 + ${MY_DEST}/${libname} || \
292 + die "failed to create ${libname} symlink"
293 +}
294 +
295 +src_install() {
296 + if use kernel_linux; then
297 + linux-mod_src_install
298 +
299 + # Add the aliases
300 + # This file is tweaked with the appropriate video group in
301 + # pkg_preinst, see bug #491414
302 + insinto /etc/modprobe.d
303 + newins "${FILESDIR}"/nvidia-169.07 nvidia.conf
304 + use uvm && doins "${FILESDIR}"/nvidia-uvm.conf
305 +
306 + # Ensures that our device nodes are created when not using X
307 + exeinto "$(get_udevdir)"
308 + newexe "${FILESDIR}"/nvidia-udev.sh-r1 nvidia-udev.sh
309 + udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules
310 + elif use kernel_FreeBSD; then
311 + if use x86-fbsd; then
312 + insinto /boot/modules
313 + doins "${S}/src/nvidia.kld"
314 + fi
315 +
316 + exeinto /boot/modules
317 + doexe "${S}/src/nvidia.ko"
318 + fi
319 +
320 + # NVIDIA kernel <-> userspace driver config lib
321 + donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER}
322 +
323 + # NVIDIA framebuffer capture library
324 + donvidia ${NV_OBJ}/libnvidia-fbc.so ${NV_SOVER}
325 +
326 + # NVIDIA video encode/decode <-> CUDA
327 + if use kernel_linux; then
328 + donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER}
329 + donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER}
330 + fi
331 +
332 + if use X; then
333 + # Xorg DDX driver
334 + insinto /usr/$(get_libdir)/xorg/modules/drivers
335 + doins ${NV_X11}/nvidia_drv.so
336 +
337 + # Xorg GLX driver
338 + donvidia ${NV_X11}/libglx.so ${NV_SOVER} \
339 + /usr/$(get_libdir)/opengl/nvidia/extensions
340 +
341 + # Xorg nvidia.conf
342 + if has_version '>=x11-base/xorg-server-1.16'; then
343 + insinto /usr/share/X11/xorg.conf.d
344 + newins {,50-}nvidia-drm-outputclass.conf
345 + fi
346 + fi
347 +
348 + # OpenCL ICD for NVIDIA
349 + if use kernel_linux; then
350 + insinto /etc/OpenCL/vendors
351 + doins ${NV_OBJ}/nvidia.icd
352 + fi
353 +
354 + # Documentation
355 + dohtml ${NV_DOC}/html/*
356 + if use kernel_FreeBSD; then
357 + dodoc "${NV_DOC}/README"
358 + use X && doman "${NV_MAN}/nvidia-xconfig.1"
359 + use tools && doman "${NV_MAN}/nvidia-settings.1"
360 + else
361 + # Docs
362 + newdoc "${NV_DOC}/README.txt" README
363 + dodoc "${NV_DOC}/NVIDIA_Changelog"
364 + doman "${NV_MAN}/nvidia-smi.1.gz"
365 + use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
366 + use tools && doman "${NV_MAN}/nvidia-settings.1.gz"
367 + doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz"
368 + fi
369 +
370 + # Helper Apps
371 + exeinto /opt/bin/
372 +
373 + if use X; then
374 + doexe ${NV_OBJ}/nvidia-xconfig
375 + fi
376 +
377 + if use kernel_linux ; then
378 + doexe ${NV_OBJ}/nvidia-cuda-mps-control
379 + doexe ${NV_OBJ}/nvidia-cuda-mps-server
380 + doexe ${NV_OBJ}/nvidia-debugdump
381 + doexe ${NV_OBJ}/nvidia-persistenced
382 + doexe ${NV_OBJ}/nvidia-smi
383 +
384 + # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092)
385 + doexe ${NV_OBJ}/nvidia-modprobe
386 + fowners root:video /opt/bin/nvidia-modprobe
387 + fperms 4710 /opt/bin/nvidia-modprobe
388 + dosym /{opt,usr}/bin/nvidia-modprobe
389 +
390 + doman nvidia-cuda-mps-control.1.gz
391 + doman nvidia-modprobe.1.gz
392 + doman nvidia-persistenced.1.gz
393 + newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
394 + newconfd "${FILESDIR}/nvidia-persistenced.conf" nvidia-persistenced
395 + newinitd "${FILESDIR}/nvidia-persistenced.init" nvidia-persistenced
396 + fi
397 +
398 + if use tools; then
399 + doexe ${NV_OBJ}/nvidia-settings
400 + use gtk2 && donvidia libnvidia-gtk2.so ${PV}
401 + use gtk3 && donvidia libnvidia-gtk3.so ${PV}
402 + insinto /usr/share/nvidia/
403 + doins nvidia-application-profiles-${PV}-key-documentation
404 + insinto /etc/nvidia
405 + newins nvidia-application-profiles-${PV}-rc nvidia-application-profiles-rc
406 + fi
407 +
408 + dobin ${NV_OBJ}/nvidia-bug-report.sh
409 +
410 + # Desktop entries for nvidia-settings
411 + if use tools ; then
412 + # There is no icon in the FreeBSD tarball.
413 + use kernel_FreeBSD || newicon ${NV_OBJ}/nvidia-settings.png ${PN}-settings.png
414 + domenu "${FILESDIR}"/${PN}-settings.desktop
415 + exeinto /etc/X11/xinit/xinitrc.d
416 + doexe "${FILESDIR}"/95-nvidia-settings
417 + fi
418 +
419 + #doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
420 +
421 + if has_multilib_profile && use multilib ; then
422 + local OABI=${ABI}
423 + for ABI in $(get_install_abis) ; do
424 + src_install-libs
425 + done
426 + ABI=${OABI}
427 + unset OABI
428 + else
429 + src_install-libs
430 + fi
431 +
432 + is_final_abi || die "failed to iterate through all ABIs"
433 +
434 + readme.gentoo_create_doc
435 +}
436 +
437 +src_install-libs() {
438 + local inslibdir=$(get_libdir)
439 + local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib"
440 + local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia"
441 + local libdir=${NV_OBJ}
442 +
443 + if use kernel_linux && has_multilib_profile && \
444 + [[ ${ABI} == "x86" ]] ; then
445 + libdir=${NV_OBJ}/32
446 + fi
447 +
448 + if use X; then
449 + # The GLX libraries
450 + donvidia ${libdir}/libEGL.so ${NV_SOVER} ${GL_ROOT}
451 + donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT}
452 + donvidia ${libdir}/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT}
453 + donvidia ${libdir}/libnvidia-eglcore.so ${NV_SOVER}
454 + donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER}
455 + donvidia ${libdir}/libnvidia-glsi.so ${NV_SOVER}
456 + donvidia ${libdir}/libnvidia-ifr.so ${NV_SOVER}
457 + if use kernel_FreeBSD; then
458 + donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER}
459 + else
460 + donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER}
461 + fi
462 +
463 + # VDPAU
464 + donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER}
465 +
466 + # GLES v2 libraries
467 + insinto ${GL_ROOT}
468 + doexe ${libdir}/libGLESv2.so.${PV}
469 + dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2
470 + dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so
471 + fi
472 +
473 + # NVIDIA monitoring library
474 + if use kernel_linux ; then
475 + donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER}
476 + fi
477 +
478 + # CUDA & OpenCL
479 + if use kernel_linux; then
480 + donvidia ${libdir}/libcuda.so ${NV_SOVER}
481 + donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
482 + donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
483 + donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER}
484 + fi
485 +}
486 +
487 +pkg_preinst() {
488 + if use kernel_linux; then
489 + linux-mod_pkg_preinst
490 +
491 + local videogroup="$(egetent group video | cut -d ':' -f 3)"
492 + if [ -z "${videogroup}" ]; then
493 + eerror "Failed to determine the video group gid"
494 + die "Failed to determine the video group gid"
495 + else
496 + sed -i \
497 + -e "s:PACKAGE:${PF}:g" \
498 + -e "s:VIDEOGID:${videogroup}:" \
499 + "${D}"/etc/modprobe.d/nvidia.conf || die
500 + fi
501 + fi
502 +
503 + # Clean the dynamic libGL stuff's home to ensure
504 + # we dont have stale libs floating around
505 + if [ -d "${ROOT}"/usr/lib/opengl/nvidia ] ; then
506 + rm -rf "${ROOT}"/usr/lib/opengl/nvidia/*
507 + fi
508 + # Make sure we nuke the old nvidia-glx's env.d file
509 + if [ -e "${ROOT}"/etc/env.d/09nvidia ] ; then
510 + rm -f "${ROOT}"/etc/env.d/09nvidia
511 + fi
512 +}
513 +
514 +pkg_postinst() {
515 + use kernel_linux && linux-mod_pkg_postinst
516 +
517 + # Switch to the nvidia implementation
518 + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
519 + "${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
520 +
521 + readme.gentoo_print_elog
522 +
523 + if ! use X; then
524 + elog "You have elected to not install the X.org driver. Along with"
525 + elog "this the OpenGL libraries and VDPAU libraries were not"
526 + elog "installed. Additionally, once the driver is loaded your card"
527 + elog "and fan will run at max speed which may not be desirable."
528 + elog "Use the 'nvidia-smi' init script to have your card and fan"
529 + elog "speed scale appropriately."
530 + elog
531 + fi
532 + if ! use tools; then
533 + elog "USE=tools controls whether the nvidia-settings application"
534 + elog "is installed. If you would like to use it, enable that"
535 + elog "flag and re-emerge this ebuild. Optionally you can install"
536 + elog "media-video/nvidia-settings"
537 + elog
538 + fi
539 +}
540 +
541 +pkg_prerm() {
542 + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
543 +}
544 +
545 +pkg_postrm() {
546 + use kernel_linux && linux-mod_pkg_postrm
547 + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
548 +}