diff options
-rw-r--r-- | media-video/nvidia-settings/Manifest | 1 | ||||
-rw-r--r-- | media-video/nvidia-settings/nvidia-settings-346.35.ebuild | 78 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/Manifest | 16 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/files/nvidia-drivers-346.16-pax-constify.patch | 25 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/files/nvidia-drivers-346.16-pax-usercopy.patch | 47 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/nvidia-drivers-304.125.ebuild (renamed from x11-drivers/nvidia-drivers/nvidia-drivers-304.123.ebuild) | 0 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/nvidia-drivers-340.76.ebuild | 168 | ||||
-rw-r--r-- | x11-drivers/nvidia-drivers/nvidia-drivers-346.35.ebuild | 175 | ||||
-rw-r--r-- | x11-drivers/nvidia-userspace/Manifest | 16 | ||||
-rw-r--r-- | x11-drivers/nvidia-userspace/nvidia-userspace-304.125.ebuild (renamed from x11-drivers/nvidia-userspace/nvidia-userspace-304.123.ebuild) | 0 | ||||
-rw-r--r-- | x11-drivers/nvidia-userspace/nvidia-userspace-340.76.ebuild | 353 | ||||
-rw-r--r-- | x11-drivers/nvidia-userspace/nvidia-userspace-346.35.ebuild | 353 |
12 files changed, 1224 insertions, 8 deletions
diff --git a/media-video/nvidia-settings/Manifest b/media-video/nvidia-settings/Manifest index 4f47e34c..7e0b14fe 100644 --- a/media-video/nvidia-settings/Manifest +++ b/media-video/nvidia-settings/Manifest @@ -13,3 +13,4 @@ DIST nvidia-settings-334.21.tar.bz2 1545486 SHA256 acd497588f37c15ccb853cdfe1447 DIST nvidia-settings-337.25.tar.bz2 1549314 SHA256 f17197e2176cca2ed8f5898c94bbbd992d1ffe777b585cd3f6c6a38cd031a53a SHA512 3719c81a71a93c6df5ef8e108f203b252a79fb755a80a7ffce6faf44ea72310ab75386bb0fb41953df9ab5f18dd6659373d3f3615d64e2cc06e183fe8c847824 WHIRLPOOL 857e4f74cbd504d1b53578ee1ecfb45d46b243cebe194c34365aae3bc420bdb9ec8893af1798ec712039cf51471162b5b8fa3e309a01bc935a3c5830a12af481 DIST nvidia-settings-340.46.tar.bz2 1549925 SHA256 c4e5921be9968701b4ee1aa840f157dffd7e54a382f4dd3f900b2b0391fdf23d SHA512 5922abafcaa1b35836ff7f62758ba9d8b6a44a69344ac5a27850af41b007c947439e826839ab6e8f22bdd3888f764799cfafcfbb760713b14f7fafeaadb9b482 WHIRLPOOL 977e541e81deca62fa14e20e781fc3ceffb7a6c66b2be9d10234dc92f9e4255d334fcf21c65b5c102ad3d8002f02fb1f9b5f718eddd8845234945b644409c24f DIST nvidia-settings-340.58.tar.bz2 1549850 SHA256 21cd29fea50e62766d1985c84f6d6de8efa911e32abcbff8e7ccf0e43ebe25c0 SHA512 4c581a940c99fac28564ab6154f47cae496ebfda6339b7f10c5decf8fea52b6c12e5b63dfcf78f8365909e49539560a50338edb17117881b6a03c196bd51836c WHIRLPOOL b486032339c4f8c4767239e3a4b001667bceb2c3ef5f3e94f08d1c54c60a958e1c76456415769ce9ff0503b6eb3d903aa89599a0234e08447c33671c598e66c8 +DIST nvidia-settings-346.35.tar.bz2 1557427 SHA256 1c4aafa497eaf67a9d5c21761a20f08ff7603aefe169389b86e4055040d39d2f SHA512 db5b5867904b2ad2073bf55b765228c2d3e751d92d9aebd22752c2160ec401534db75cb7614ce68faae83162c251634b4c9ead60db564fa0b456abc5d5dc7997 WHIRLPOOL 6a5c73f32d5ad015f967ace653040a033afd936c8bcbedac96b2ebc525b1f5f62c992adfa9a89b67e3d2e3905a80f04163acdc45098d271d26e8a232473abda8 diff --git a/media-video/nvidia-settings/nvidia-settings-346.35.ebuild b/media-video/nvidia-settings/nvidia-settings-346.35.ebuild new file mode 100644 index 00000000..814503eb --- /dev/null +++ b/media-video/nvidia-settings/nvidia-settings-346.35.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils toolchain-funcs multilib flag-o-matic + +DESCRIPTION="NVIDIA Linux X11 Settings Utility" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="ftp://download.nvidia.com/XFree86/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" +IUSE="" + +# xorg-server is used in the depends as nvidia-settings builds against some +# headers in /usr/include/xorg/. +# This also allows us to optimize out a lot of the other dependancies, as +# between gtk and xorg-server, almost all libraries and headers are accounted +# for. +COMMON=">=x11-libs/gtk+-2:2 x11-libs/gtk+:3" +DEPEND="${COMMON} + dev-util/pkgconfig + x11-base/xorg-server + x11-libs/libXt + x11-libs/libXv + >=x11-libs/libvdpau-0.9 + x11-proto/xf86driproto + x11-proto/xf86vidmodeproto" + +RDEPEND="${COMMON} + x11-base/xorg-server + x11-libs/libXt + x11-libs/pango[X]" + +src_compile() { + einfo "Building libXNVCtrl..." + emake -C src/libXNVCtrl/ clean # NVidia ships pre-built archives :( + emake -C src/libXNVCtrl/ \ + CC="$(tc-getCC)" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" \ + libXNVCtrl.a + + einfo "Building nvidia-settings..." + emake -C src/ \ + CC="$(tc-getCC)" \ + LD="$(tc-getLD)" \ + STRIP_CMD="$(type -P true)" \ + NV_VERBOSE=1 \ + USE_EXTERNAL_JANSSON=1 +} + +src_install() { + emake -C src/ DESTDIR="${D}" PREFIX=/usr USE_EXTERNAL_JANSSON=1 install + + insinto /usr/$(get_libdir) + doins src/libXNVCtrl/libXNVCtrl.a + + insinto /usr/include/NVCtrl + doins src/libXNVCtrl/*.h + + doicon doc/${PN}.png + make_desktop_entry ${PN} "NVIDIA X Server Settings" ${PN} Settings + + dodoc doc/*.txt + + # Install icon and .desktop entry + doicon "${S}/doc/${PN}.png" + sed -i "s:__UTILS_PATH__:/usr/bin:" "${S}/doc/${PN}.desktop" + sed -i "s:__PIXMAP_PATH__:/usr/share/pixmaps:" "${S}/doc/${PN}.desktop" + sed -i "s:__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__:Utility:" "${S}/doc/${PN}.desktop" + domenu "${S}/doc/${PN}.desktop" + exeinto /etc/X11/xinit/xinitrc.d + doexe "${FILESDIR}"/95-nvidia-settings +} diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index aadf23a9..ebbd873d 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -1,31 +1,39 @@ DIST NVIDIA-FreeBSD-x86-173.14.39.tar.gz 20038266 SHA256 63a922ce4c5b676b4cb1ace98094dace4cc5408f2553e183df7b2127777a238b SHA512 96982fe7e0751c52fbef534193de09d187b99c1984c05e791223eb804719d8b3ba72efd983f227661ded4b71569bdbb914f1f629ab73a8bc9b8172832ccf3ec6 WHIRLPOOL 21f5906f42adf0064c7a7f81ac8e323de488e6d36356ee42c31a15c31ebb64335d5e2cff0ff022d41de480f9e0a57b3b96387f17151c7b59eceba2c61a7a102b -DIST NVIDIA-FreeBSD-x86-304.123.tar.gz 34160879 SHA256 7e4433364c5f42de6611b8cf722e0073eae6763a6664d6b9fd652ef05ebee24b SHA512 7b65ab3e99bfb9f95655c3d9124849bb830d12e43ff2d5297496c114dcdd68f738229ea244f95c53e1fc9d62d64ad3b2efb17eccac0fc2f280e8f226a9a47e7d WHIRLPOOL a33ef07363f336b01248434e4aae80bad0ce5d20985dca53484c63c4f39eae9d5b2e8cab1e08e20a8857aac8acd15ac42605a8e3af1fc3f11b8dc9d75914db09 +DIST NVIDIA-FreeBSD-x86-304.125.tar.gz 34494889 SHA256 806d0bff9d394390b3a257472bc342857f150e9dba6673e6b930f47a93ec0269 SHA512 d2760196d3f0dfb1837d496bd11dbedab6a2bf3de98da35f16c92133452b915b425a718f72e560f5d6483caf5e2e5bcf99a462b2e392d7a08c77b59695649108 WHIRLPOOL eb008e1956043d48af5f928dc594c8ae9c8a946834d889db5b4a9b3f16bfaeb311221e5d3f83c8c599dee860b54a42030dccf2aaec31dffb6e8460bf646b82ad DIST NVIDIA-FreeBSD-x86-331.67.tar.gz 55876749 SHA256 0c88c363db516ef09b0027aacb1e686191d3d4676f44445bab2156c2197a6cae SHA512 0394aefbcd99a40e5cfc03a169bbf4bd8d34828cf2656ea49c560312e1cb7f575eeb32cd8dfe6f22a259e04efcf5183149846dee18b6ee254987f333fba82cba WHIRLPOOL 8b179600db7e8d1be476761ab0d5e6b5d10167e936044bf5de89115012bcdc0ecdd1ee7ed6da969261fe95f8b05c4b97a41343ed0ae2d283ff777d58971fbd7e DIST NVIDIA-FreeBSD-x86-337.25.tar.gz 58137349 SHA256 9857b24b5d910fb8688a2b9e11039d88b70ec250e900149183454675a363e8db SHA512 0c85814061732bd09948b5fd203d5d3a1fd5df0e1c23f4af11e1cfae6f7d8c7d7f569f35398c2c5551abf7eb5ce357229fa9b16ce2c21799e96396cff3313777 WHIRLPOOL a7ca516e184334117e1cdd45b3f4c1b0a8c50281ffd1c3859865d877c2bfb20136c308b1ff09e4d64d0e7fef8eeddacab488d0bc30c98d82a9280572be5f0de0 DIST NVIDIA-FreeBSD-x86-340.32.tar.gz 59021194 SHA256 ee4f34a279ae84b97373adbc8c91ab7d34eb52dd4a7b095d51d8592b3e264df8 SHA512 9b5eafa48ccb105fe978242096c99355a291314cacf7a232cb81292355dffac5496cdb8667fa4ad3f0f2286792bf0473f523535e3258bb3b0237c76dbf5ba837 WHIRLPOOL b9438f675f65ec0b55aa2c1ca8c3beb35d20f3c56837bbeb02d511b66d4bce825ba95852ecbca70f6f83ff53f23c98e1c0d2bd313d195426fea63baed27c1cce DIST NVIDIA-FreeBSD-x86-340.46.tar.gz 59013852 SHA256 5aa4ec5f9ca4425cd3fdc47ac19c76900cecae8a9606632a8063514481363571 SHA512 03bddeb919c6ff58e11df2a4d7f0c30a8f47a9970704dde762c81183773057cdffadf37d60bb920c218b1c72bc8f71949aadcf250747f48b1cd27b1a6164949b WHIRLPOOL 0ce3f23d4660e368b10972a39366a1d26116e38fddaee1a3a4764e85e868151bc7f1e27f3c1dbbc52187c74acabd483c65455d7fd0b9679d89a2c05200e05d83 DIST NVIDIA-FreeBSD-x86-340.58.tar.gz 59074607 SHA256 be4fdf4502532c39483a1072ed89bd33e0e49717a2523f412fe3c75da5edbc6c SHA512 c02d160ffc6a027a26c5fe2e6d7eff833f1e2cdb2c2006baad571bb733ddee68a8675175bddb1e154bea69571af633b125a524ca7b8ffd535b88ac91579f7bfb WHIRLPOOL 0999d380ae8770e1240287de002dc133d816c0895d39110fdc3f7455a7d25effbce09cbfea1b09b8b01b2214cd1f33554ba202a5f816c80b9884edb03ce2d9d6 +DIST NVIDIA-FreeBSD-x86-340.76.tar.gz 59362290 SHA256 0abbcc3bed3f017e7f1887a5c2d014e2b5a020462071998986ed49cdb8e7119f SHA512 e6d8b6d03fe0f9ab25ddeef680e0159ea4073d03762d3419761c02b917edefa9a1f81c209bd386838141c1924364c81126b0a356c325b056a0c2451865bed5eb WHIRLPOOL 7ec0cef6f92bfbd4c8b6a051dc8de4b6b138f63fd4f7e18756178a9aebb91ea32523d5ca885481d8c8c3d1531b153699f4e5606c155d6c3aa79a340637d3744b DIST NVIDIA-FreeBSD-x86-343.36.tar.gz 59205879 SHA256 8634e7537eca778790296f8355e39ae9a7e16642648e671a6c9339ee55fe340c SHA512 35fcf57d5e830cbe3c07ec70362ad9f0ff6ec327c6b11b6d3c533315e59031501501b9fdb80a3bef720506e5221ad84496745ce13d2c9885076f1c8e8537ba46 WHIRLPOOL 3ed3230dc190e7670c960743d94b8db1c0d9908b597f952746d851b403847e7b2836f1c60e6af0fe73072c1fda3971dfacc37c21908c227b2c20b5045dbfd61f -DIST NVIDIA-FreeBSD-x86_64-304.123.tar.gz 35144064 SHA256 32ea8ce22b4fe50f59782c390b8ec1d90bb44e02787255476f0304c60f11e877 SHA512 e12f55e2a303e8df628b3d7e5f2c80517cae4f6a146f20a3c10ab2d1147b4bc9386b678bbab9e519e28ea921832e1c855b4b8f4643c839717c5c97a833679b2a WHIRLPOOL 5d751bf72e1e089edcaab34d2ba8d413793a92c5a0d3601ff71285b458ad6aef4632481ece9f520f2006440d35b2eab3941e30f54d79351bc8da3ba12eaf3388 +DIST NVIDIA-FreeBSD-x86-346.35.tar.gz 57980205 SHA256 c2decd38b2ff3e46a611acfd2ca41fd887b7223f6aee1f57f52717b4206e2be3 SHA512 acf8a7792a9a0bd388139548d5923a2daa59680e44877083e8de2935f8eed83821505b036bd18ea282e9c4996d069675f8406d0958b49a0efa9c0fd64e69c3d1 WHIRLPOOL 1ed58654eee9b6e38275c60a6197faff095082ff176e548522c03cf2e5f91f2b632d49341eed8f537422343a43577419239327266243402b0425b6a46ee21f83 +DIST NVIDIA-FreeBSD-x86_64-304.125.tar.gz 35498616 SHA256 46b14b8c5ee1c02ff5e30afc9c99f4dd2edc426ccb2b73764093a1787639699d SHA512 34d48f24b1f5019b23c2937f8b5280fcc596764e1f5833cfe33db5e4d8395a0d69aa4c4214a5b97620dbaade73ac0fa333c36cceb4a137bb26d3ba37c31a0eb7 WHIRLPOOL 82677bd2aec3a60fe64211170573ef702b1dd1ab5a71ec922fb56b8d40f2163c0151a7c7f8bdace9127c8afcaf278f8f23a1cb585a8ad3bb7a0d42787ab17fb2 DIST NVIDIA-FreeBSD-x86_64-331.67.tar.gz 46997728 SHA256 5781bba8b7783f96c1f239961140317426910633fbfa3ba80fdcefe54aec7e92 SHA512 1653c03e091451f14c040c2b56de8574e5fd5d7b24db6ce979f99693f6a10e61e6c28fb3a962288a135551664973bba6d2f29b92aff726a4ee592fddc807db4e WHIRLPOOL a97d473c786451c7cb88155edb12a86da5f2888a584da7538dae93056357d0c63f294d638f6949c7a6f8255c60c3db84fdbb28ce10cd6da4c82758f95eb90679 DIST NVIDIA-FreeBSD-x86_64-337.25.tar.gz 58941876 SHA256 189dc0f70528d0099d0396a52bf759af74d6a99203484be2d2d6514faf0d4161 SHA512 458c9200579a6caed02aabbc196ec998a0d19149cca665c5ef9bc709c018b991b27713c92d00bdd1ea6ddd86e04c641f387e1ec8a1235cc9581af9e7a3b19ebf WHIRLPOOL d819cf486edc443b1da39ea67582a12698b1dea1501f3b6738014a80f8a96260aa0ba30a9e2f1fac075f0f7d604dc94978f7f82092b40531dd4989a2954cc420 DIST NVIDIA-FreeBSD-x86_64-340.32.tar.gz 59836909 SHA256 4a55cbd4f87528d4d5b5a8809a8c6e2dac9ad22b0f8b357590893dfb39e52512 SHA512 ef333d94a147e04292d6e197ee72a7abfb10a84665931876455b689409af42ac713d1a16f965214a46d9dd28fd324769fa4dd14dde5caf20a8b23a9683b6c55e WHIRLPOOL 76fd78eb97b69d7a5d7dc46e06a8d7b4dc3fadc1f2c6995d86161ca90ce99ec4a0b42eedf09939a4436481bad33ef201f49c73c8add833cf912af86774d47b34 DIST NVIDIA-FreeBSD-x86_64-340.46.tar.gz 59835566 SHA256 699a65b5184f8705ba4ddbefb5776136bec98619ea00af3304725e5e028b7346 SHA512 7a6ba9fbd769aec45985664edd7291403e70c0e89a90f5c0665d6433e4baa8e0b59ceb99e817b377753576d189c0091d5af0bc2da796726ce0a9f0ebfa831d5b WHIRLPOOL aea421916646f68efbba007c08319d7b26259e1ee146bd420910468c36c04c3bc574ee6db103d64259083b11190cb3d5342a3dd1af42b0a306aa4515eb4bc9af DIST NVIDIA-FreeBSD-x86_64-340.58.tar.gz 59892350 SHA256 c59e4c4e1c95a53d1dd797b99c852272fad0a256be65599eef82a6a2a16ce502 SHA512 bad7975662045e8e8075a558e3805b65e69536c9c8896a31245ff9e28b44c723ec7b3e9c9b40fa92622c0f5a966ea89bcf247156ee34e4977e933eab4595f22d WHIRLPOOL 893744d9f532ab463e7ba7d99999714816ad8eaed18a9e72ef47b3d9da4d493da4f4f2b6bf415dc20dec70d3ec850dfa26c8fae69a5166b093c8de36797b94e2 +DIST NVIDIA-FreeBSD-x86_64-340.76.tar.gz 60206978 SHA256 60037d035b9af9f1d4dcdd5033e1b28b0cd4c7ca94f6bcb8d267e037a930fdc0 SHA512 d478eac282dfb43205f7464d6542cf1f71ed4dea6b8381314affb8647d104c5ddf7e658b6b8eb5e0bdb18207b92f76c574b24959ce23034d375cc712998e6e7c WHIRLPOOL 98ebffd792a47e3a9ef369976db11909bc13551f38977f85ece41e5a31a790c2c173badfc166e3a0bfe4361d5221129d19364c074ba11fc4aa9062d5cb1499a8 DIST NVIDIA-FreeBSD-x86_64-343.36.tar.gz 60045074 SHA256 aa189d9fd6448ed49ff4a8dd09dd15c06f6b3ef662fd3d960b4853c485cbab8a SHA512 23c38de071ac6e2c87db2c767b07f243703e55cd6485eb8e538fb72f38e9856b7ff28430fdd7eccc4728f3d36c14eac8b1fbf7155fe864ead93ed4218d5b65b5 WHIRLPOOL 401cdc5675d5fe60b6ca492be912573e9fc56a0a67ad680e2cada783ec8a34c15c6ca1a495c8fdbf09e384bc420295750540f5c77907c459c80f400d8291e44a +DIST NVIDIA-FreeBSD-x86_64-346.35.tar.gz 58753495 SHA256 0a1c92efb9e29d0d4e1c099a5f2c69a29ac2431dbc33009cc83a35c794c48d33 SHA512 8838602a1e739043158b29ada81fceb36bb68385b5bdc21cc675eb8daafff45acb75efe9c8c00a45ce74164f510198490e820dcd0a797e52ff41254d93e467d3 WHIRLPOOL 7ecd9a92d3a7fe415faf3c7b9bda9af288aa65880fcbc0ec5131d85f1099dde569497e93e6060d8c96c426145d30e2bcd8d74e53d951591726888137fc3f5873 DIST NVIDIA-Linux-x86-173.14.39-pkg0.run 15134997 SHA256 a09935f37121ed3db8ae3da63a0d8e9d4348a19c859811c9fe44d6ce8e3eab23 SHA512 e24e15ccec725d3cbca502c2b77061776a81ef92917a950adec4ff6bdc34f10903aa654433177ea74be0dade4af81c5380d5710d375a5ea445940d06154bde93 WHIRLPOOL fce3d8e4f6cdf698f5a057514b6fe220bb1011025bdce5bd4cf0e424fb4d306d38251b6726bda03f290ea8137d5a95ed418cf8751722879f9042462abd9181b6 -DIST NVIDIA-Linux-x86-304.123.run 40250272 SHA256 d5034900173cb7195f52bd6add5bf574dfcd8868bd75c0e1793592c03b97f425 SHA512 7397a28c67a3cfc5ad58f079ced4c45639922c39008d606ca703c22dde34374c4942c894eec49d42187cf00cb0179e3dcf80edd28a81c4c89456a62e42f12b43 WHIRLPOOL 8b55196678cddba5e640f90525d69835c273befe01e4e1a87c00a21839e9a86bc68829a3c59c64609c47475466a158f43d8579897728cabe6b6bc0eadef62e2b +DIST NVIDIA-Linux-x86-304.125.run 40589395 SHA256 aec5b3a792910e152d5af756ef6fd7224c448c564564c7c448ab8ec3fc78c4f7 SHA512 cd77736790876b66c1e88bf30b7a93f755c0f94118edda8fde1701dc07dc4eb60f89a27b0ed432db74729f269cb239f32f3c5e045d701f60baf69da7fc0d0ea7 WHIRLPOOL 85cd375e1b67bbabe9a8119affec20b7a9a258f8b5be89d755f7ea596a94f98df053e8ade33f1aba1f74f753dcb636268c4f2074a09eaf68d858241f1482552c DIST NVIDIA-Linux-x86-331.67.run 37064511 SHA256 696b4a574ad3cb2b3286e0848e7e831940110cc33c63de51890154dbbd31acc6 SHA512 2a17854b366aa67a398c8d66134fb78d0ccdf4a6b2fe874bb7c146cfd24501431ed7448f5b7e24c8f78c6b1f6c2d5da207fbf568c2135ef53e51e83ce02cc374 WHIRLPOOL 4ad64717eb43043bacfbecdd6efe38bc5bf598acf172984e7c3eb1dcd779a9cbe53a76ac6e7b94b1d950d1f279147ceee4037d89be589fef2219d826eb86d09e DIST NVIDIA-Linux-x86-337.25.run 37649836 SHA256 f76ece6bd98bfe2ae641a1847094e98c6f7ad7a01af682b4f38108d6b6227f9b SHA512 f68105a43f9129f4112c8a091ed7c9641708b62d20c199544e5e7079d5c5bdc0b6c83427be868e62c7134400ca62cab6a65eaff96ddb940768750250cbd50112 WHIRLPOOL 1ff92ffe33dad59bf393a7b6fe7523362433704dc8329701e74814c2eef833d15e44334264601080b90f723f5390ce6502fa3ed530fe9fadaf3efff139e65047 DIST NVIDIA-Linux-x86-340.32.run 38587515 SHA256 1d0489c35c5b332c9b949d9de3c3cbab4ac3a94385aa41e7a7b62ef23f4395f5 SHA512 a67e57a1bd70a9cd5ae2bed70403920ed94d8eac9d08dcd380f6065cd597d5824e26ae25a0bcd56626190124c07d128f3b0429040794c8e8d3ead85860fcb646 WHIRLPOOL 66bf6db27edddae845606e82cf9397dbf483bbde23e97899575c8ac3f6ce86c84d88f8e60c60b1aad1360fe9bea4f43de030a849f88f43d482508de23cd24d8e DIST NVIDIA-Linux-x86-340.46.run 38635506 SHA256 a2e6d779397372dea77466e85ba30a15211c24502687512694604e570db11f87 SHA512 3d90a73fbe07eb25ec80a485c3827bebaf64a941331d6f28fb9b925678d74d66421dfecf6fe9637fb57b4aece268e987bfa8f29c06567243ae998d7ddac25f98 WHIRLPOOL dca92cff7d72f105e89deea74d6de69d4f78f1a7b15adea9e4a8cbbca9007b4bee4cc9b9f0cb39d7a2436e141785a5cfd3011b235418e701d27e7393ffefbf66 DIST NVIDIA-Linux-x86-340.58.run 38527667 SHA256 7cc48ff0681667aad8213a4dd3cf7695cad29a5a23a3110d22566c362c76fb5b SHA512 71381af39622feaaa84e005212f2bfa0800d2b100cac8aafdaeaa3ae1cb5aff47e1d2927bbed059ec1667a41c65946fee4ee763c9cfc5d78b68c06bac55757e7 WHIRLPOOL 31230ddaf971fe35086c1c42530bf066d8632d1d2082329b42c076afacfcab4f0edeae87b27a9a59ee9915f8451ad9d4305a32ff87af459a4e87bedac181241b +DIST NVIDIA-Linux-x86-340.76.run 38818911 SHA256 9b29d93b49009caed84a8852825c3e7c6ebbbba8ec99b03ee5113108c8b036d0 SHA512 45d7b29670f9ca50de80d6d61260015b45f74422bbd12039923d04ae8b033b903b27e9f4c174461055f3cf45a4af44565ce9a8b9cd671e0e54d37770a1156839 WHIRLPOOL da7e072a56e3aff8b4688e60c5acd76c97804fa582d21c70dce043b13fa2317d1021f19927e827cf6132aebe2d40371c750e3eb56697bc7eda16bb7369bf2994 DIST NVIDIA-Linux-x86-343.36.run 41073259 SHA256 8cc1c99fbda29b3258f57dbdacef11921aca2e3ac106ef591f0815716e1b829e SHA512 a6287cf8ad6379daa7c6d7ae6bc08f9985ad9e9353de6d88eb72d8a1acad3e25eb65076b904152c6ddd8ac54b9afcdbb7a5dfb9a46e75c5654be87b3df0e48e1 WHIRLPOOL 7aaa7977a850314045bcfcc36a8f6ed8b3f487ec972e109ea48cbe3edda4ff29c0bf02e7c11dacf6a3e71783259dc809840c32e301aa16f2d4394d7f07cffc0a +DIST NVIDIA-Linux-x86-346.35.run 40692611 SHA256 bba63c30c730ad7b8500a77c81cae58562b9f9b57cd576b61f37a2d8bc45df25 SHA512 df9213fe4743b6c329c1789dbdfe962af9c647a4e20380f957bc55369554fc731ffc098c00de922529d372b9686a170f6ccb1ce2e573ae57402396db9a3dc73d WHIRLPOOL 111b5a52fba139171163c6c31faade9d4ff40940520a10477cf90c998b2254c74fa571d7697b82ac515b80b71a3e205d1968b06c60ab057d008a41c45406e68e DIST NVIDIA-Linux-x86_64-173.14.39-pkg2.run 21100833 SHA256 15a953666d5681ba54c97498b578ffd286a1dc96d605f3b02110f3f99813100e SHA512 a65cd496e6ed57f771c3d99f37f616a1242d97844f6faef7a807825ad899c0e536a99fde397020839f0857883b934032f9491024f3047a6b06d3eea1f5d77713 WHIRLPOOL dc5f243b7d1de7e2d1b7f005e018a2940d63335b11a7c83c234b348b7a1839e9131169d2ea928bd8c2f549a4535149b03e16e6c94d59dfa745f7f904ff790a45 -DIST NVIDIA-Linux-x86_64-304.123.run 68755898 SHA256 68ee60d2a96ff80adad7e62f79f55f137dd10b8c38ce6c60fb481e73fdf6b155 SHA512 b16df726e8ba48153fcea337ab198c913eaa9f1dd004bed5c4262731e12c5a7c775c2a31996e207d051e4e479b7eb5173fcffe07d9988877385503f940e15dd8 WHIRLPOOL e9fe629dd262e68fe776c28fd93b4923d03681b2761265383becf914e84429f094b311b6e02051d2fb61436d48a59051d20fe9c8803fe7ed7daf98cd936f0dab +DIST NVIDIA-Linux-x86_64-304.125.run 69108272 SHA256 c654889b85a18326f2c610260a8fbc3b1bb6f9b8be1c052a46a213f60bd62262 SHA512 75bd5700281b0aa4e19be5b779e3484711ce3db92641a32f3bf5e890601b353b23113f6218d5a2fa6b2c8d93702fac92810013c7c0f8efe484b0a39d09b1b073 WHIRLPOOL d8b9794253b1ab270680da7420f50df5ab6aa4d5123bad695be5b7891b2df55bf06ecdd0b221fd29e799077c0a64da8059df16ebea9a3535e402f2c0cf482dcf DIST NVIDIA-Linux-x86_64-331.67.run 60231750 SHA256 9c7f2bb44bb26a5effb915d8aa22132a6c06483e0cfa6f47b7265b15da83bbd7 SHA512 7368a60c282386bc5b68599cacd07a18a9be4c3fd624eac9eb92966221318723c3f44ae033163789eae1ae683e729d49268769e79c465aca6632c5a7e6d6942a WHIRLPOOL 552f590257e3e1e53b83563aeea840a78869c10ea2707cea779da99ec726cc17398fada84379537ac2e6a7dc8a653c8b00141ab35adb10a5a49d0da565c2eb73 DIST NVIDIA-Linux-x86_64-337.25.run 68053486 SHA256 83280f7738f65bb2e790e7530a38978cf0bd0aa741eda51629c9e9b068128af0 SHA512 27cb5030da00d6fa2a2dd6701cc149ce885e7ff7e7ca4f1629c27737357fdadedec41e830f5cacabef14646515d6d2729f753d78424260316e28111f2c3e53b9 WHIRLPOOL 72eba5239ae7272d3501403ef292f0e131896b3dd852a7e2423e79206d99aa5a4a3b98eb4193ad5cd1e0247ffd48189d3a3ba02ca307a759a4f15b9c9a386dbd DIST NVIDIA-Linux-x86_64-340.32.run 69753673 SHA256 ef96003110564953cad4ffaec073696dcf9652338dfe5eb0c58ae3ce45db42ac SHA512 24c2dec161022bd229862ad66711232cf6424a0bd1eb056d7eb22a34e265d4b1f6208779cf507b480189f95f795d580a30ec5f8ab1bff549d2a41a57adcc14b4 WHIRLPOOL 6422498998253003fc1e1d6396449d2fe35b5836a083a254d9d7439434e5a3e1cf55afbcc3860a234ee9b3d0a1b18b9c58e4946107465559f0dcb121ef796e5a DIST NVIDIA-Linux-x86_64-340.46.run 69693129 SHA256 57e7694b5a985ee95d2da37598ec37cdabf40f914490f4cdb0c5184f12a74270 SHA512 43cce2911c1894fe9240453179666c5fd1f437b49a1e3e5990463e9009ffa25d5da7f91105d1520c6133a0bdef9070c768efdc087e2d8ef85ed7896fcf555c7a WHIRLPOOL 9f845c5b6621fcc34a5b64d1c5823a3978a04c669ee4d3f7e3aee3f8da06c1c6eaa3b51792be2e1006945ee06df0c1a2650fc70d4257b768ca4d144a79775892 DIST NVIDIA-Linux-x86_64-340.58.run 69851185 SHA256 70cc452161b969d659225a3a7d4cc17d5827f8f8ce6eb053757f30f6a666a643 SHA512 c88a83d7a5493b8069d2cac24363c7ca2e87ea9ca617cf9ffb0277c52dc39624019479b61e218f7d7a033c58b685131582e38a02e5a529c96126225f5b8cf8db WHIRLPOOL 9bc7f8c6c4a4be0b7b1f10a3de02ad0a3c1039522df5e3703ba180988ad4cab007801b1858c274f41edc87d7851db6eb54f2f4599cc91ae9e2cf11b5ac0d8fb4 +DIST NVIDIA-Linux-x86_64-340.76.run 69955037 SHA256 3bf670e9a2bdb184648dec54ce06fab65e798a9a4c9dd5155e2be4efee3e0994 SHA512 59ad49a49f170ec971e2b5ee3a45b9f972521bc4b7ab6f02f46a5cfc5b1998841195cc5c91dffc417d2183de39c5a589eabf7b48864e0c6842363a75051db40c WHIRLPOOL 8c846f2b5b6f56bd2962fe4660751a4485e0ddd2186bde0affccece32271b03f4f3c226377c0b1877ea391ab130ed6f282c316f227205488a63e4f0a19db82cc DIST NVIDIA-Linux-x86_64-343.36.run 73775989 SHA256 2285efa2c0e6675d8724e47a09403630a674c32e514bdcfb54cec3c81810fc78 SHA512 6e76e54b24b0c1fa16e94eaf0f99d2e7dfd28e5aaae0bcb6df3e6d4e20c7a13d5d30902e2bc9bc7609c8d87e5ec8fbf16a5a2dd513bb9d761714176c4ce5e283 WHIRLPOOL 73040a3f3073486c5d6d0a5d84be7d478a3c15bb4aee21f3c590592afe2845f8e9c7064010ddc8f93b764e48940e523952abf9978d09cd32ec1ce8b644e59eb6 +DIST NVIDIA-Linux-x86_64-346.35.run 73462796 SHA256 8625acbbc7a2abdda436a5cb9d06f2a7f5913b16e0a35ac4f9f106853a94d086 SHA512 dab2ce5a722a93e83822cb83db6d3ef612274a6e3236b0ff34f081630cc00f76be5a0a1637b85dda2ca289336e44b6586afc82a228cb5de8ca1105d6bd4f4750 WHIRLPOOL f5255f714ff9f14edb26246826c810de05de1d6bcaeaf30f52294313aa1f68fbd432ddbddf576757cee711e19e4b7d2f14fb30f8975c9e2686395fb31998f413 diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-346.16-pax-constify.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-346.16-pax-constify.patch new file mode 100644 index 00000000..9b9f53e4 --- /dev/null +++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-346.16-pax-constify.patch @@ -0,0 +1,25 @@ +--- a/kernel/uvm/uvm_common.c ++++ b/kernel/uvm/uvm_common.c +@@ -95,7 +95,6 @@ static RM_STATUS uvmnext_gpu_event_stop_ + #endif // NVIDIA_UVM_NEXT_ENABLED + + static dev_t g_uvmBaseDev; +-struct UvmOpsUvmEvents g_exportedUvmOps; + + // TODO: This would be easier if RM allowed for multiple registrations, since we + // could register UVM-Lite and UVM-Next separately (bug 1372835). +@@ -147,9 +146,11 @@ static RM_STATUS uvmSetupGpuProvider(voi + RM_STATUS status = RM_OK; + + #ifdef NVIDIA_UVM_RM_ENABLED +- g_exportedUvmOps.startDevice = uvm_gpu_event_start_device; +- g_exportedUvmOps.stopDevice = uvm_gpu_event_stop_device; +- g_exportedUvmOps.isrTopHalf = uvmnext_isr_top_half; ++ static struct UvmOpsUvmEvents g_exportedUvmOps = { ++ .startDevice = uvm_gpu_event_start_device, ++ .stopDevice = uvm_gpu_event_stop_device, ++ .isrTopHalf = uvmnext_isr_top_half, ++ }; + + // call RM to exchange the function pointers. + status = nvUvmInterfaceRegisterUvmCallbacks(&g_exportedUvmOps); diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-346.16-pax-usercopy.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-346.16-pax-usercopy.patch new file mode 100644 index 00000000..d1a440c9 --- /dev/null +++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-346.16-pax-usercopy.patch @@ -0,0 +1,47 @@ +--- a/kernel/nv.c ++++ b/kernel/nv.c +@@ -705,7 +705,7 @@ int __init nvidia_init_module(void) + #endif + + nvidia_stack_t_cache = NV_KMEM_CACHE_CREATE(nvidia_stack_cache_name, +- nvidia_stack_t); ++ nvidia_stack_t, SLAB_USERCOPY); + if (nvidia_stack_t_cache == NULL) + { + nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n"); +@@ -846,7 +846,7 @@ int __init nvidia_init_module(void) + nv_lock_init_locks(nv); + + nvidia_pte_t_cache = NV_KMEM_CACHE_CREATE(nvidia_pte_cache_name, +- nvidia_pte_t); ++ nvidia_pte_t, 0); + if (nvidia_pte_t_cache == NULL) + { + rc = -ENOMEM; +@@ -857,7 +857,7 @@ int __init nvidia_init_module(void) + if (!nv_multiple_kernel_modules) + { + nvidia_p2p_page_t_cache = NV_KMEM_CACHE_CREATE(nvidia_p2p_page_cache_name, +- nvidia_p2p_page_t); ++ nvidia_p2p_page_t, 0); + if (nvidia_p2p_page_t_cache == NULL) + { + rc = -ENOMEM; +--- a/kernel/nv-linux.h ++++ b/kernel/nv-linux.h +@@ -1431,11 +1431,11 @@ extern void *nvidia_stack_t_cache; + + #if !defined(NV_VMWARE) + #if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5) +-#define NV_KMEM_CACHE_CREATE(name, type) \ +- kmem_cache_create(name, sizeof(type), 0, 0, NULL) ++#define NV_KMEM_CACHE_CREATE(name, type, flags) \ ++ kmem_cache_create(name, sizeof(type), 0, flags, NULL) + #else +-#define NV_KMEM_CACHE_CREATE(name, type) \ +- kmem_cache_create(name, sizeof(type), 0, 0, NULL, \ ++#define NV_KMEM_CACHE_CREATE(name, type, flags) \ ++ kmem_cache_create(name, sizeof(type), 0, flags, NULL, \ + NULL) + #endif + #define NV_KMEM_CACHE_DESTROY(kmem_cache) \ diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-304.123.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-304.125.ebuild index 3a119d3f..3a119d3f 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-304.123.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-304.125.ebuild diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-340.76.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-340.76.ebuild new file mode 100644 index 00000000..bcfd2149 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-340.76.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \ + portability toolchain-funcs unpacker user + +NV_URI="http://us.download.nvidia.com/XFree86/" +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" +X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}" +AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}" + +DESCRIPTION="NVIDIA GPUs kernel drivers" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI=" + amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz ) + amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run ) + x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz ) + x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run ) +" + +LICENSE="NVIDIA-r1" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X uvm" +RESTRICT="bindist mirror strip" + +DEPEND="kernel_linux? ( virtual/linux-sources )" +RDEPEND="~x11-drivers/nvidia-userspace-${PV} + x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] ) + multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] ) + ~x11-drivers/nvidia-userspace-${PV}[tools=] + ~x11-drivers/nvidia-userspace-${PV}[X=]" +PDEPEND="" + +S=${WORKDIR}/ + +pkg_pretend() { + # Since Nvidia ships 3 different series of drivers, we need to give the user + # some kind of guidance as to what version they should install. This tries + # to point the user in the right direction but can't be perfect. check + # nvidia-driver.eclass + nvidia-driver-check-warning + + # Kernel features/options to check for + CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP" + use x86 && CONFIG_CHECK+=" ~HIGHMEM" + + # Now do the above checks + use kernel_linux && check_extra_config +} + +pkg_setup() { + # try to turn off distcc and ccache for people that have a problem with it + export DISTCC_DISABLE=1 + export CCACHE_DISABLE=1 + + if use kernel_linux; then + MODULE_NAMES="nvidia(video:${S}/kernel)" + use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)" + + # This needs to run after MODULE_NAMES (so that the eclass checks + # whether the kernel supports loadable modules) but before BUILD_PARAMS + # is set (so that KV_DIR is populated). + linux-mod_pkg_setup + + BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \ + SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)" + # linux-mod_src_compile calls set_arch_to_kernel, which + # sets the ARCH to x86 but NVIDIA's wrapping Makefile + # expects x86_64 or i386 and then converts it to x86 + # later on in the build process + BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')" + fi + + # set variables to where files are in the package structure + if use kernel_FreeBSD; then + use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}" + use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}" + NV_SRC="${S}/src" + NV_SOVER=1 + elif use kernel_linux; then + NV_SRC="${S}/kernel" + NV_SOVER=${PV} + else + die "Could not determine proper NVIDIA package" + fi +} + +src_prepare() { + # Please add a brief description for every added patch + + if use kernel_linux; then + if kernel_is lt 2 6 9 ; then + eerror "You must build this against 2.6.9 or higher kernels." + fi + + # If greater than 2.6.5 use M= instead of SUBDIR= +# convert_to_m "${NV_SRC}"/Makefile.kbuild + fi + if use pax_kernel; then + ewarn "Using PAX patches is not supported. You will be asked to" + ewarn "use a standard kernel should you have issues. Should you" + ewarn "need support with these patches, contact the PaX team." + epatch "${FILESDIR}"/${PN}-331.13-pax-usercopy.patch + fi + + # Allow user patches so they can support RC kernels and whatever else + epatch_user +} + +src_compile() { + # This is already the default on Linux, as there's no toplevel Makefile, but + # on FreeBSD there's one and triggers the kernel module build, as we install + # it by itself, pass this. + + cd "${NV_SRC}" + if use kernel_FreeBSD; then + MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \ + LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die + elif use kernel_linux; then + use uvm && MAKEOPTS=-j1 + linux-mod_src_compile + fi +} + +src_install() { + if use kernel_linux; then + linux-mod_src_install + 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 + + is_final_abi || die "failed to iterate through all ABIs" +} + +pkg_preinst() { + use kernel_linux && linux-mod_pkg_preinst +} + +pkg_postinst() { + use kernel_linux && linux-mod_pkg_postinst + + echo + elog "You must be in the video group to use the NVIDIA device" + elog "For more info, read the docs at" + elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6" + elog + + elog "This package installs a kernel module and X driver. Both must" + elog "match explicitly in their version. This means, if you restart" + elog "X, you must modprobe -r nvidia before starting it back up" + elog + +} + +pkg_postrm() { + use kernel_linux && linux-mod_pkg_postrm +} diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-346.35.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-346.35.ebuild new file mode 100644 index 00000000..c86373e8 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-346.35.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \ + portability toolchain-funcs unpacker user + +NV_URI="http://us.download.nvidia.com/XFree86/" +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" +X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}" +AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}" + +DESCRIPTION="NVIDIA GPUs kernel drivers" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI=" + amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz ) + amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run ) + x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz ) + x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run ) +" + +LICENSE="NVIDIA-r2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="acpi custom-cflags multilib x-multilib kernel_FreeBSD kernel_linux pax_kernel tools X uvm" +RESTRICT="bindist mirror strip" + +DEPEND="kernel_linux? ( virtual/linux-sources )" +RDEPEND="~x11-drivers/nvidia-userspace-${PV} + x-multilib? ( ~x11-drivers/nvidia-userspace-${PV}[x-multilib] ) + multilib? ( ~x11-drivers/nvidia-userspace-${PV}[multilib] ) + ~x11-drivers/nvidia-userspace-${PV}[tools=] + ~x11-drivers/nvidia-userspace-${PV}[X=]" +PDEPEND="" + +S=${WORKDIR}/ + +pkg_pretend() { + if use amd64 && has_multilib_profile && \ + [ "${DEFAULT_ABI}" != "amd64" ]; then + eerror "This ebuild doesn't currently support changing your default ABI" + die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}" + fi + + # Since Nvidia ships 3 different series of drivers, we need to give the user + # some kind of guidance as to what version they should install. This tries + # to point the user in the right direction but can't be perfect. check + # nvidia-driver.eclass + nvidia-driver-check-warning + + # Kernel features/options to check for + CONFIG_CHECK="~ZONE_DMA ~MTRR ~SYSVIPC ~!LOCKDEP" + use x86 && CONFIG_CHECK+=" ~HIGHMEM" + + # Now do the above checks + use kernel_linux && check_extra_config +} + +pkg_setup() { + # try to turn off distcc and ccache for people that have a problem with it + export DISTCC_DISABLE=1 + export CCACHE_DISABLE=1 + + if use kernel_linux; then + MODULE_NAMES="nvidia(video:${S}/kernel)" + use uvm && MODULE_NAMES+=" nvidia-uvm(video:${S}/kernel/uvm)" + + # This needs to run after MODULE_NAMES (so that the eclass checks + # whether the kernel supports loadable modules) but before BUILD_PARAMS + # is set (so that KV_DIR is populated). + linux-mod_pkg_setup + + BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} \ + SYSOUT=${KV_OUT_DIR} CC=$(tc-getBUILD_CC)" + # linux-mod_src_compile calls set_arch_to_kernel, which + # sets the ARCH to x86 but NVIDIA's wrapping Makefile + # expects x86_64 or i386 and then converts it to x86 + # later on in the build process + BUILD_FIXES="ARCH=$(uname -m | sed -e 's/i.86/i386/')" + fi + + # set variables to where files are in the package structure + if use kernel_FreeBSD; then + use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}" + use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}" + NV_SRC="${S}/src" + NV_SOVER=1 + elif use kernel_linux; then + NV_SRC="${S}/kernel" + NV_SOVER=${PV} + else + die "Could not determine proper NVIDIA package" + fi +} + +src_prepare() { + # Please add a brief description for every added patch + + if use kernel_linux; then + if kernel_is lt 2 6 9 ; then + eerror "You must build this against 2.6.9 or higher kernels." + fi + + # If greater than 2.6.5 use M= instead of SUBDIR= +# convert_to_m "${NV_SRC}"/Makefile.kbuild + fi + if use pax_kernel; then + ewarn "Using PAX patches is not supported. You will be asked to" + ewarn "use a standard kernel should you have issues. Should you" + ewarn "need support with these patches, contact the PaX team." + epatch "${FILESDIR}"/${PN}-346.16-pax-usercopy.patch + epatch "${FILESDIR}"/${PN}-346.16-pax-constify.patch + fi + + # Allow user patches so they can support RC kernels and whatever else + epatch_user +} + +src_compile() { + # This is already the default on Linux, as there's no toplevel Makefile, but + # on FreeBSD there's one and triggers the kernel module build, as we install + # it by itself, pass this. + + cd "${NV_SRC}" + if use kernel_FreeBSD; then + MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \ + LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die + elif use kernel_linux; then + MAKEOPTS=-j1 + linux-mod_src_compile + fi +} + +src_install() { + if use kernel_linux; then + linux-mod_src_install + 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 + + is_final_abi || die "failed to iterate through all ABIs" +} + +pkg_preinst() { + use kernel_linux && linux-mod_pkg_preinst +} + +pkg_postinst() { + use kernel_linux && linux-mod_pkg_postinst + + echo + elog "You must be in the video group to use the NVIDIA device" + elog "For more info, read the docs at" + elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6" + elog + + elog "This package installs a kernel module and X driver. Both must" + elog "match explicitly in their version. This means, if you restart" + elog "X, you must modprobe -r nvidia before starting it back up" + elog + +} + +pkg_postrm() { + use kernel_linux && linux-mod_pkg_postrm +} diff --git a/x11-drivers/nvidia-userspace/Manifest b/x11-drivers/nvidia-userspace/Manifest index aadf23a9..ebbd873d 100644 --- a/x11-drivers/nvidia-userspace/Manifest +++ b/x11-drivers/nvidia-userspace/Manifest @@ -1,31 +1,39 @@ DIST NVIDIA-FreeBSD-x86-173.14.39.tar.gz 20038266 SHA256 63a922ce4c5b676b4cb1ace98094dace4cc5408f2553e183df7b2127777a238b SHA512 96982fe7e0751c52fbef534193de09d187b99c1984c05e791223eb804719d8b3ba72efd983f227661ded4b71569bdbb914f1f629ab73a8bc9b8172832ccf3ec6 WHIRLPOOL 21f5906f42adf0064c7a7f81ac8e323de488e6d36356ee42c31a15c31ebb64335d5e2cff0ff022d41de480f9e0a57b3b96387f17151c7b59eceba2c61a7a102b -DIST NVIDIA-FreeBSD-x86-304.123.tar.gz 34160879 SHA256 7e4433364c5f42de6611b8cf722e0073eae6763a6664d6b9fd652ef05ebee24b SHA512 7b65ab3e99bfb9f95655c3d9124849bb830d12e43ff2d5297496c114dcdd68f738229ea244f95c53e1fc9d62d64ad3b2efb17eccac0fc2f280e8f226a9a47e7d WHIRLPOOL a33ef07363f336b01248434e4aae80bad0ce5d20985dca53484c63c4f39eae9d5b2e8cab1e08e20a8857aac8acd15ac42605a8e3af1fc3f11b8dc9d75914db09 +DIST NVIDIA-FreeBSD-x86-304.125.tar.gz 34494889 SHA256 806d0bff9d394390b3a257472bc342857f150e9dba6673e6b930f47a93ec0269 SHA512 d2760196d3f0dfb1837d496bd11dbedab6a2bf3de98da35f16c92133452b915b425a718f72e560f5d6483caf5e2e5bcf99a462b2e392d7a08c77b59695649108 WHIRLPOOL eb008e1956043d48af5f928dc594c8ae9c8a946834d889db5b4a9b3f16bfaeb311221e5d3f83c8c599dee860b54a42030dccf2aaec31dffb6e8460bf646b82ad DIST NVIDIA-FreeBSD-x86-331.67.tar.gz 55876749 SHA256 0c88c363db516ef09b0027aacb1e686191d3d4676f44445bab2156c2197a6cae SHA512 0394aefbcd99a40e5cfc03a169bbf4bd8d34828cf2656ea49c560312e1cb7f575eeb32cd8dfe6f22a259e04efcf5183149846dee18b6ee254987f333fba82cba WHIRLPOOL 8b179600db7e8d1be476761ab0d5e6b5d10167e936044bf5de89115012bcdc0ecdd1ee7ed6da969261fe95f8b05c4b97a41343ed0ae2d283ff777d58971fbd7e DIST NVIDIA-FreeBSD-x86-337.25.tar.gz 58137349 SHA256 9857b24b5d910fb8688a2b9e11039d88b70ec250e900149183454675a363e8db SHA512 0c85814061732bd09948b5fd203d5d3a1fd5df0e1c23f4af11e1cfae6f7d8c7d7f569f35398c2c5551abf7eb5ce357229fa9b16ce2c21799e96396cff3313777 WHIRLPOOL a7ca516e184334117e1cdd45b3f4c1b0a8c50281ffd1c3859865d877c2bfb20136c308b1ff09e4d64d0e7fef8eeddacab488d0bc30c98d82a9280572be5f0de0 DIST NVIDIA-FreeBSD-x86-340.32.tar.gz 59021194 SHA256 ee4f34a279ae84b97373adbc8c91ab7d34eb52dd4a7b095d51d8592b3e264df8 SHA512 9b5eafa48ccb105fe978242096c99355a291314cacf7a232cb81292355dffac5496cdb8667fa4ad3f0f2286792bf0473f523535e3258bb3b0237c76dbf5ba837 WHIRLPOOL b9438f675f65ec0b55aa2c1ca8c3beb35d20f3c56837bbeb02d511b66d4bce825ba95852ecbca70f6f83ff53f23c98e1c0d2bd313d195426fea63baed27c1cce DIST NVIDIA-FreeBSD-x86-340.46.tar.gz 59013852 SHA256 5aa4ec5f9ca4425cd3fdc47ac19c76900cecae8a9606632a8063514481363571 SHA512 03bddeb919c6ff58e11df2a4d7f0c30a8f47a9970704dde762c81183773057cdffadf37d60bb920c218b1c72bc8f71949aadcf250747f48b1cd27b1a6164949b WHIRLPOOL 0ce3f23d4660e368b10972a39366a1d26116e38fddaee1a3a4764e85e868151bc7f1e27f3c1dbbc52187c74acabd483c65455d7fd0b9679d89a2c05200e05d83 DIST NVIDIA-FreeBSD-x86-340.58.tar.gz 59074607 SHA256 be4fdf4502532c39483a1072ed89bd33e0e49717a2523f412fe3c75da5edbc6c SHA512 c02d160ffc6a027a26c5fe2e6d7eff833f1e2cdb2c2006baad571bb733ddee68a8675175bddb1e154bea69571af633b125a524ca7b8ffd535b88ac91579f7bfb WHIRLPOOL 0999d380ae8770e1240287de002dc133d816c0895d39110fdc3f7455a7d25effbce09cbfea1b09b8b01b2214cd1f33554ba202a5f816c80b9884edb03ce2d9d6 +DIST NVIDIA-FreeBSD-x86-340.76.tar.gz 59362290 SHA256 0abbcc3bed3f017e7f1887a5c2d014e2b5a020462071998986ed49cdb8e7119f SHA512 e6d8b6d03fe0f9ab25ddeef680e0159ea4073d03762d3419761c02b917edefa9a1f81c209bd386838141c1924364c81126b0a356c325b056a0c2451865bed5eb WHIRLPOOL 7ec0cef6f92bfbd4c8b6a051dc8de4b6b138f63fd4f7e18756178a9aebb91ea32523d5ca885481d8c8c3d1531b153699f4e5606c155d6c3aa79a340637d3744b DIST NVIDIA-FreeBSD-x86-343.36.tar.gz 59205879 SHA256 8634e7537eca778790296f8355e39ae9a7e16642648e671a6c9339ee55fe340c SHA512 35fcf57d5e830cbe3c07ec70362ad9f0ff6ec327c6b11b6d3c533315e59031501501b9fdb80a3bef720506e5221ad84496745ce13d2c9885076f1c8e8537ba46 WHIRLPOOL 3ed3230dc190e7670c960743d94b8db1c0d9908b597f952746d851b403847e7b2836f1c60e6af0fe73072c1fda3971dfacc37c21908c227b2c20b5045dbfd61f -DIST NVIDIA-FreeBSD-x86_64-304.123.tar.gz 35144064 SHA256 32ea8ce22b4fe50f59782c390b8ec1d90bb44e02787255476f0304c60f11e877 SHA512 e12f55e2a303e8df628b3d7e5f2c80517cae4f6a146f20a3c10ab2d1147b4bc9386b678bbab9e519e28ea921832e1c855b4b8f4643c839717c5c97a833679b2a WHIRLPOOL 5d751bf72e1e089edcaab34d2ba8d413793a92c5a0d3601ff71285b458ad6aef4632481ece9f520f2006440d35b2eab3941e30f54d79351bc8da3ba12eaf3388 +DIST NVIDIA-FreeBSD-x86-346.35.tar.gz 57980205 SHA256 c2decd38b2ff3e46a611acfd2ca41fd887b7223f6aee1f57f52717b4206e2be3 SHA512 acf8a7792a9a0bd388139548d5923a2daa59680e44877083e8de2935f8eed83821505b036bd18ea282e9c4996d069675f8406d0958b49a0efa9c0fd64e69c3d1 WHIRLPOOL 1ed58654eee9b6e38275c60a6197faff095082ff176e548522c03cf2e5f91f2b632d49341eed8f537422343a43577419239327266243402b0425b6a46ee21f83 +DIST NVIDIA-FreeBSD-x86_64-304.125.tar.gz 35498616 SHA256 46b14b8c5ee1c02ff5e30afc9c99f4dd2edc426ccb2b73764093a1787639699d SHA512 34d48f24b1f5019b23c2937f8b5280fcc596764e1f5833cfe33db5e4d8395a0d69aa4c4214a5b97620dbaade73ac0fa333c36cceb4a137bb26d3ba37c31a0eb7 WHIRLPOOL 82677bd2aec3a60fe64211170573ef702b1dd1ab5a71ec922fb56b8d40f2163c0151a7c7f8bdace9127c8afcaf278f8f23a1cb585a8ad3bb7a0d42787ab17fb2 DIST NVIDIA-FreeBSD-x86_64-331.67.tar.gz 46997728 SHA256 5781bba8b7783f96c1f239961140317426910633fbfa3ba80fdcefe54aec7e92 SHA512 1653c03e091451f14c040c2b56de8574e5fd5d7b24db6ce979f99693f6a10e61e6c28fb3a962288a135551664973bba6d2f29b92aff726a4ee592fddc807db4e WHIRLPOOL a97d473c786451c7cb88155edb12a86da5f2888a584da7538dae93056357d0c63f294d638f6949c7a6f8255c60c3db84fdbb28ce10cd6da4c82758f95eb90679 DIST NVIDIA-FreeBSD-x86_64-337.25.tar.gz 58941876 SHA256 189dc0f70528d0099d0396a52bf759af74d6a99203484be2d2d6514faf0d4161 SHA512 458c9200579a6caed02aabbc196ec998a0d19149cca665c5ef9bc709c018b991b27713c92d00bdd1ea6ddd86e04c641f387e1ec8a1235cc9581af9e7a3b19ebf WHIRLPOOL d819cf486edc443b1da39ea67582a12698b1dea1501f3b6738014a80f8a96260aa0ba30a9e2f1fac075f0f7d604dc94978f7f82092b40531dd4989a2954cc420 DIST NVIDIA-FreeBSD-x86_64-340.32.tar.gz 59836909 SHA256 4a55cbd4f87528d4d5b5a8809a8c6e2dac9ad22b0f8b357590893dfb39e52512 SHA512 ef333d94a147e04292d6e197ee72a7abfb10a84665931876455b689409af42ac713d1a16f965214a46d9dd28fd324769fa4dd14dde5caf20a8b23a9683b6c55e WHIRLPOOL 76fd78eb97b69d7a5d7dc46e06a8d7b4dc3fadc1f2c6995d86161ca90ce99ec4a0b42eedf09939a4436481bad33ef201f49c73c8add833cf912af86774d47b34 DIST NVIDIA-FreeBSD-x86_64-340.46.tar.gz 59835566 SHA256 699a65b5184f8705ba4ddbefb5776136bec98619ea00af3304725e5e028b7346 SHA512 7a6ba9fbd769aec45985664edd7291403e70c0e89a90f5c0665d6433e4baa8e0b59ceb99e817b377753576d189c0091d5af0bc2da796726ce0a9f0ebfa831d5b WHIRLPOOL aea421916646f68efbba007c08319d7b26259e1ee146bd420910468c36c04c3bc574ee6db103d64259083b11190cb3d5342a3dd1af42b0a306aa4515eb4bc9af DIST NVIDIA-FreeBSD-x86_64-340.58.tar.gz 59892350 SHA256 c59e4c4e1c95a53d1dd797b99c852272fad0a256be65599eef82a6a2a16ce502 SHA512 bad7975662045e8e8075a558e3805b65e69536c9c8896a31245ff9e28b44c723ec7b3e9c9b40fa92622c0f5a966ea89bcf247156ee34e4977e933eab4595f22d WHIRLPOOL 893744d9f532ab463e7ba7d99999714816ad8eaed18a9e72ef47b3d9da4d493da4f4f2b6bf415dc20dec70d3ec850dfa26c8fae69a5166b093c8de36797b94e2 +DIST NVIDIA-FreeBSD-x86_64-340.76.tar.gz 60206978 SHA256 60037d035b9af9f1d4dcdd5033e1b28b0cd4c7ca94f6bcb8d267e037a930fdc0 SHA512 d478eac282dfb43205f7464d6542cf1f71ed4dea6b8381314affb8647d104c5ddf7e658b6b8eb5e0bdb18207b92f76c574b24959ce23034d375cc712998e6e7c WHIRLPOOL 98ebffd792a47e3a9ef369976db11909bc13551f38977f85ece41e5a31a790c2c173badfc166e3a0bfe4361d5221129d19364c074ba11fc4aa9062d5cb1499a8 DIST NVIDIA-FreeBSD-x86_64-343.36.tar.gz 60045074 SHA256 aa189d9fd6448ed49ff4a8dd09dd15c06f6b3ef662fd3d960b4853c485cbab8a SHA512 23c38de071ac6e2c87db2c767b07f243703e55cd6485eb8e538fb72f38e9856b7ff28430fdd7eccc4728f3d36c14eac8b1fbf7155fe864ead93ed4218d5b65b5 WHIRLPOOL 401cdc5675d5fe60b6ca492be912573e9fc56a0a67ad680e2cada783ec8a34c15c6ca1a495c8fdbf09e384bc420295750540f5c77907c459c80f400d8291e44a +DIST NVIDIA-FreeBSD-x86_64-346.35.tar.gz 58753495 SHA256 0a1c92efb9e29d0d4e1c099a5f2c69a29ac2431dbc33009cc83a35c794c48d33 SHA512 8838602a1e739043158b29ada81fceb36bb68385b5bdc21cc675eb8daafff45acb75efe9c8c00a45ce74164f510198490e820dcd0a797e52ff41254d93e467d3 WHIRLPOOL 7ecd9a92d3a7fe415faf3c7b9bda9af288aa65880fcbc0ec5131d85f1099dde569497e93e6060d8c96c426145d30e2bcd8d74e53d951591726888137fc3f5873 DIST NVIDIA-Linux-x86-173.14.39-pkg0.run 15134997 SHA256 a09935f37121ed3db8ae3da63a0d8e9d4348a19c859811c9fe44d6ce8e3eab23 SHA512 e24e15ccec725d3cbca502c2b77061776a81ef92917a950adec4ff6bdc34f10903aa654433177ea74be0dade4af81c5380d5710d375a5ea445940d06154bde93 WHIRLPOOL fce3d8e4f6cdf698f5a057514b6fe220bb1011025bdce5bd4cf0e424fb4d306d38251b6726bda03f290ea8137d5a95ed418cf8751722879f9042462abd9181b6 -DIST NVIDIA-Linux-x86-304.123.run 40250272 SHA256 d5034900173cb7195f52bd6add5bf574dfcd8868bd75c0e1793592c03b97f425 SHA512 7397a28c67a3cfc5ad58f079ced4c45639922c39008d606ca703c22dde34374c4942c894eec49d42187cf00cb0179e3dcf80edd28a81c4c89456a62e42f12b43 WHIRLPOOL 8b55196678cddba5e640f90525d69835c273befe01e4e1a87c00a21839e9a86bc68829a3c59c64609c47475466a158f43d8579897728cabe6b6bc0eadef62e2b +DIST NVIDIA-Linux-x86-304.125.run 40589395 SHA256 aec5b3a792910e152d5af756ef6fd7224c448c564564c7c448ab8ec3fc78c4f7 SHA512 cd77736790876b66c1e88bf30b7a93f755c0f94118edda8fde1701dc07dc4eb60f89a27b0ed432db74729f269cb239f32f3c5e045d701f60baf69da7fc0d0ea7 WHIRLPOOL 85cd375e1b67bbabe9a8119affec20b7a9a258f8b5be89d755f7ea596a94f98df053e8ade33f1aba1f74f753dcb636268c4f2074a09eaf68d858241f1482552c DIST NVIDIA-Linux-x86-331.67.run 37064511 SHA256 696b4a574ad3cb2b3286e0848e7e831940110cc33c63de51890154dbbd31acc6 SHA512 2a17854b366aa67a398c8d66134fb78d0ccdf4a6b2fe874bb7c146cfd24501431ed7448f5b7e24c8f78c6b1f6c2d5da207fbf568c2135ef53e51e83ce02cc374 WHIRLPOOL 4ad64717eb43043bacfbecdd6efe38bc5bf598acf172984e7c3eb1dcd779a9cbe53a76ac6e7b94b1d950d1f279147ceee4037d89be589fef2219d826eb86d09e DIST NVIDIA-Linux-x86-337.25.run 37649836 SHA256 f76ece6bd98bfe2ae641a1847094e98c6f7ad7a01af682b4f38108d6b6227f9b SHA512 f68105a43f9129f4112c8a091ed7c9641708b62d20c199544e5e7079d5c5bdc0b6c83427be868e62c7134400ca62cab6a65eaff96ddb940768750250cbd50112 WHIRLPOOL 1ff92ffe33dad59bf393a7b6fe7523362433704dc8329701e74814c2eef833d15e44334264601080b90f723f5390ce6502fa3ed530fe9fadaf3efff139e65047 DIST NVIDIA-Linux-x86-340.32.run 38587515 SHA256 1d0489c35c5b332c9b949d9de3c3cbab4ac3a94385aa41e7a7b62ef23f4395f5 SHA512 a67e57a1bd70a9cd5ae2bed70403920ed94d8eac9d08dcd380f6065cd597d5824e26ae25a0bcd56626190124c07d128f3b0429040794c8e8d3ead85860fcb646 WHIRLPOOL 66bf6db27edddae845606e82cf9397dbf483bbde23e97899575c8ac3f6ce86c84d88f8e60c60b1aad1360fe9bea4f43de030a849f88f43d482508de23cd24d8e DIST NVIDIA-Linux-x86-340.46.run 38635506 SHA256 a2e6d779397372dea77466e85ba30a15211c24502687512694604e570db11f87 SHA512 3d90a73fbe07eb25ec80a485c3827bebaf64a941331d6f28fb9b925678d74d66421dfecf6fe9637fb57b4aece268e987bfa8f29c06567243ae998d7ddac25f98 WHIRLPOOL dca92cff7d72f105e89deea74d6de69d4f78f1a7b15adea9e4a8cbbca9007b4bee4cc9b9f0cb39d7a2436e141785a5cfd3011b235418e701d27e7393ffefbf66 DIST NVIDIA-Linux-x86-340.58.run 38527667 SHA256 7cc48ff0681667aad8213a4dd3cf7695cad29a5a23a3110d22566c362c76fb5b SHA512 71381af39622feaaa84e005212f2bfa0800d2b100cac8aafdaeaa3ae1cb5aff47e1d2927bbed059ec1667a41c65946fee4ee763c9cfc5d78b68c06bac55757e7 WHIRLPOOL 31230ddaf971fe35086c1c42530bf066d8632d1d2082329b42c076afacfcab4f0edeae87b27a9a59ee9915f8451ad9d4305a32ff87af459a4e87bedac181241b +DIST NVIDIA-Linux-x86-340.76.run 38818911 SHA256 9b29d93b49009caed84a8852825c3e7c6ebbbba8ec99b03ee5113108c8b036d0 SHA512 45d7b29670f9ca50de80d6d61260015b45f74422bbd12039923d04ae8b033b903b27e9f4c174461055f3cf45a4af44565ce9a8b9cd671e0e54d37770a1156839 WHIRLPOOL da7e072a56e3aff8b4688e60c5acd76c97804fa582d21c70dce043b13fa2317d1021f19927e827cf6132aebe2d40371c750e3eb56697bc7eda16bb7369bf2994 DIST NVIDIA-Linux-x86-343.36.run 41073259 SHA256 8cc1c99fbda29b3258f57dbdacef11921aca2e3ac106ef591f0815716e1b829e SHA512 a6287cf8ad6379daa7c6d7ae6bc08f9985ad9e9353de6d88eb72d8a1acad3e25eb65076b904152c6ddd8ac54b9afcdbb7a5dfb9a46e75c5654be87b3df0e48e1 WHIRLPOOL 7aaa7977a850314045bcfcc36a8f6ed8b3f487ec972e109ea48cbe3edda4ff29c0bf02e7c11dacf6a3e71783259dc809840c32e301aa16f2d4394d7f07cffc0a +DIST NVIDIA-Linux-x86-346.35.run 40692611 SHA256 bba63c30c730ad7b8500a77c81cae58562b9f9b57cd576b61f37a2d8bc45df25 SHA512 df9213fe4743b6c329c1789dbdfe962af9c647a4e20380f957bc55369554fc731ffc098c00de922529d372b9686a170f6ccb1ce2e573ae57402396db9a3dc73d WHIRLPOOL 111b5a52fba139171163c6c31faade9d4ff40940520a10477cf90c998b2254c74fa571d7697b82ac515b80b71a3e205d1968b06c60ab057d008a41c45406e68e DIST NVIDIA-Linux-x86_64-173.14.39-pkg2.run 21100833 SHA256 15a953666d5681ba54c97498b578ffd286a1dc96d605f3b02110f3f99813100e SHA512 a65cd496e6ed57f771c3d99f37f616a1242d97844f6faef7a807825ad899c0e536a99fde397020839f0857883b934032f9491024f3047a6b06d3eea1f5d77713 WHIRLPOOL dc5f243b7d1de7e2d1b7f005e018a2940d63335b11a7c83c234b348b7a1839e9131169d2ea928bd8c2f549a4535149b03e16e6c94d59dfa745f7f904ff790a45 -DIST NVIDIA-Linux-x86_64-304.123.run 68755898 SHA256 68ee60d2a96ff80adad7e62f79f55f137dd10b8c38ce6c60fb481e73fdf6b155 SHA512 b16df726e8ba48153fcea337ab198c913eaa9f1dd004bed5c4262731e12c5a7c775c2a31996e207d051e4e479b7eb5173fcffe07d9988877385503f940e15dd8 WHIRLPOOL e9fe629dd262e68fe776c28fd93b4923d03681b2761265383becf914e84429f094b311b6e02051d2fb61436d48a59051d20fe9c8803fe7ed7daf98cd936f0dab +DIST NVIDIA-Linux-x86_64-304.125.run 69108272 SHA256 c654889b85a18326f2c610260a8fbc3b1bb6f9b8be1c052a46a213f60bd62262 SHA512 75bd5700281b0aa4e19be5b779e3484711ce3db92641a32f3bf5e890601b353b23113f6218d5a2fa6b2c8d93702fac92810013c7c0f8efe484b0a39d09b1b073 WHIRLPOOL d8b9794253b1ab270680da7420f50df5ab6aa4d5123bad695be5b7891b2df55bf06ecdd0b221fd29e799077c0a64da8059df16ebea9a3535e402f2c0cf482dcf DIST NVIDIA-Linux-x86_64-331.67.run 60231750 SHA256 9c7f2bb44bb26a5effb915d8aa22132a6c06483e0cfa6f47b7265b15da83bbd7 SHA512 7368a60c282386bc5b68599cacd07a18a9be4c3fd624eac9eb92966221318723c3f44ae033163789eae1ae683e729d49268769e79c465aca6632c5a7e6d6942a WHIRLPOOL 552f590257e3e1e53b83563aeea840a78869c10ea2707cea779da99ec726cc17398fada84379537ac2e6a7dc8a653c8b00141ab35adb10a5a49d0da565c2eb73 DIST NVIDIA-Linux-x86_64-337.25.run 68053486 SHA256 83280f7738f65bb2e790e7530a38978cf0bd0aa741eda51629c9e9b068128af0 SHA512 27cb5030da00d6fa2a2dd6701cc149ce885e7ff7e7ca4f1629c27737357fdadedec41e830f5cacabef14646515d6d2729f753d78424260316e28111f2c3e53b9 WHIRLPOOL 72eba5239ae7272d3501403ef292f0e131896b3dd852a7e2423e79206d99aa5a4a3b98eb4193ad5cd1e0247ffd48189d3a3ba02ca307a759a4f15b9c9a386dbd DIST NVIDIA-Linux-x86_64-340.32.run 69753673 SHA256 ef96003110564953cad4ffaec073696dcf9652338dfe5eb0c58ae3ce45db42ac SHA512 24c2dec161022bd229862ad66711232cf6424a0bd1eb056d7eb22a34e265d4b1f6208779cf507b480189f95f795d580a30ec5f8ab1bff549d2a41a57adcc14b4 WHIRLPOOL 6422498998253003fc1e1d6396449d2fe35b5836a083a254d9d7439434e5a3e1cf55afbcc3860a234ee9b3d0a1b18b9c58e4946107465559f0dcb121ef796e5a DIST NVIDIA-Linux-x86_64-340.46.run 69693129 SHA256 57e7694b5a985ee95d2da37598ec37cdabf40f914490f4cdb0c5184f12a74270 SHA512 43cce2911c1894fe9240453179666c5fd1f437b49a1e3e5990463e9009ffa25d5da7f91105d1520c6133a0bdef9070c768efdc087e2d8ef85ed7896fcf555c7a WHIRLPOOL 9f845c5b6621fcc34a5b64d1c5823a3978a04c669ee4d3f7e3aee3f8da06c1c6eaa3b51792be2e1006945ee06df0c1a2650fc70d4257b768ca4d144a79775892 DIST NVIDIA-Linux-x86_64-340.58.run 69851185 SHA256 70cc452161b969d659225a3a7d4cc17d5827f8f8ce6eb053757f30f6a666a643 SHA512 c88a83d7a5493b8069d2cac24363c7ca2e87ea9ca617cf9ffb0277c52dc39624019479b61e218f7d7a033c58b685131582e38a02e5a529c96126225f5b8cf8db WHIRLPOOL 9bc7f8c6c4a4be0b7b1f10a3de02ad0a3c1039522df5e3703ba180988ad4cab007801b1858c274f41edc87d7851db6eb54f2f4599cc91ae9e2cf11b5ac0d8fb4 +DIST NVIDIA-Linux-x86_64-340.76.run 69955037 SHA256 3bf670e9a2bdb184648dec54ce06fab65e798a9a4c9dd5155e2be4efee3e0994 SHA512 59ad49a49f170ec971e2b5ee3a45b9f972521bc4b7ab6f02f46a5cfc5b1998841195cc5c91dffc417d2183de39c5a589eabf7b48864e0c6842363a75051db40c WHIRLPOOL 8c846f2b5b6f56bd2962fe4660751a4485e0ddd2186bde0affccece32271b03f4f3c226377c0b1877ea391ab130ed6f282c316f227205488a63e4f0a19db82cc DIST NVIDIA-Linux-x86_64-343.36.run 73775989 SHA256 2285efa2c0e6675d8724e47a09403630a674c32e514bdcfb54cec3c81810fc78 SHA512 6e76e54b24b0c1fa16e94eaf0f99d2e7dfd28e5aaae0bcb6df3e6d4e20c7a13d5d30902e2bc9bc7609c8d87e5ec8fbf16a5a2dd513bb9d761714176c4ce5e283 WHIRLPOOL 73040a3f3073486c5d6d0a5d84be7d478a3c15bb4aee21f3c590592afe2845f8e9c7064010ddc8f93b764e48940e523952abf9978d09cd32ec1ce8b644e59eb6 +DIST NVIDIA-Linux-x86_64-346.35.run 73462796 SHA256 8625acbbc7a2abdda436a5cb9d06f2a7f5913b16e0a35ac4f9f106853a94d086 SHA512 dab2ce5a722a93e83822cb83db6d3ef612274a6e3236b0ff34f081630cc00f76be5a0a1637b85dda2ca289336e44b6586afc82a228cb5de8ca1105d6bd4f4750 WHIRLPOOL f5255f714ff9f14edb26246826c810de05de1d6bcaeaf30f52294313aa1f68fbd432ddbddf576757cee711e19e4b7d2f14fb30f8975c9e2686395fb31998f413 diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-304.123.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-304.125.ebuild index c9401d56..c9401d56 100644 --- a/x11-drivers/nvidia-userspace/nvidia-userspace-304.123.ebuild +++ b/x11-drivers/nvidia-userspace/nvidia-userspace-304.125.ebuild diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-340.76.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-340.76.ebuild new file mode 100644 index 00000000..559555b4 --- /dev/null +++ b/x11-drivers/nvidia-userspace/nvidia-userspace-340.76.ebuild @@ -0,0 +1,353 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \ + portability toolchain-funcs unpacker user udev + +NV_URI="http://us.download.nvidia.com/XFree86/" +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" +X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}" +AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}" + +DESCRIPTION="NVIDIA X11 userspace libraries and applications" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI=" + amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz ) + amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run ) + x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz ) + x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run ) +" + +LICENSE="GPL-2 NVIDIA-r1" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X uvm" +RESTRICT="bindist mirror strip" +EMULTILIB_PKG="true" + +COMMON="app-admin/eselect-opencl + kernel_linux? ( >=sys-libs/glibc-2.6.1 ) + x-multilib? ( + || ( + ( + x11-libs/libX11[abi_x86_32] + x11-libs/libXext[abi_x86_32] + ) + app-emulation/emul-linux-x86-xlibs + ) + ) + multilib? ( app-emulation/emul-linux-x86-baselibs ) + X? ( + >=app-admin/eselect-opengl-1.0.9 + )" +DEPEND="${COMMON}" +# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver +# because it would cause pkg_postrm to set the wrong opengl implementation +RDEPEND="${COMMON} + X? ( x11-libs/libXvMC ) + acpi? ( sys-power/acpid ) + tools? ( media-video/nvidia-settings )" +PDEPEND="X? ( + <x11-base/xorg-server-1.16.99 + >=x11-libs/libvdpau-0.3-r1 + )" + +REQUIRED_USE="tools? ( X )" +QA_PREBUILT="opt/* usr/lib*" +S=${WORKDIR}/ + +pkg_pretend() { + if use amd64 && has_multilib_profile && \ + [ "${DEFAULT_ABI}" != "amd64" ]; then + eerror "This ebuild doesn't currently support changing your default ABI" + die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}" + fi +} + +pkg_setup() { + # try to turn off distcc and ccache for people that have a problem with it + export DISTCC_DISABLE=1 + export CCACHE_DISABLE=1 + + # set variables to where files are in the package structure + if use kernel_FreeBSD; then + use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}" + use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}" + NV_DOC="${S}/doc" + NV_OBJ="${S}/obj" + NV_SRC="${S}/src" + NV_MAN="${S}/x11/man" + NV_X11="${S}/obj" + NV_SOVER=1 + elif use kernel_linux; then + NV_DOC="${S}" + NV_OBJ="${S}" + NV_SRC="${S}/kernel" + NV_MAN="${S}" + NV_X11="${S}" + NV_SOVER=${PV} + else + die "Could not determine proper NVIDIA package" + fi +} + +src_prepare() { + # Please add a brief description for every added patch + + # Allow user patches so they can support RC kernels and whatever else + epatch_user +} + +src_compile() { :; } + +# Install nvidia library: +# the first parameter is the library to install +# the second parameter is the provided soversion +# the third parameter is the target directory if its not /usr/lib +donvidia() { + # Full path to library minus SOVER + MY_LIB="$1" + + # SOVER to use + MY_SOVER="$2" + + # Where to install + MY_DEST="$3" + + if [[ -z "${MY_DEST}" ]]; then + MY_DEST="/usr/$(get_libdir)" + action="dolib.so" + else + exeinto ${MY_DEST} + action="doexe" + fi + + # Get just the library name + libname=$(basename $1) + + # Install the library with the correct SOVER + ${action} ${MY_LIB}.${MY_SOVER} || \ + die "failed to install ${libname}" + + # If SOVER wasn't 1, then we need to create a .1 symlink + if [[ "${MY_SOVER}" != "1" ]]; then + dosym ${libname}.${MY_SOVER} \ + ${MY_DEST}/${libname}.1 || \ + die "failed to create ${libname} symlink" + fi + + # Always create the symlink from the raw lib to the .1 + dosym ${libname}.1 \ + ${MY_DEST}/${libname} || \ + die "failed to create ${libname} symlink" +} + +src_install() { + if use kernel_linux; then + # Add the aliases + # This file is tweaked with the appropriate video group in + # pkg_preinst, see bug #491414 + insinto /etc/modprobe.d + newins "${FILESDIR}"/nvidia-169.07 nvidia.conf + use uvm && doins "${FILESDIR}"/nvidia-uvm.conf + + # Ensures that our device nodes are created when not using X + exeinto "$(get_udevdir)" + doexe "${FILESDIR}"/nvidia-udev.sh + udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules + elif use kernel_FreeBSD; then + if use x86-fbsd; then + insinto /boot/modules + doins "${S}/src/nvidia.kld" + fi + + exeinto /boot/modules + doexe "${S}/src/nvidia.ko" + fi + + # NVIDIA kernel <-> userspace driver config lib + donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER} + + # NVIDIA framebuffer capture library + donvidia ${NV_OBJ}/libnvidia-fbc.so ${NV_SOVER} + + # NVIDIA video encode/decode <-> CUDA + if use kernel_linux; then + donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER} + donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER} + fi + + if use X; then + # Xorg DDX driver + insinto /usr/$(get_libdir)/xorg/modules/drivers + doins ${NV_X11}/nvidia_drv.so + + # Xorg GLX driver + donvidia ${NV_X11}/libglx.so ${NV_SOVER} \ + /usr/$(get_libdir)/opengl/nvidia/extensions + fi + + # OpenCL ICD for NVIDIA + if use kernel_linux; then + insinto /etc/OpenCL/vendors + doins ${NV_OBJ}/nvidia.icd + fi + + # Documentation + dohtml ${NV_DOC}/html/* + if use kernel_FreeBSD; then + dodoc "${NV_DOC}/README" + use X && doman "${NV_MAN}/nvidia-xconfig.1" + else + # Docs + newdoc "${NV_DOC}/README.txt" README + dodoc "${NV_DOC}/NVIDIA_Changelog" + doman "${NV_MAN}/nvidia-smi.1.gz" + doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz" + use X && doman "${NV_MAN}/nvidia-xconfig.1.gz" + fi + + # Helper Apps + exeinto /opt/bin/ + if use X; then + doexe ${NV_OBJ}/nvidia-xconfig + fi + + if use kernel_linux ; then + doexe ${NV_OBJ}/nvidia-cuda-mps-control + doexe ${NV_OBJ}/nvidia-cuda-mps-server + doexe ${NV_OBJ}/nvidia-debugdump + doexe ${NV_OBJ}/nvidia-persistenced + doexe ${NV_OBJ}/nvidia-smi + + # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092) + doexe ${NV_OBJ}/nvidia-modprobe + fowners root:video /opt/bin/nvidia-modprobe + fperms 4710 /opt/bin/nvidia-modprobe + dosym /{opt,usr}/bin/nvidia-modprobe + + doman nvidia-cuda-mps-control.1.gz + doman nvidia-modprobe.1.gz + doman nvidia-persistenced.1.gz + newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi + fi + + exeinto /usr/bin/ + doexe ${NV_OBJ}/nvidia-bug-report.sh + + if has_multilib_profile && use multilib ; then + local OABI=${ABI} + for ABI in $(get_install_abis) ; do + src_install-libs + done + ABI=${OABI} + unset OABI + else + src_install-libs + fi + + is_final_abi || die "failed to iterate through all ABIs" + + readme.gentoo_create_doc +} + +src_install-libs() { + local inslibdir=$(get_libdir) + local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib" + local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia" + local libdir=${NV_OBJ} + + if use kernel_linux && has_multilib_profile && \ + [[ ${ABI} == "x86" ]] ; then + libdir=${NV_OBJ}/32 + fi + + if use X; then + # The GLX libraries + donvidia ${libdir}/libEGL.so ${NV_SOVER} ${GL_ROOT} + donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT} + donvidia ${libdir}/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT} + donvidia ${libdir}/libnvidia-eglcore.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-glsi.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-ifr.so ${NV_SOVER} + if use kernel_FreeBSD; then + donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER} + else + donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER} + fi + + # VDPAU + donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER} + + # GLES v2 libraries + insinto ${GL_ROOT} + doexe ${libdir}/libGLESv2.so.${PV} + dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2 + dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so + fi + + # NVIDIA monitoring library + if use kernel_linux ; then + donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER} + fi + + # CUDA & OpenCL + if use kernel_linux; then + donvidia ${libdir}/libcuda.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER} + donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT} + donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER} + fi +} + +pkg_preinst() { + # 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 + + local videogroup="$(egetent group video | cut -d ':' -f 3)" + if [ -n "${videogroup}" ]; then + sed -i -e "s:PACKAGE:${PF}:g" \ + -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf + else + eerror "Failed to determine the video group gid." + die "Failed to determine the video group gid." + fi +} + +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 +} + +pkg_prerm() { + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 +} + +pkg_postrm() { + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 +} diff --git a/x11-drivers/nvidia-userspace/nvidia-userspace-346.35.ebuild b/x11-drivers/nvidia-userspace/nvidia-userspace-346.35.ebuild new file mode 100644 index 00000000..26ebda3b --- /dev/null +++ b/x11-drivers/nvidia-userspace/nvidia-userspace-346.35.ebuild @@ -0,0 +1,353 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \ + portability toolchain-funcs unpacker user udev + +NV_URI="http://us.download.nvidia.com/XFree86/" +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" +X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}" +AMD64_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86_64-${PV}" + +DESCRIPTION="NVIDIA X11 userspace libraries and applications" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI=" + amd64-fbsd? ( ${NV_URI}FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz ) + amd64? ( ${NV_URI}Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run ) + x86-fbsd? ( ${NV_URI}FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz ) + x86? ( ${NV_URI}Linux-x86/${PV}/${X86_NV_PACKAGE}.run ) +" + +LICENSE="GPL-2 NVIDIA-r2" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="acpi multilib x-multilib kernel_FreeBSD kernel_linux tools +X uvm" +RESTRICT="bindist mirror strip" +EMULTILIB_PKG="true" + +COMMON="app-admin/eselect-opencl + kernel_linux? ( >=sys-libs/glibc-2.6.1 ) + x-multilib? ( + || ( + ( + x11-libs/libX11[abi_x86_32] + x11-libs/libXext[abi_x86_32] + ) + app-emulation/emul-linux-x86-xlibs + ) + ) + multilib? ( app-emulation/emul-linux-x86-baselibs ) + X? ( + >=app-admin/eselect-opengl-1.0.9 + )" +DEPEND="${COMMON}" +# Note: do not add !>nvidia-userspace-ver or !<nvidia-userspace-ver +# because it would cause pkg_postrm to set the wrong opengl implementation +RDEPEND="${COMMON} + X? ( x11-libs/libXvMC ) + acpi? ( sys-power/acpid ) + tools? ( media-video/nvidia-settings )" +PDEPEND="X? ( + <x11-base/xorg-server-1.16.99 + >=x11-libs/libvdpau-0.3-r1 + )" + +REQUIRED_USE="tools? ( X )" +QA_PREBUILT="opt/* usr/lib*" +S=${WORKDIR}/ + +pkg_pretend() { + if use amd64 && has_multilib_profile && \ + [ "${DEFAULT_ABI}" != "amd64" ]; then + eerror "This ebuild doesn't currently support changing your default ABI" + die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}" + fi +} + +pkg_setup() { + # try to turn off distcc and ccache for people that have a problem with it + export DISTCC_DISABLE=1 + export CCACHE_DISABLE=1 + + # set variables to where files are in the package structure + if use kernel_FreeBSD; then + use x86-fbsd && S="${WORKDIR}/${X86_FBSD_NV_PACKAGE}" + use amd64-fbsd && S="${WORKDIR}/${AMD64_FBSD_NV_PACKAGE}" + NV_DOC="${S}/doc" + NV_OBJ="${S}/obj" + NV_SRC="${S}/src" + NV_MAN="${S}/x11/man" + NV_X11="${S}/obj" + NV_SOVER=1 + elif use kernel_linux; then + NV_DOC="${S}" + NV_OBJ="${S}" + NV_SRC="${S}/kernel" + NV_MAN="${S}" + NV_X11="${S}" + NV_SOVER=${PV} + else + die "Could not determine proper NVIDIA package" + fi +} + +src_prepare() { + # Please add a brief description for every added patch + + # Allow user patches so they can support RC kernels and whatever else + epatch_user +} + +src_compile() { :; } + +# Install nvidia library: +# the first parameter is the library to install +# the second parameter is the provided soversion +# the third parameter is the target directory if its not /usr/lib +donvidia() { + # Full path to library minus SOVER + MY_LIB="$1" + + # SOVER to use + MY_SOVER="$2" + + # Where to install + MY_DEST="$3" + + if [[ -z "${MY_DEST}" ]]; then + MY_DEST="/usr/$(get_libdir)" + action="dolib.so" + else + exeinto ${MY_DEST} + action="doexe" + fi + + # Get just the library name + libname=$(basename $1) + + # Install the library with the correct SOVER + ${action} ${MY_LIB}.${MY_SOVER} || \ + die "failed to install ${libname}" + + # If SOVER wasn't 1, then we need to create a .1 symlink + if [[ "${MY_SOVER}" != "1" ]]; then + dosym ${libname}.${MY_SOVER} \ + ${MY_DEST}/${libname}.1 || \ + die "failed to create ${libname} symlink" + fi + + # Always create the symlink from the raw lib to the .1 + dosym ${libname}.1 \ + ${MY_DEST}/${libname} || \ + die "failed to create ${libname} symlink" +} + +src_install() { + if use kernel_linux; then + # Add the aliases + # This file is tweaked with the appropriate video group in + # pkg_preinst, see bug #491414 + insinto /etc/modprobe.d + newins "${FILESDIR}"/nvidia-169.07 nvidia.conf + use uvm && doins "${FILESDIR}"/nvidia-uvm.conf + + # Ensures that our device nodes are created when not using X + exeinto "$(get_udevdir)" + doexe "${FILESDIR}"/nvidia-udev.sh + udev_newrules "${FILESDIR}"/nvidia.udev-rule 99-nvidia.rules + elif use kernel_FreeBSD; then + if use x86-fbsd; then + insinto /boot/modules + doins "${S}/src/nvidia.kld" + fi + + exeinto /boot/modules + doexe "${S}/src/nvidia.ko" + fi + + # NVIDIA kernel <-> userspace driver config lib + donvidia ${NV_OBJ}/libnvidia-cfg.so ${NV_SOVER} + + # NVIDIA framebuffer capture library + donvidia ${NV_OBJ}/libnvidia-fbc.so ${NV_SOVER} + + # NVIDIA video encode/decode <-> CUDA + if use kernel_linux; then + donvidia ${NV_OBJ}/libnvcuvid.so ${NV_SOVER} + donvidia ${NV_OBJ}/libnvidia-encode.so ${NV_SOVER} + fi + + if use X; then + # Xorg DDX driver + insinto /usr/$(get_libdir)/xorg/modules/drivers + doins ${NV_X11}/nvidia_drv.so + + # Xorg GLX driver + donvidia ${NV_X11}/libglx.so ${NV_SOVER} \ + /usr/$(get_libdir)/opengl/nvidia/extensions + fi + + # OpenCL ICD for NVIDIA + if use kernel_linux; then + insinto /etc/OpenCL/vendors + doins ${NV_OBJ}/nvidia.icd + fi + + # Documentation + dohtml ${NV_DOC}/html/* + if use kernel_FreeBSD; then + dodoc "${NV_DOC}/README" + use X && doman "${NV_MAN}/nvidia-xconfig.1" + else + # Docs + newdoc "${NV_DOC}/README.txt" README + dodoc "${NV_DOC}/NVIDIA_Changelog" + doman "${NV_MAN}/nvidia-smi.1.gz" + doman "${NV_MAN}/nvidia-cuda-mps-control.1.gz" + use X && doman "${NV_MAN}/nvidia-xconfig.1.gz" + fi + + # Helper Apps + exeinto /opt/bin/ + if use X; then + doexe ${NV_OBJ}/nvidia-xconfig + fi + + if use kernel_linux ; then + doexe ${NV_OBJ}/nvidia-cuda-mps-control + doexe ${NV_OBJ}/nvidia-cuda-mps-server + doexe ${NV_OBJ}/nvidia-debugdump + doexe ${NV_OBJ}/nvidia-persistenced + doexe ${NV_OBJ}/nvidia-smi + + # install nvidia-modprobe setuid and symlink in /usr/bin (bug #505092) + doexe ${NV_OBJ}/nvidia-modprobe + fowners root:video /opt/bin/nvidia-modprobe + fperms 4710 /opt/bin/nvidia-modprobe + dosym /{opt,usr}/bin/nvidia-modprobe + + doman nvidia-cuda-mps-control.1.gz + doman nvidia-modprobe.1.gz + doman nvidia-persistenced.1.gz + newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi + fi + + exeinto /usr/bin/ + doexe ${NV_OBJ}/nvidia-bug-report.sh + + if has_multilib_profile && use multilib ; then + local OABI=${ABI} + for ABI in $(get_install_abis) ; do + src_install-libs + done + ABI=${OABI} + unset OABI + else + src_install-libs + fi + + is_final_abi || die "failed to iterate through all ABIs" + + readme.gentoo_create_doc +} + +src_install-libs() { + local inslibdir=$(get_libdir) + local GL_ROOT="/usr/$(get_libdir)/opengl/nvidia/lib" + local CL_ROOT="/usr/$(get_libdir)/OpenCL/vendors/nvidia" + local libdir=${NV_OBJ} + + if use kernel_linux && has_multilib_profile && \ + [[ ${ABI} == "x86" ]] ; then + libdir=${NV_OBJ}/32 + fi + + if use X; then + # The GLX libraries + donvidia ${libdir}/libEGL.so ${NV_SOVER} ${GL_ROOT} + donvidia ${libdir}/libGL.so ${NV_SOVER} ${GL_ROOT} + donvidia ${libdir}/libGLESv1_CM.so ${NV_SOVER} ${GL_ROOT} + donvidia ${libdir}/libnvidia-eglcore.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-glcore.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-glsi.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-ifr.so ${NV_SOVER} + if use kernel_FreeBSD; then + donvidia ${libdir}/libnvidia-tls.so ${NV_SOVER} + else + donvidia ${libdir}/tls/libnvidia-tls.so ${NV_SOVER} + fi + + # VDPAU + donvidia ${libdir}/libvdpau_nvidia.so ${NV_SOVER} + + # GLES v2 libraries + insinto ${GL_ROOT} + doexe ${libdir}/libGLESv2.so.${PV} + dosym libGLESv2.so.${PV} ${GL_ROOT}/libGLESv2.so.2 + dosym libGLESv2.so.2 ${GL_ROOT}/libGLESv2.so + fi + + # NVIDIA monitoring library + if use kernel_linux ; then + donvidia ${libdir}/libnvidia-ml.so ${NV_SOVER} + fi + + # CUDA & OpenCL + if use kernel_linux; then + donvidia ${libdir}/libcuda.so ${NV_SOVER} + donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER} + donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT} + donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER} + fi +} + +pkg_preinst() { + # 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 + + local videogroup="$(egetent group video | cut -d ':' -f 3)" + if [ -n "${videogroup}" ]; then + sed -i -e "s:PACKAGE:${PF}:g" \ + -e "s:VIDEOGID:${videogroup}:" "${ROOT}"/etc/modprobe.d/nvidia.conf + else + eerror "Failed to determine the video group gid." + die "Failed to determine the video group gid." + fi +} + +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 +} + +pkg_prerm() { + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 +} + +pkg_postrm() { + use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 +} |