summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-video/nvidia-settings/Manifest1
-rw-r--r--media-video/nvidia-settings/nvidia-settings-346.35.ebuild78
-rw-r--r--x11-drivers/nvidia-drivers/Manifest16
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-346.16-pax-constify.patch25
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-346.16-pax-usercopy.patch47
-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.ebuild168
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-346.35.ebuild175
-rw-r--r--x11-drivers/nvidia-userspace/Manifest16
-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.ebuild353
-rw-r--r--x11-drivers/nvidia-userspace/nvidia-userspace-346.35.ebuild353
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
+}