mirror of
https://github.com/pentoo/pentoo-overlay
synced 2025-12-06 00:16:22 +01:00
remove some old forks, fix app-admin app-eselect category move for eselect scripts
This commit is contained in:
parent
5a79979dcd
commit
0a0caae7cb
49 changed files with 28 additions and 3023 deletions
|
|
@ -1,2 +1,2 @@
|
|||
DIST rails-3.2.21.tgz 3568729 SHA256 95dcf2a848a7fd09acbb12c47e6901baeea08645c32c37e2ae04e2650cf01deb SHA512 952c799736dd2a48532a4340d97ffbbbdc2451fc509e7f86ca47c09f5c6a3f4e5cb9b87c3e803692bc8a810bc178513bbe74f3037fdf8f786c30f0c85dd26948 WHIRLPOOL a2c79df0091ea0ca6f3969a91b4d73c14f79cab9d31ec30591a640321487aedafd0318326080ad4d9be0523002eab2c3c5e9e49b2c6b0b5ef6f5dac8da0bfab5
|
||||
EBUILD railties-3.2.21.ebuild 2109 SHA256 0ad8e174eeec543d86c6c43eb5d83aa15d7c649f524c263412d03a79ad789819 SHA512 5bd93ff0206eab6c681ee78412c54307ccb6be7b8ce806475ec4b4cd2db4859a9217b77dc5bc6e61d010bd4044a873027f72597306794f538644da3bc6b00403 WHIRLPOOL 05d84a1d35b117e940e569469602da3dd85aa78ed527d3bf3065d64643733662997bfd69ea00f988eef6ff131dd87f86ff478e2fb7976a83fc8027e492a21c38
|
||||
EBUILD railties-3.2.21.ebuild 2111 SHA256 6a9c3630c17a2a6de4246e2873706fbeaa216d40d5dc5e959be7c4905df97691 SHA512 3d42e020bd58dd317d4e8dd061df4231a468be438a60e89c0e6242b7d170a3cd7b9c29a22553f26ba21ac8cc64b79717e1b5958c03161c0f221181d5f7679ff5 WHIRLPOOL 8b869d522505c3fdf682bcaf5456e72f174fc7642ff20eeeab7f3393d7da137f4805c8a5c08a1a72254737a709661ef2c67875557394235173b9759e9fa13508
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ RUBY_S="rails-${PV}/${PN}"
|
|||
# investigation.
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND+=">=app-admin/eselect-rails-0.18"
|
||||
RDEPEND+=">=app-eselect/eselect-rails-0.18"
|
||||
|
||||
ruby_add_rdepend "
|
||||
~dev-ruby/activesupport-${PV}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
DIST AMD-APP-SDK-v2.9-lnx32.tgz 100284370 SHA256 86c0ebfd6a9037385d83d43237d986614f05ba035f50fd8d45e27c0d3c465646 SHA512 c0490223e5d8880bedf076fc6d7518507d59827caa29507cb0962b3ca4670f2a3a1d083019600ce838385d3116574887739f505cfdc01f5077a00ae584854bd0 WHIRLPOOL e6655eeeb47588d999585249f335571e427528d1a25878d6f16e47d37e1b30db5e1a1e13603f934ee20d76e5a3d16445c348169c3b6b6cbb81e5dfd543a43674
|
||||
DIST AMD-APP-SDK-v2.9-lnx64.tgz 149825628 SHA256 6287d3d0700e563f2086188b1b2143a0e988a12c1dc22709b9a23d28b8ae83bb SHA512 b00d92b9e2ead559aa66120697a1dc15ecbc1c880eed99c2a7ed030f6cccce7434245a94aa6149e2ce2dc287cb9443700d7dbc8b3756c7420c0f54cc008065bb WHIRLPOOL b839c042a73251c0b774d1c2f6b968c166f4b74b4828a4f12709220e2c79783833979140127ec98a19b0883d7bf49d031088aeaeeb150855907f18378d5de0a9
|
||||
EBUILD ati-app-sdk-bin-2.9.ebuild 2684 SHA256 bacebaa3b834c6d71a2eebe529cbf21c7f6eb25cd262d5244bf19a0ea824a336 SHA512 80af4ce1bba23030ca8276cd26d84c65e385be6e9d00205fb969ce623127cd5936641024401823e408d6e71677ad95372920c6819345b7331c658cdc2ddfb3cd WHIRLPOOL e340b8ca25159d81fc11222a4a48a214d77e5288ee8a0fe8df6d5d3f09c3517d059bb8d841d25c966780b5ace9ae8e755f37779b655955a47d9e505aac5e7c3b
|
||||
EBUILD ati-app-sdk-bin-2.9.ebuild 2686 SHA256 54363d966ea5ed10c8ab5d1f5b31f9c8631a5f2fe3047e753cf5eb74ff6bed33 SHA512 e63aeba851c5572fe849df822ae38132cdda0b796c25506fd2f1bb784a236264a05546ff2d227badb28685d9f5967f39ccff7d486e071b8a35962b911dd4fefc WHIRLPOOL 24494a722a6aa32363bf964d4060e8a7f3dba367ab92b916bc01598eb7886ced7952277a26beed0890cdca4771ea225bc11f3d31e9a7b0eeac9c2ada44229d42
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ IUSE="examples"
|
|||
|
||||
#check if those deps are valid, especially llvm
|
||||
RDEPEND="
|
||||
app-admin/eselect-opencl
|
||||
app-eselect/eselect-opencl
|
||||
x11-libs/libXext
|
||||
x11-libs/libX11
|
||||
examples? (
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
AUX gcc-4.3-atistream.patch 30743 RMD160 467fb93385172685ff054f721f1863ce398e6167 SHA1 fe8a12cb2af2287359c5b6ce458e8c1dfb33c253 SHA256 612c742447e4281972bd111312e29a36592da6b5316a3c72b5f5b2cd74576882
|
||||
DIST ati-stream-sdk-v2.01-lnx64.tgz 62171129 RMD160 19e763d5aa0fe4795905c18c38aa0289d7215828 SHA1 1c34782307687c17e2f221185bd1dea3e93a9812 SHA256 588d2621ff9aae5a3a72a5c5f97c81b792c5969c56b3c9176722dc6a0a56baf2
|
||||
DIST ati-stream-sdk-v2.2-lnx64.tgz 73427109 RMD160 e7e4d094241e47a68f559877d0263f65b0fc1901 SHA1 e0e4edaf280922936d1f2a0938a28a209ed0c4c9 SHA256 50e77acdb4aa7c8b0e97c49d6806b47ee3d33e22c32f4f432c26de74aeb84b18
|
||||
DIST ati-stream-sdk-v2.3-lnx64.tgz 78659015 RMD160 57af36f62e590ae54cb9d43b880735979b77466c SHA1 43c94e5126563fe3fa4cb92fb6dd20f12864a86d SHA256 f92537d1fc306af0bff1441af4669bf2fa668654b12d9fb53a3a872dc8826cad
|
||||
EBUILD ati-stream-sdk-bin-2.01.ebuild 1642 RMD160 3428d75548cccc24eb8d694f7ecc297764e6a300 SHA1 bb89a3f4dfe7e5335c1b31dce739417bc53a0570 SHA256 c9a1191c9a6b1eb410a170d5dba060b48e1e72b14e8e43732f80612c6df5e9e0
|
||||
EBUILD ati-stream-sdk-bin-2.2.ebuild 2020 RMD160 58b997eaceeae3fa1aad45343f0a6a6efb2f7edc SHA1 754416e3084febfef7eea6fa912ac7756f7ee1e0 SHA256 46ebf1dd20c0f415b173a8693c707b2bd3cbb583703af65d1a51e04df66d9878
|
||||
EBUILD ati-stream-sdk-bin-2.3.ebuild 1816 RMD160 095175ce2e4176d6671199c38176d3f5283a19a4 SHA1 a3d5664a8aba850c047a6b5f1a9525544e8ded85 SHA256 9b80d1d66fea87631101e101ac1b83a86c9a7efe637e8a5d25d8a9da0c1d70c6
|
||||
AUX gcc-4.3-atistream.patch 30743 SHA256 612c742447e4281972bd111312e29a36592da6b5316a3c72b5f5b2cd74576882 SHA512 691301d0ec48496f564ac8b81a0906b0c0d4911d4351350607827f5294659be7fd8c2bd5823327effb1dbad27f819b5e3843bc967e9d177aa75a49f18ae40e36 WHIRLPOOL f40d5d398f62dcb8d753a37db8a274f819247f2a5cb203548bc0ef8581097906d44a008196bb87a775c9d46721f0c3a020afb5962492e2efc95345a210317eba
|
||||
DIST ati-stream-sdk-v2.01-lnx64.tgz 62171129 SHA256 588d2621ff9aae5a3a72a5c5f97c81b792c5969c56b3c9176722dc6a0a56baf2
|
||||
DIST ati-stream-sdk-v2.2-lnx64.tgz 73427109 SHA256 50e77acdb4aa7c8b0e97c49d6806b47ee3d33e22c32f4f432c26de74aeb84b18
|
||||
DIST ati-stream-sdk-v2.3-lnx64.tgz 78659015 SHA256 f92537d1fc306af0bff1441af4669bf2fa668654b12d9fb53a3a872dc8826cad SHA512 eed70230ddbfc4da38998965806d69a279e05e84bee5103510f664eecbdb8d49e2326e5c2361fd593340131f05258e2ec765be10b8c82c31826709f982f3c7ec WHIRLPOOL 778bd29d1e64d56cd0bdb5c98cd811df29d90c055f3177bc3b03900fc7544e8dda2a10fd444ef41d3b91d0fc563eeba7a4629ac1d0898c52bf174b610af80fd9
|
||||
EBUILD ati-stream-sdk-bin-2.01.ebuild 1642 SHA256 c9a1191c9a6b1eb410a170d5dba060b48e1e72b14e8e43732f80612c6df5e9e0 SHA512 ed8fb2be922a03a4670d93d4a207fdcdb32fd88a507fa6278089575c6858d6e8438b74905fc29dac2d66ea5fa8a53739c8354b7632e8b5a2219d80c70e8ed8b3 WHIRLPOOL a349477e6448bf634547bee8f6af2707fc352389b1adb02356bb3739c15817f15e67e92298ab644daad99b1b11bf0460c448a96dfa691a310d429bfa3b96479d
|
||||
EBUILD ati-stream-sdk-bin-2.2.ebuild 2022 SHA256 df42aa7b0b89830c85401c383b509cf5222670970aadaf3a4e68dc4233b84bf3 SHA512 b31b9882dc3d408cb722743603e61ae385eaef6b795245dc90e6c56b84ac6fb9e76a3b7393b8cc0e7b7b0cd12c105274fcb1b69565816a67a1371ed118802c3b WHIRLPOOL 10cfeaf7d0695895fb37aefc6ed69b22d7d4029ae2f056b7234bef2ceb4436b2b44fa4ce041e7318a08e2ba697593bd6cf90f56e58c05c50ad59e8ce164e41f2
|
||||
EBUILD ati-stream-sdk-bin-2.3.ebuild 1818 SHA256 2a78afae672e70120e5362ed99a883608e1ddca408ab62d6f0b61f6ecc6b198e SHA512 6a87805f976936c4b172734a0675074970a274c2dd87daa8a8893096d0ebc176ad85eb6847ab8a56faf1cdf4a5186ca89daa9d30e4fce4d851283a4e850ee369 WHIRLPOOL c7c5cf88e9449f9e17c71d63373a6c003d2198e9c820280b7b60e10bd771a053a8171d41b50060b4851d6f54fdb61470f2cabdd421c9570bca1be744e2b336d7
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ KEYWORDS="amd64 x86"
|
|||
IUSE="livecd examples doc"
|
||||
RESTRICT="strip"
|
||||
RDEPEND="!livecd? ( >=x11-drivers/ati-drivers-10.1 )
|
||||
app-admin/eselect-opencl
|
||||
app-eselect/eselect-opencl
|
||||
examples? ( media-libs/glew )"
|
||||
# !x11-drivers/nvidia-drivers"
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ KEYWORDS="amd64 x86"
|
|||
IUSE="livecd examples doc"
|
||||
RESTRICT="strip"
|
||||
RDEPEND="!livecd? ( >=x11-drivers/ati-drivers-10.11 )
|
||||
app-admin/eselect-opencl
|
||||
app-eselect/eselect-opencl
|
||||
examples? ( media-libs/glew )"
|
||||
|
||||
QA_EXECSTACK="
|
||||
|
|
|
|||
|
|
@ -12,5 +12,5 @@ AUX msfrpcd-4.4-initd 638 SHA256 4e3f18ab619a0067c7ac9a9f13d6824496cb36adf20c216
|
|||
AUX msfweb.confd 273 SHA256 006040ecd27dc0279c2bea6d69365fe1f0d66f507c039ae43720662abe9f4460 SHA512 58481d69f99bec1644188ecb5f67249c3c85c12ae65d46643c3daf42b5221f8d1b025ea318ed6d11557cbc16e50acc5eaabb99162d538518265755ebcdb042ab WHIRLPOOL 1cbb5a5ff20eb90f7db6f5523bf8834cfd5aa2c98e378408e418f388993af661273257112db2ebcd950bfa9243e9f19ba4a5262fd2bccc7cc6276658f86115bb
|
||||
AUX msfweb.initd 533 SHA256 4fd9668e4b467ecfa5160e2c108ac8ace71fbeaefaf829d2f7bfb566d44bb13c SHA512 ec8eb9c09191d273417174c23d2fb1a3d27939a74b010fa33ca696bcce88e9c81d6cc1e6ebff90ea97cb6d730776364de4560db1bed10516ba4a7030e7233a53 WHIRLPOOL dec6ca3cf45ac4e6cea35266df1342b4dcdb3f813dc90820603f23e9d62ee67a9633de17d747cc12d7cb9c982e8868559896c2f8c42540a5005f485045d9730a
|
||||
DIST metasploit-4.11.0.tar.gz 36105268 SHA256 54817f7ed648818492f866db821dce7177adab8d1163e1d59e76695362720c55 SHA512 9462c2727a26fdfa5e626bb8bbf49229df7c736303d887c15f4dc6870d731fe4e6431a1bc2855b5f42f2f8bee5283d8559169bd2b7e8f18b86c0ff4d07f31889 WHIRLPOOL e978d6dad2a696b3b0ecd0943251493f1209d4d1d7fc23e07941bd5929cab579152c454f2afa1a7eef3c595254a68045e17c0ae3756cf2f91d3ccf5eec0169d5
|
||||
EBUILD metasploit-4.11.0-r2.ebuild 11160 SHA256 d2eb3c128fdbbb28de1d235c7ff840029354859b5515a4bcfef1df6f972d150e SHA512 9e2b1fdb9d8033c96a3640bd87099f206cc3d3180d5e4920a7fde10640906ea9ef303d6b0f549502ce20f94be698e43ce88c73860efbc624aa28aa4824f9219d WHIRLPOOL d60a1b83d3441a5394e18b2c4ab4097e7569f7bb6a0b01791a238fe34bf608658132f90ab835cee73b078c12a0c50bcc79be5b8c63017e570fc8a8227495d2b5
|
||||
EBUILD metasploit-9999.ebuild 11104 SHA256 60f94dbd03be7b23b4cc02bd819181a054e4a3c77decf6046a09ae8c265b1eb0 SHA512 d4b2af62e56d5e23122c6a5516089b6538d2f7c9b10db2c69b54b250f18c8d40588337f595caa074778ab4c56529571d17f920d5e0b162ac52ec35599c11d913 WHIRLPOOL 2ce9cc3b4db45e9c1293bfade717b31452d251f9a8f66d57a3f894b2df2379732ffc5e4ee9d43b564c9b74060f027df4680368bc60b2049d266e27f70a201bd7
|
||||
EBUILD metasploit-4.11.0-r2.ebuild 11162 SHA256 a4204dbf24cfba2b498ea1f3ba515a41cf52c2495048668aa7a3e13e6d745c56 SHA512 9f4efe9b99977df2363d78e06bf97c25a1fb4ddf7f26e26d1276bba60a37f48cc8f7ac08ec6f6dc70f56021219be90982de68d848ff689bb99d60ff194d2e5b6 WHIRLPOOL df4a91e4c1af9db6ade13d6a46537597feb29d15250d810686c451ce1c71258d0f73d207cfa85b66644627be542355faffe2e1573dfde7f8225aa11604b361a7
|
||||
EBUILD metasploit-9999.ebuild 11106 SHA256 9eb4ad70fa986120d90364e00e0fc4d4e3c4d7332b2a255efcae858429f9e6eb SHA512 8137554fd5ada7605aaa5f81147b8b7450061475dc95ca1ce8240874690fab2951079369b359dbfd8cdc1f28b27b016dec5f16d0250f2af0e6c4d4a4e7f97fee WHIRLPOOL df04fe568a046cd3809b15292600f8dc7226af6b61dca2203ceed2103b14c1352253f0dd12cf11a008649b25696f2cc9db7044279b309ad80d51b763e720cd62
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ COMMON_DEPEND="dev-db/postgresql[server]
|
|||
>=app-crypt/johntheripper-1.7.9-r1[-minimal]
|
||||
net-analyzer/nmap"
|
||||
RDEPEND+=" ${COMMON_DEPEND}
|
||||
>=app-admin/eselect-metasploit-0.14"
|
||||
>=app-eselect/eselect-metasploit-0.14"
|
||||
|
||||
RESTRICT="strip"
|
||||
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ COMMON_DEPEND="dev-db/postgresql[server]
|
|||
>=app-crypt/johntheripper-1.7.9-r1[-minimal]
|
||||
net-analyzer/nmap"
|
||||
RDEPEND+=" ${COMMON_DEPEND}
|
||||
>=app-admin/eselect-metasploit-0.16"
|
||||
>=app-eselect/eselect-metasploit-0.16"
|
||||
|
||||
RESTRICT="strip"
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ KEYWORDS="amd64 arm x86"
|
|||
IUSE="nu"
|
||||
|
||||
PDEPEND="
|
||||
app-admin/eselect-sh
|
||||
app-eselect/eselect-sh
|
||||
app-arch/pixz
|
||||
app-shells/zsh
|
||||
app-shells/gentoo-zsh-completions
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ dev-java/icedtea-sound **
|
|||
dev-java/icedtea-web **
|
||||
dev-ruby/rubyntlm ~amd64
|
||||
dev-ruby/rubyzip ~amd64
|
||||
app-admin/eselect-rails ~arm
|
||||
app-eselect/eselect-rails ~arm
|
||||
dev-ruby/arel-helpers ~amd64
|
||||
dev-python/DartsPyLRU ~amd64
|
||||
dev-ruby/metasploit-credential ~amd64
|
||||
|
|
|
|||
|
|
@ -8,6 +8,6 @@ dev-java/java-config amd64
|
|||
|
||||
=media-libs/lcms-2.5-r1 ~arm
|
||||
|
||||
app-admin/eselect-java amd64
|
||||
app-eselect/eselect-java amd64
|
||||
|
||||
dev-java/swt amd64
|
||||
|
|
|
|||
|
|
@ -1,8 +1,2 @@
|
|||
app-admin/genmenu **
|
||||
|
||||
app-admin/eselect-metasploit
|
||||
|
||||
~app-admin/paxtest-0.9.9
|
||||
|
||||
#required by dev-java/icedtea-web-1.4.1
|
||||
#app-admin/eselect-java
|
||||
|
|
|
|||
1
profiles/pentoo/base/package.accept_keywords/app-eselect
Normal file
1
profiles/pentoo/base/package.accept_keywords/app-eselect
Normal file
|
|
@ -0,0 +1 @@
|
|||
app-eselect/eselect-metasploit
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
#GENTOO_MIRRORS="http://192.168.1.251/portage/distfiles/ http://gentoo.osuosl.org/ ftp://mirrors.rit.edu/gentoo/ http://mirror.datapipe.net/gentoo ftp://gentoo.mirrors.pair.com/ http://91.121.125.139/gentoo-distfiles/ ftp://gentoo.mirrors.tds.net/gentoo"
|
||||
|
||||
ACCEPT_LICENSE="AdobeFlash-11.x NVIDIA-CUDA google-chrome Google-TOS PUEL"
|
||||
ACCEPT_LICENSE="AdobeFlash-11.x NVIDIA-CUDA google-chrome Google-TOS PUEL baudline"
|
||||
|
||||
PORTAGE_GPG_DIR="/home/zero/.gnupg/"
|
||||
PORTAGE_GPG_KEY="DD11F94A"
|
||||
|
|
|
|||
1
profiles/pentoo/zero-system/package.use/app-misc
Normal file
1
profiles/pentoo/zero-system/package.use/app-misc
Normal file
|
|
@ -0,0 +1 @@
|
|||
app-misc/geoclue geonames networkmanager
|
||||
1
profiles/pentoo/zero-system/package.use/x11-misc
Normal file
1
profiles/pentoo/zero-system/package.use/x11-misc
Normal file
|
|
@ -0,0 +1 @@
|
|||
x11-misc/redshift geoclue
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
AUX README.RESCUE 137 SHA256 69bea0c755eab59b6b4d90838b8551744f0b0c8eeac170b1cd13a71ee83f9ac4 SHA512 dba0f0d6d4cd140e636cc70dfb7bdb298e2f2fb040bc07b0874cac994bdbabd26bfd9361d85a0f8b9a92a185281e4901606b9e4f563afdc8867341bbe6af1cb0 WHIRLPOOL 713fcc790442999d56e13efaf536fec9954dadeda680b3642d0358311332096ddedf8b55697bd1ca620d84f0dc7d025ff7931e086c74c1f5032be72dca2ff8f5
|
||||
AUX xattr-install.patch 1795 SHA256 c9154cf81415c4c533585e3ebe0475581cf58a402ae8e22d6acb09b971cd848b SHA512 11baadb426d641be25b1355d3ef283ec26e352a7873b49e98b84164bb155050731095ba85333a0dc0e44e48c7fe2dc4b6a6d1b15a77ea3eec4410aee6a923669 WHIRLPOOL d399a3cce7fabea17c704eaed982e7ec194e455636fc4df1d64401ea723e358883b899242c5cd3c95c884afbdf41de843888075abda90c3d79a81dd03459db10
|
||||
DIST portage-2.2.10.tar.bz2 878039 SHA256 f463a98062f09f41da680ba7d20621b3076de86844a04340725df7d734965fa2 SHA512 4f563a67388b2593f08833281f6da004dd6af3a7e697b89d735ab24b8b9f43e1d1e66202f8607710dcde6423672d6f97c7ad32c7f983f8491a05543e453fedae WHIRLPOOL 0f2fd79ba4117c1cf328c9e08ac35990869b0518ee8eba10453b6c957a351159de4f3c0b7e7242f8b89c2504d4403e7ed36c8c2da010fa2ec75e3f9e67858069
|
||||
DIST portage-2.2.11.tar.bz2 879223 SHA256 78a9184623cb0f3bd9b1fb1eba0eca13104ed76d877e0ba3fb2d9621be16720b SHA512 c8d86441408ee74c72b62c57c5319b882df9a6f7249cd24f3bcfa21fad1d3f93e6bacd6b2d13a229416872aba642a2a6a10df4a940d5b51a51ca4cf7daa01b13 WHIRLPOOL ec73b72a3578d6b1b326550c4d66b3d3147b7f8d46c64b0640a411a74d2241d97b1b956b19a42d0a973d79bfc7d5d6629df8aa53a55415e37b9da595bc7866db
|
||||
EBUILD portage-2.2.10.ebuild 19492 SHA256 6f837f5722856c66a5336f8082f874994f858947f5f3380e19b6061b72a33388 SHA512 6dbaf6215c256ac59c24cf71cca62df706830e9a9d1aa4d0df92ffa75f8031c21ffaf36886be30e0f2fcf08dc7e34c1e22f44b0cb7aa5d274ae6059d444b0000 WHIRLPOOL 452c73833add7a0b6a3bb5d33a6fa4e00815385e035b854828280557c0b2c1be9ddbf5dce949e9408df338f9fefee893694419a031fbfba25172e82a7caee7f1
|
||||
EBUILD portage-2.2.11.ebuild 19299 SHA256 9c117c6ea2ed13a2e9e423bffd5966f35e82be52affc6530580a11725a6479a8 SHA512 524cc0881de60d0820bb021a24d633f16e8e454c7ed605bbfa0d57a2cc7420e605d0d1c12e9748ab797c6a558b6c21fbbcccec3368acc42bde054874364739f0 WHIRLPOOL d56ece997c3cf30700447523e5c26b2f88e268486052e99bf60f3bbd5b66f9e26719cba7e8898d9f41d5b8b0edfebdf9aa0deeb1b29b702bb52d8204aa1531af
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Please see http://www.gentoo.org/proj/en/portage/doc/manually-fixing-portage.xml
|
||||
for a recovery guide for a broken portage installation.
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
X-Git-Url: https://git.overlays.gentoo.org/gitweb/?p=proj%2Fportage.git;a=blobdiff_plain;f=bin%2Febuild-helpers%2Fxattr%2Finstall;h=d572fe6ef6592fd971121ea94b26618b3d5dbfb8;hp=f51f621bc738d8cb4c7be6f626fefac975649bc4;hb=9089c2d755b0ecb1b340fc23dda461163f589c43;hpb=2f92c6d798f8f6133ed48fe4d0d62baff36dcb97
|
||||
|
||||
diff --git a/bin/ebuild-helpers/xattr/install b/bin/ebuild-helpers/xattr/install
|
||||
index f51f621..d572fe6 100755
|
||||
--- a/bin/ebuild-helpers/xattr/install
|
||||
+++ b/bin/ebuild-helpers/xattr/install
|
||||
@@ -4,9 +4,32 @@
|
||||
|
||||
PORTAGE_BIN_PATH=${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}
|
||||
PORTAGE_PYM_PATH=${PORTAGE_PYM_PATH:-/usr/lib/portage/pym}
|
||||
+INSTALL_XATTR=${EPREFIX}/usr/bin/install-xattr
|
||||
# Use safe cwd, avoiding unsafe import for bug #469338.
|
||||
export __PORTAGE_HELPER_CWD=${PWD}
|
||||
cd "${PORTAGE_PYM_PATH}"
|
||||
export __PORTAGE_HELPER_PATH=${BASH_SOURCE[0]}
|
||||
-PYTHONPATH=${PORTAGE_PYTHONPATH:-${PORTAGE_PYM_PATH}} \
|
||||
- exec "${PORTAGE_PYTHON:-/usr/bin/python}" "${PORTAGE_BIN_PATH}/install.py" "$@"
|
||||
+
|
||||
+if [[ ${PORTAGE_INSTALL_XATTR_IMPLEMENTATION} == "c" ]]; then
|
||||
+ implementation="c"
|
||||
+elif [[ ${PORTAGE_INSTALL_XATTR_IMPLEMENTATION} == "python" ]]; then
|
||||
+ implementation="python"
|
||||
+else
|
||||
+ # If PORTAGE_INSTALL_XATTR_IMPLEMENTATION is unset or not set to "c" or "python"
|
||||
+ # then we'll autodetect, preferring "c" but falling back on "python"
|
||||
+ if [[ -x "${INSTALL_XATTR}" ]]; then
|
||||
+ implementation="c"
|
||||
+ else
|
||||
+ implementation="python"
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+if [[ "${implementation}" == "c" ]]; then
|
||||
+ exec "${INSTALL_XATTR}" "$@"
|
||||
+elif [[ "${implementation}" == "python" ]]; then
|
||||
+ PYTHONPATH=${PORTAGE_PYTHONPATH:-${PORTAGE_PYM_PATH}} \
|
||||
+ exec "${PORTAGE_PYTHON:-/usr/bin/python}" "${PORTAGE_BIN_PATH}/install.py" "$@"
|
||||
+else
|
||||
+ echo "Unknown implementation for PORTAGE_INSTALL_XATTR_IMPLEMENTATION"
|
||||
+ exit -1
|
||||
+fi
|
||||
|
|
@ -1,581 +0,0 @@
|
|||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.2.10.ebuild,v 1.2 2014/04/06 17:00:03 mgorny Exp $
|
||||
|
||||
# Require EAPI 2 since we now require at least python-2.6 (for python 3
|
||||
# syntax support) which also requires EAPI 2.
|
||||
EAPI=2
|
||||
PYTHON_COMPAT=(
|
||||
pypy pypy2_0
|
||||
python3_2 python3_3 python3_4
|
||||
python2_6 python2_7
|
||||
)
|
||||
inherit eutils multilib
|
||||
|
||||
DESCRIPTION="Portage is the package management and distribution system for Gentoo"
|
||||
HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml"
|
||||
LICENSE="GPL-2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
|
||||
SLOT="0"
|
||||
IUSE="build doc epydoc +ipc linguas_ru pentoo pypy python2 python3 selinux xattr"
|
||||
|
||||
for _pyimpl in ${PYTHON_COMPAT[@]} ; do
|
||||
IUSE+=" python_targets_${_pyimpl}"
|
||||
done
|
||||
unset _pyimpl
|
||||
|
||||
# Import of the io module in python-2.6 raises ImportError for the
|
||||
# thread module if threading is disabled.
|
||||
python_dep_ssl="python3? ( =dev-lang/python-3*[ssl] )
|
||||
!pypy? ( !python2? ( !python3? (
|
||||
|| ( >=dev-lang/python-2.7[ssl] dev-lang/python:2.6[threads,ssl] )
|
||||
) ) )
|
||||
pypy? ( !python2? ( !python3? ( virtual/pypy:0[bzip2] ) ) )
|
||||
python2? ( !python3? ( || ( dev-lang/python:2.7[ssl] dev-lang/python:2.6[ssl,threads] ) ) )"
|
||||
python_dep="${python_dep_ssl//\[ssl\]}"
|
||||
python_dep="${python_dep//,ssl}"
|
||||
python_dep="${python_dep//ssl,}"
|
||||
|
||||
python_dep="${python_dep}
|
||||
python_targets_pypy? ( virtual/pypy:0 )
|
||||
python_targets_pypy2_0? ( virtual/pypy:2.0 )
|
||||
python_targets_python2_6? ( dev-lang/python:2.6 )
|
||||
python_targets_python2_7? ( dev-lang/python:2.7 )
|
||||
python_targets_python3_2? ( dev-lang/python:3.2 )
|
||||
python_targets_python3_3? ( dev-lang/python:3.3 )
|
||||
python_targets_python3_4? ( dev-lang/python:3.4 )
|
||||
"
|
||||
|
||||
# The pysqlite blocker is for bug #282760.
|
||||
# make-3.82 is for bug #455858
|
||||
DEPEND="${python_dep}
|
||||
>=sys-devel/make-3.82
|
||||
>=sys-apps/sed-4.0.5 sys-devel/patch
|
||||
>=sys-apps/install-xattr-0.3
|
||||
doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
|
||||
epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )"
|
||||
# Require sandbox-2.2 for bug #288863.
|
||||
# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
|
||||
# quite slow, so it's not considered in the dependencies as an alternative to
|
||||
# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
|
||||
# for now, don't pull in xattr deps for other kernels.
|
||||
# For whirlpool hash, require python[ssl] or python-mhash (bug #425046).
|
||||
# For compgen, require bash[readline] (bug #445576).
|
||||
RDEPEND="${python_dep}
|
||||
!build? ( >=sys-apps/sed-4.0.5
|
||||
|| ( >=app-shells/bash-4.2_p37[readline] ( <app-shells/bash-4.2_p37 >=app-shells/bash-3.2_p17 ) )
|
||||
>=app-admin/eselect-1.2
|
||||
|| ( ${python_dep_ssl} dev-python/python-mhash )
|
||||
)
|
||||
elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
|
||||
elibc_glibc? ( >=sys-apps/sandbox-2.2 )
|
||||
elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
|
||||
>=app-misc/pax-utils-0.1.17
|
||||
selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] <sys-libs/libselinux-2.0.94 ) )
|
||||
xattr? ( kernel_linux? (
|
||||
$(for python_impl in python{2_6,2_7,3_2} pypy pypy2_0; do
|
||||
echo "python_targets_${python_impl}? ( dev-python/pyxattr[python_targets_${python_impl}] )"
|
||||
done) ) )
|
||||
!<app-shells/bash-3.2_p17
|
||||
!<app-admin/logrotate-3.8.0"
|
||||
PDEPEND="
|
||||
!build? (
|
||||
>=net-misc/rsync-2.6.4
|
||||
userland_GNU? ( >=sys-apps/coreutils-6.4 )
|
||||
)"
|
||||
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
|
||||
# NOTE: FEATURES=installsources requires debugedit and rsync
|
||||
|
||||
SRC_ARCHIVES="http://dev.gentoo.org/~dolsen/releases/portage"
|
||||
|
||||
prefix_src_archives() {
|
||||
local x y
|
||||
for x in ${@}; do
|
||||
for y in ${SRC_ARCHIVES}; do
|
||||
echo ${y}/${x}
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
PV_PL="2.1.2"
|
||||
PATCHVER_PL=""
|
||||
TARBALL_PV=${PV}
|
||||
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
|
||||
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
|
||||
|
||||
PATCHVER=
|
||||
[[ $TARBALL_PV = $PV ]] || PATCHVER=$PV
|
||||
if [ -n "${PATCHVER}" ]; then
|
||||
SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
|
||||
$(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}"/${PN}-${TARBALL_PV}
|
||||
S_PL="${WORKDIR}"/${PN}-${PV_PL}
|
||||
|
||||
compatible_python_is_selected() {
|
||||
[[ $("${EPREFIX}/usr/bin/python" -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x2060000 and "good" or "bad")') = good ]]
|
||||
}
|
||||
|
||||
current_python_has_xattr() {
|
||||
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
|
||||
local PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
[[ $("${PYTHON}" -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x3030000 and "yes" or "no")') = yes ]] || \
|
||||
"${PYTHON}" -c 'import xattr' 2>/dev/null
|
||||
}
|
||||
|
||||
call_with_python_impl() {
|
||||
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
|
||||
env EPYTHON=${EPYTHON} "$@"
|
||||
}
|
||||
|
||||
get_python_interpreter() {
|
||||
[ $# -eq 1 ] || die "expected 1 argument, got $#: $*"
|
||||
local impl=$1 python
|
||||
case "${impl}" in
|
||||
python*)
|
||||
python=${impl/_/.}
|
||||
;;
|
||||
pypy)
|
||||
python=${impl}
|
||||
;;
|
||||
pypy*)
|
||||
python=${impl/_/.}
|
||||
python=${python/pypy/pypy-c}
|
||||
;;
|
||||
*)
|
||||
die "Unrecognized python target: ${impl}"
|
||||
esac
|
||||
echo ${python}
|
||||
}
|
||||
|
||||
get_python_sitedir() {
|
||||
[ $# -eq 1 ] || die "expected 1 argument, got $#: $*"
|
||||
local impl=$1
|
||||
local site_dir=usr/$(get_libdir)/${impl/_/.}/site-packages
|
||||
[[ -d ${EROOT:-${ROOT}}${site_dir} ]] || \
|
||||
ewarn "site-packages dir missing for ${impl}: ${EROOT:-${ROOT}}${site_dir}"
|
||||
echo "/${site_dir}"
|
||||
}
|
||||
|
||||
python_compileall() {
|
||||
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
|
||||
local d=${EPREFIX}$1 PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
local d_image=${D}${d#/}
|
||||
[[ -d ${d_image} ]] || die "directory does not exist: ${d_image}"
|
||||
case "${EPYTHON}" in
|
||||
python*)
|
||||
"${PYTHON}" -m compileall -q -f -d "${d}" "${d_image}" || die
|
||||
# Note: Using -OO breaks emaint, since it requires __doc__,
|
||||
# and __doc__ is None when -OO is used.
|
||||
"${PYTHON}" -O -m compileall -q -f -d "${d}" "${d_image}" || die
|
||||
;;
|
||||
pypy*)
|
||||
"${PYTHON}" -m compileall -q -f -d "${d}" "${d_image}" || die
|
||||
;;
|
||||
*)
|
||||
die "Unrecognized EPYTHON value: ${EPYTHON}"
|
||||
esac
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if use python2 && use python3 ; then
|
||||
ewarn "Both python2 and python3 USE flags are enabled, but only one"
|
||||
ewarn "can be in the shebangs. Using python3."
|
||||
fi
|
||||
if use pypy && use python3 ; then
|
||||
ewarn "Both pypy and python3 USE flags are enabled, but only one"
|
||||
ewarn "can be in the shebangs. Using python3."
|
||||
fi
|
||||
if use pypy && use python2 ; then
|
||||
ewarn "Both pypy and python2 USE flags are enabled, but only one"
|
||||
ewarn "can be in the shebangs. Using python2"
|
||||
fi
|
||||
if ! use pypy && ! use python2 && ! use python3 && \
|
||||
! compatible_python_is_selected ; then
|
||||
ewarn "Attempting to select a compatible default python interpreter"
|
||||
local x success=0
|
||||
for x in "${EPREFIX}"/usr/bin/python2.* ; do
|
||||
x=${x#${EPREFIX}/usr/bin/python2.}
|
||||
if [[ $x -ge 6 ]] 2>/dev/null ; then
|
||||
eselect python set python2.$x
|
||||
if compatible_python_is_selected ; then
|
||||
elog "Default python interpreter is now set to python-2.$x"
|
||||
success=1
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [ $success != 1 ] ; then
|
||||
eerror "Unable to select a compatible default python interpreter!"
|
||||
die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)."
|
||||
fi
|
||||
fi
|
||||
|
||||
# We use EPYTHON to designate the active python interpreter,
|
||||
# but we only export when needed, via call_with_python_impl.
|
||||
EPYTHON=python
|
||||
export -n EPYTHON
|
||||
if use python3; then
|
||||
EPYTHON=python3
|
||||
elif use python2; then
|
||||
EPYTHON=python2
|
||||
elif use pypy; then
|
||||
EPYTHON=pypy
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
use pentoo && epatch "${FILESDIR}"/xattr-install.patch
|
||||
if [ -n "${PATCHVER}" ] ; then
|
||||
if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then
|
||||
rm "$S/bin/ebuild-helpers/portageq" \
|
||||
|| die "failed to remove portageq helper symlink"
|
||||
fi
|
||||
epatch "${WORKDIR}/${PN}-${PATCHVER}.patch"
|
||||
fi
|
||||
einfo "Setting portage.VERSION to ${PVR} ..."
|
||||
sed -e "s/^VERSION = .*/VERSION = \"${PVR}\"/" -i pym/portage/__init__.py || \
|
||||
die "Failed to patch portage.VERSION"
|
||||
sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \
|
||||
die "Failed to patch VERSION in doc/fragment/version"
|
||||
sed -e "1s/VERSION/${PVR}/" -i $(find man -type f) || \
|
||||
die "Failed to patch VERSION in man page headers"
|
||||
|
||||
if ! use ipc ; then
|
||||
einfo "Disabling ipc..."
|
||||
sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
|
||||
-i pym/_emerge/AbstractEbuildProcess.py || \
|
||||
die "failed to patch AbstractEbuildProcess.py"
|
||||
fi
|
||||
|
||||
if use xattr && use kernel_linux ; then
|
||||
einfo "Adding FEATURES=xattr to make.globals ..."
|
||||
echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
|
||||
|| die "failed to append to make.globals"
|
||||
fi
|
||||
|
||||
local set_shebang=
|
||||
if use python3; then
|
||||
set_shebang=python3
|
||||
elif use python2; then
|
||||
set_shebang=python2
|
||||
elif use pypy; then
|
||||
set_shebang=pypy
|
||||
fi
|
||||
if [[ -n ${set_shebang} ]] ; then
|
||||
einfo "Converting shebangs for ${set_shebang}..."
|
||||
while read -r -d $'\0' ; do
|
||||
local shebang=$(head -n1 "$REPLY")
|
||||
if [[ ${shebang} == "#!/usr/bin/python"* ]] ; then
|
||||
sed -i -e "1s:python:${set_shebang}:" "$REPLY" || \
|
||||
die "sed failed"
|
||||
fi
|
||||
done < <(find . -type f -print0)
|
||||
fi
|
||||
|
||||
if [[ -n ${EPREFIX} ]] ; then
|
||||
einfo "Setting portage.const.EPREFIX ..."
|
||||
sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
|
||||
-i pym/portage/const.py || \
|
||||
die "Failed to patch portage.const.EPREFIX"
|
||||
|
||||
einfo "Prefixing shebangs ..."
|
||||
while read -r -d $'\0' ; do
|
||||
local shebang=$(head -n1 "$REPLY")
|
||||
if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
|
||||
sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
|
||||
die "sed failed"
|
||||
fi
|
||||
done < <(find . -type f -print0)
|
||||
|
||||
einfo "Adjusting make.globals ..."
|
||||
sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
|
||||
-e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
|
||||
-i cnf/make.globals || die "sed failed"
|
||||
|
||||
einfo "Adjusting repos.conf ..."
|
||||
sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
|
||||
-e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
|
||||
-e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(sync-uri = \).*|\\1rsync://prefix.gentooexperimental.org/gentoo-portage-prefix|" \
|
||||
-i cnf/repos.conf || die "sed failed"
|
||||
|
||||
einfo "Adding FEATURES=force-prefix to make.globals ..."
|
||||
echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
|
||||
|| die "failed to append to make.globals"
|
||||
fi
|
||||
|
||||
cd "${S}/cnf" || die
|
||||
if [ -f "make.conf.example.${ARCH}".diff ]; then
|
||||
patch make.conf.example "make.conf.example.${ARCH}".diff || \
|
||||
die "Failed to patch make.conf.example"
|
||||
else
|
||||
eerror ""
|
||||
eerror "Portage does not have an arch-specific configuration for this arch."
|
||||
eerror "Please notify the arch maintainer about this issue. Using generic."
|
||||
eerror ""
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use doc; then
|
||||
call_with_python_impl \
|
||||
emake docbook || die
|
||||
fi
|
||||
|
||||
if use epydoc; then
|
||||
einfo "Generating api docs"
|
||||
call_with_python_impl \
|
||||
emake epydoc || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# make files executable, in case they were created by patch
|
||||
find bin -type f | xargs chmod +x
|
||||
call_with_python_impl \
|
||||
emake test || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
call_with_python_impl \
|
||||
emake DESTDIR="${D}" \
|
||||
sysconfdir="${EPREFIX}/etc" \
|
||||
prefix="${EPREFIX}/usr" \
|
||||
install || die
|
||||
|
||||
# Use dodoc for compression, since the Makefile doesn't do that.
|
||||
dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} || die
|
||||
|
||||
# Allow external portage API consumers to import portage python modules
|
||||
# (this used to be done with PYTHONPATH setting in /etc/env.d).
|
||||
# For each of PYTHON_TARGETS, install a tree of *.py symlinks in
|
||||
# site-packages, and compile with the corresponding interpreter.
|
||||
local impl files mod_dir dest_mod_dir python relative_path x
|
||||
for impl in "${PYTHON_COMPAT[@]}" ; do
|
||||
use "python_targets_${impl}" || continue
|
||||
if use build && [[ ${ROOT} == / &&
|
||||
! -x ${EPREFIX}/usr/bin/$(get_python_interpreter ${impl}) ]] ; then
|
||||
# Tolerate --nodeps at beginning of stage1 for catalyst
|
||||
ewarn "skipping python_targets_${impl}, interpreter not found"
|
||||
continue
|
||||
fi
|
||||
while read -r mod_dir ; do
|
||||
cd "${ED:-${D}}usr/lib/portage/pym/${mod_dir}" || die
|
||||
files=$(echo *.py)
|
||||
if [ -z "${files}" ] || [ "${files}" = "*.py" ]; then
|
||||
# __pycache__ directories contain no py files
|
||||
continue
|
||||
fi
|
||||
dest_mod_dir=$(get_python_sitedir ${impl})/${mod_dir}
|
||||
dodir "${dest_mod_dir}" || die
|
||||
relative_path=../../../lib/portage/pym/${mod_dir}
|
||||
x=/${mod_dir}
|
||||
while [ -n "${x}" ] ; do
|
||||
relative_path=../${relative_path}
|
||||
x=${x%/*}
|
||||
done
|
||||
for x in ${files} ; do
|
||||
dosym "${relative_path}/${x}" \
|
||||
"${dest_mod_dir}/${x}" || die
|
||||
done
|
||||
done < <(cd "${ED:-${D}}"usr/lib/portage/pym || die ; find * -type d ! -path "portage/tests*")
|
||||
cd "${S}" || die
|
||||
EPYTHON=$(get_python_interpreter ${impl}) \
|
||||
python_compileall "$(get_python_sitedir ${impl})"
|
||||
done
|
||||
|
||||
# Compile /usr/lib/portage/pym with the active interpreter, since portage
|
||||
# internal commands force this directory to the beginning of sys.path.
|
||||
python_compileall /usr/lib/portage/pym
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ $ROOT == / ]] ; then
|
||||
# Run some minimal tests as a sanity check.
|
||||
local test_runner=$(find "${ED:-${D}}" -name runTests)
|
||||
if [[ -n $test_runner && -x $test_runner ]] ; then
|
||||
einfo "Running preinst sanity tests..."
|
||||
"$test_runner" || die "preinst sanity tests failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use xattr && ! current_python_has_xattr ; then
|
||||
ewarn "For optimal performance in xattr handling, install"
|
||||
ewarn "dev-python/pyxattr, or install >=dev-lang/python-3.3 and"
|
||||
ewarn "enable USE=python3 for $CATEGORY/$PN."
|
||||
fi
|
||||
|
||||
# elog dir must exist to avoid logrotate error for bug #415911.
|
||||
# This code runs in preinst in order to bypass the mapping of
|
||||
# portage:portage to root:root which happens after src_install.
|
||||
keepdir /var/log/portage/elog
|
||||
# This is allowed to fail if the user/group are invalid for prefix users.
|
||||
if chown portage:portage "${ED:-${D}}"var/log/portage{,/elog} 2>/dev/null ; then
|
||||
chmod g+s,ug+rwx "${ED:-${D}}"var/log/portage{,/elog}
|
||||
fi
|
||||
|
||||
# If portage-2.1.6 is installed and the preserved_libs_registry exists,
|
||||
# assume that the NEEDED.ELF.2 files have already been generated.
|
||||
has_version "<=${CATEGORY}/${PN}-2.2_pre7" && \
|
||||
! { [ -e "${EROOT:-${ROOT}}"var/lib/portage/preserved_libs_registry ] && \
|
||||
has_version ">=${CATEGORY}/${PN}-2.1.6_rc" ; } \
|
||||
&& NEEDED_REBUILD_UPGRADE=true || NEEDED_REBUILD_UPGRADE=false
|
||||
|
||||
if has_version "<${CATEGORY}/${PN}-2.1.13" || \
|
||||
{
|
||||
has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
|
||||
has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
|
||||
} ; then
|
||||
USERPRIV_UPGRADE=true
|
||||
USERSYNC_UPGRADE=true
|
||||
REPOS_CONF_UPGRADE=true
|
||||
REPOS_CONF_SYNC=
|
||||
type -P portageq >/dev/null 2>&1 && \
|
||||
REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
|
||||
else
|
||||
USERPRIV_UPGRADE=false
|
||||
USERSYNC_UPGRADE=false
|
||||
REPOS_CONF_UPGRADE=false
|
||||
fi
|
||||
}
|
||||
|
||||
get_ownership() {
|
||||
case ${USERLAND} in
|
||||
BSD)
|
||||
stat -f '%Su:%Sg' "${1}"
|
||||
;;
|
||||
*)
|
||||
stat -c '%U:%G' "${1}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
new_config_protect() {
|
||||
# Generate a ._cfg file even if the target file
|
||||
# does not exist, ensuring that the user will
|
||||
# notice the config change.
|
||||
local basename=${1##*/}
|
||||
local dirname=${1%/*}
|
||||
local i=0
|
||||
while true ; do
|
||||
local filename=$(
|
||||
echo -n "${dirname}/._cfg"
|
||||
printf "%04d" ${i}
|
||||
echo -n "_${basename}"
|
||||
)
|
||||
[[ -e ${filename} ]] || break
|
||||
(( i++ ))
|
||||
done
|
||||
echo "${filename}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
if ${REPOS_CONF_UPGRADE} ; then
|
||||
einfo "Generating repos.conf"
|
||||
local repo_name=
|
||||
[[ -f ${PORTDIR}/profiles/repo_name ]] && \
|
||||
repo_name=$(< "${PORTDIR}/profiles/repo_name")
|
||||
if [[ -z ${REPOS_CONF_SYNC} ]] ; then
|
||||
REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
|
||||
REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
|
||||
fi
|
||||
local sync_type=
|
||||
[[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
|
||||
|
||||
if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
|
||||
sync_type=cvs
|
||||
REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
|
||||
fi
|
||||
|
||||
cat <<-EOF > "${T}/repos.conf"
|
||||
[DEFAULT]
|
||||
main-repo = ${repo_name:-gentoo}
|
||||
|
||||
[${repo_name:-gentoo}]
|
||||
location = ${PORTDIR:-${EPREFIX}/usr/portage}
|
||||
sync-type = ${sync_type:-rsync}
|
||||
sync-uri = ${REPOS_CONF_SYNC}
|
||||
EOF
|
||||
|
||||
[[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
|
||||
|
||||
local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
|
||||
if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
|
||||
dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
|
||||
fi
|
||||
# Don't install the config update if the desired repos.conf directory
|
||||
# and config file exist, since users may accept it blindly and break
|
||||
# their config (bug #478726).
|
||||
[[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
|
||||
mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
|
||||
|
||||
if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
|
||||
einfo "Generating make.conf PORTDIR setting for backward compatibility"
|
||||
for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
|
||||
[[ -e ${dest} ]] && break
|
||||
done
|
||||
[[ -d ${dest} ]] && dest=${dest}/portdir.conf
|
||||
rm -rf "${T}/make.conf"
|
||||
[[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
|
||||
cat <<-EOF >> "${T}/make.conf"
|
||||
|
||||
# Set PORTDIR for backward compatibility with various tools:
|
||||
# gentoo-bashcomp - bug #478444
|
||||
# euse - bug #474574
|
||||
# euses and ufed - bug #478318
|
||||
PORTDIR="${EPREFIX}/usr/portage"
|
||||
EOF
|
||||
mkdir -p "${dest%/*}"
|
||||
mv "${T}/make.conf" "$(new_config_protect "${dest}")"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ${NEEDED_REBUILD_UPGRADE} ; then
|
||||
einfo "rebuilding NEEDED.ELF.2 files"
|
||||
local cpv filename line newline
|
||||
for cpv in "${EROOT:-${ROOT}}var/db/pkg"/*/*; do
|
||||
[[ -f "${cpv}/NEEDED" && ! -f "${cpv}/NEEDED.ELF.2" ]] || continue
|
||||
while read -r line; do
|
||||
filename=${line% *}
|
||||
newline=$(scanelf -BF "%a;%F;%S;%r;%n" "${ROOT%/}${filename}")
|
||||
newline=${newline// - }
|
||||
[[ ${#ROOT} -gt 1 ]] && newline=${newline/${ROOT%/}}
|
||||
echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2"
|
||||
done < "${cpv}/NEEDED"
|
||||
done
|
||||
fi
|
||||
|
||||
local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
|
||||
|
||||
if ${USERSYNC_UPGRADE} && \
|
||||
[[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
|
||||
local ownership=$(get_ownership "${PORTDIR}")
|
||||
if [[ -n ${ownership} ]] ; then
|
||||
einfo "Adjusting PORTDIR permissions for usersync"
|
||||
find "${PORTDIR}" -path "${distdir%/}" -prune -o \
|
||||
! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
|
||||
-exec chown "${ownership}" {} +
|
||||
fi
|
||||
fi
|
||||
|
||||
# Do this last, since it could take a long time if there
|
||||
# are lots of live sources, and the user may be tempted
|
||||
# to kill emerge while it is running.
|
||||
if ${USERPRIV_UPGRADE} && \
|
||||
[[ -d ${distdir} && -w ${distdir} ]] ; then
|
||||
local ownership=$(get_ownership "${distdir}")
|
||||
if [[ ${ownership#*:} == portage ]] ; then
|
||||
einfo "Adjusting DISTDIR permissions for userpriv"
|
||||
find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
|
||||
-exec chown -R portage:portage {} +
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
@ -1,575 +0,0 @@
|
|||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.2.11.ebuild,v 1.1 2014/08/03 16:55:08 dolsen Exp $
|
||||
|
||||
# Require EAPI 2 since we now require at least python-2.6 (for python 3
|
||||
# syntax support) which also requires EAPI 2.
|
||||
EAPI=2
|
||||
PYTHON_COMPAT=(
|
||||
pypy
|
||||
python3_2 python3_3 python3_4
|
||||
python2_6 python2_7
|
||||
)
|
||||
inherit eutils multilib
|
||||
|
||||
DESCRIPTION="Portage is the package management and distribution system for Gentoo"
|
||||
HOMEPAGE="http://www.gentoo.org/proj/en/portage/index.xml"
|
||||
LICENSE="GPL-2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
|
||||
SLOT="0"
|
||||
IUSE="build doc epydoc +ipc linguas_ru pypy python2 python3 selinux xattr"
|
||||
|
||||
for _pyimpl in ${PYTHON_COMPAT[@]} ; do
|
||||
IUSE+=" python_targets_${_pyimpl}"
|
||||
done
|
||||
unset _pyimpl
|
||||
|
||||
# Import of the io module in python-2.6 raises ImportError for the
|
||||
# thread module if threading is disabled.
|
||||
python_dep_ssl="python3? ( =dev-lang/python-3*[ssl] )
|
||||
!pypy? ( !python2? ( !python3? (
|
||||
|| ( >=dev-lang/python-2.7[ssl] dev-lang/python:2.6[threads,ssl] )
|
||||
) ) )
|
||||
pypy? ( !python2? ( !python3? ( virtual/pypy:0[bzip2] ) ) )
|
||||
python2? ( !python3? ( || ( dev-lang/python:2.7[ssl] dev-lang/python:2.6[ssl,threads] ) ) )"
|
||||
python_dep="${python_dep_ssl//\[ssl\]}"
|
||||
python_dep="${python_dep//,ssl}"
|
||||
python_dep="${python_dep//ssl,}"
|
||||
|
||||
python_dep="${python_dep}
|
||||
python_targets_pypy? ( virtual/pypy:0 )
|
||||
python_targets_python2_6? ( dev-lang/python:2.6 )
|
||||
python_targets_python2_7? ( dev-lang/python:2.7 )
|
||||
python_targets_python3_2? ( dev-lang/python:3.2 )
|
||||
python_targets_python3_3? ( dev-lang/python:3.3 )
|
||||
python_targets_python3_4? ( dev-lang/python:3.4 )
|
||||
"
|
||||
|
||||
# The pysqlite blocker is for bug #282760.
|
||||
# make-3.82 is for bug #455858
|
||||
DEPEND="${python_dep}
|
||||
>=sys-devel/make-3.82
|
||||
>=sys-apps/sed-4.0.5 sys-devel/patch
|
||||
doc? ( app-text/xmlto ~app-text/docbook-xml-dtd-4.4 )
|
||||
epydoc? ( >=dev-python/epydoc-2.0 !<=dev-python/pysqlite-2.4.1 )"
|
||||
# Require sandbox-2.2 for bug #288863.
|
||||
# For xattr, we can spawn getfattr and setfattr from sys-apps/attr, but that's
|
||||
# quite slow, so it's not considered in the dependencies as an alternative to
|
||||
# to python-3.3 / pyxattr. Also, xattr support is only tested with Linux, so
|
||||
# for now, don't pull in xattr deps for other kernels.
|
||||
# For whirlpool hash, require python[ssl] or python-mhash (bug #425046).
|
||||
# For compgen, require bash[readline] (bug #445576).
|
||||
RDEPEND="${python_dep}
|
||||
!build? ( >=sys-apps/sed-4.0.5
|
||||
|| ( >=app-shells/bash-4.2_p37[readline] ( <app-shells/bash-4.2_p37 >=app-shells/bash-3.2_p17 ) )
|
||||
>=app-admin/eselect-1.2
|
||||
|| ( ${python_dep_ssl} dev-python/python-mhash )
|
||||
)
|
||||
elibc_FreeBSD? ( sys-freebsd/freebsd-bin )
|
||||
elibc_glibc? ( >=sys-apps/sandbox-2.2 )
|
||||
elibc_uclibc? ( >=sys-apps/sandbox-2.2 )
|
||||
>=app-misc/pax-utils-0.1.17
|
||||
selinux? ( || ( >=sys-libs/libselinux-2.0.94[python] <sys-libs/libselinux-2.0.94 ) )
|
||||
xattr? ( kernel_linux? (
|
||||
>=sys-apps/install-xattr-0.3
|
||||
$(for python_impl in python{2_6,2_7,3_2} pypy; do
|
||||
echo "python_targets_${python_impl}? ( dev-python/pyxattr[python_targets_${python_impl}] )"
|
||||
done) ) )
|
||||
!<app-shells/bash-3.2_p17
|
||||
!<app-admin/logrotate-3.8.0"
|
||||
PDEPEND="
|
||||
!build? (
|
||||
>=net-misc/rsync-2.6.4
|
||||
userland_GNU? ( >=sys-apps/coreutils-6.4 )
|
||||
)"
|
||||
# coreutils-6.4 rdep is for date format in emerge-webrsync #164532
|
||||
# NOTE: FEATURES=installsources requires debugedit and rsync
|
||||
|
||||
SRC_ARCHIVES="http://dev.gentoo.org/~dolsen/releases/portage"
|
||||
|
||||
prefix_src_archives() {
|
||||
local x y
|
||||
for x in ${@}; do
|
||||
for y in ${SRC_ARCHIVES}; do
|
||||
echo ${y}/${x}
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
PV_PL="2.1.2"
|
||||
PATCHVER_PL=""
|
||||
TARBALL_PV=${PV}
|
||||
SRC_URI="mirror://gentoo/${PN}-${TARBALL_PV}.tar.bz2
|
||||
$(prefix_src_archives ${PN}-${TARBALL_PV}.tar.bz2)"
|
||||
|
||||
PATCHVER=
|
||||
[[ $TARBALL_PV = $PV ]] || PATCHVER=$PV
|
||||
if [ -n "${PATCHVER}" ]; then
|
||||
SRC_URI="${SRC_URI} mirror://gentoo/${PN}-${PATCHVER}.patch.bz2
|
||||
$(prefix_src_archives ${PN}-${PATCHVER}.patch.bz2)"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}"/${PN}-${TARBALL_PV}
|
||||
S_PL="${WORKDIR}"/${PN}-${PV_PL}
|
||||
|
||||
compatible_python_is_selected() {
|
||||
[[ $("${EPREFIX}/usr/bin/python" -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x2060000 and "good" or "bad")') = good ]]
|
||||
}
|
||||
|
||||
current_python_has_xattr() {
|
||||
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
|
||||
local PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
[[ $("${PYTHON}" -c 'import sys ; sys.stdout.write(sys.hexversion >= 0x3030000 and "yes" or "no")') = yes ]] || \
|
||||
"${PYTHON}" -c 'import xattr' 2>/dev/null
|
||||
}
|
||||
|
||||
call_with_python_impl() {
|
||||
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
|
||||
env EPYTHON=${EPYTHON} "$@"
|
||||
}
|
||||
|
||||
get_python_interpreter() {
|
||||
[ $# -eq 1 ] || die "expected 1 argument, got $#: $*"
|
||||
local impl=$1 python
|
||||
case "${impl}" in
|
||||
python*)
|
||||
python=${impl/_/.}
|
||||
;;
|
||||
pypy)
|
||||
python=${impl}
|
||||
;;
|
||||
*)
|
||||
die "Unrecognized python target: ${impl}"
|
||||
esac
|
||||
echo ${python}
|
||||
}
|
||||
|
||||
get_python_sitedir() {
|
||||
[ $# -eq 1 ] || die "expected 1 argument, got $#: $*"
|
||||
local impl=$1
|
||||
local site_dir=usr/$(get_libdir)/${impl/_/.}/site-packages
|
||||
[[ -d ${EROOT:-${ROOT}}${site_dir} ]] || \
|
||||
ewarn "site-packages dir missing for ${impl}: ${EROOT:-${ROOT}}${site_dir}"
|
||||
echo "/${site_dir}"
|
||||
}
|
||||
|
||||
python_compileall() {
|
||||
[[ ${EPYTHON} ]] || die 'No Python implementation set (EPYTHON is null).'
|
||||
local d=${EPREFIX}$1 PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
|
||||
local d_image=${D}${d#/}
|
||||
[[ -d ${d_image} ]] || die "directory does not exist: ${d_image}"
|
||||
case "${EPYTHON}" in
|
||||
python*)
|
||||
"${PYTHON}" -m compileall -q -f -d "${d}" "${d_image}" || die
|
||||
# Note: Using -OO breaks emaint, since it requires __doc__,
|
||||
# and __doc__ is None when -OO is used.
|
||||
"${PYTHON}" -O -m compileall -q -f -d "${d}" "${d_image}" || die
|
||||
;;
|
||||
pypy)
|
||||
"${PYTHON}" -m compileall -q -f -d "${d}" "${d_image}" || die
|
||||
;;
|
||||
*)
|
||||
die "Unrecognized EPYTHON value: ${EPYTHON}"
|
||||
esac
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if use python2 && use python3 ; then
|
||||
ewarn "Both python2 and python3 USE flags are enabled, but only one"
|
||||
ewarn "can be in the shebangs. Using python3."
|
||||
fi
|
||||
if use pypy && use python3 ; then
|
||||
ewarn "Both pypy and python3 USE flags are enabled, but only one"
|
||||
ewarn "can be in the shebangs. Using python3."
|
||||
fi
|
||||
if use pypy && use python2 ; then
|
||||
ewarn "Both pypy and python2 USE flags are enabled, but only one"
|
||||
ewarn "can be in the shebangs. Using python2"
|
||||
fi
|
||||
if ! use pypy && ! use python2 && ! use python3 && \
|
||||
! compatible_python_is_selected ; then
|
||||
ewarn "Attempting to select a compatible default python interpreter"
|
||||
local x success=0
|
||||
for x in "${EPREFIX}"/usr/bin/python2.* ; do
|
||||
x=${x#${EPREFIX}/usr/bin/python2.}
|
||||
if [[ $x -ge 6 ]] 2>/dev/null ; then
|
||||
eselect python set python2.$x
|
||||
if compatible_python_is_selected ; then
|
||||
elog "Default python interpreter is now set to python-2.$x"
|
||||
success=1
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [ $success != 1 ] ; then
|
||||
eerror "Unable to select a compatible default python interpreter!"
|
||||
die "This version of portage requires at least python-2.6 to be selected as the default python interpreter (see \`eselect python --help\`)."
|
||||
fi
|
||||
fi
|
||||
|
||||
# We use EPYTHON to designate the active python interpreter,
|
||||
# but we only export when needed, via call_with_python_impl.
|
||||
EPYTHON=python
|
||||
export -n EPYTHON
|
||||
if use python3; then
|
||||
EPYTHON=python3
|
||||
elif use python2; then
|
||||
EPYTHON=python2
|
||||
elif use pypy; then
|
||||
EPYTHON=pypy
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [ -n "${PATCHVER}" ] ; then
|
||||
if [[ -L $S/bin/ebuild-helpers/portageq ]] ; then
|
||||
rm "$S/bin/ebuild-helpers/portageq" \
|
||||
|| die "failed to remove portageq helper symlink"
|
||||
fi
|
||||
epatch "${WORKDIR}/${PN}-${PATCHVER}.patch"
|
||||
fi
|
||||
einfo "Setting portage.VERSION to ${PVR} ..."
|
||||
sed -e "s/^VERSION = .*/VERSION = \"${PVR}\"/" -i pym/portage/__init__.py || \
|
||||
die "Failed to patch portage.VERSION"
|
||||
sed -e "1s/VERSION/${PVR}/" -i doc/fragment/version || \
|
||||
die "Failed to patch VERSION in doc/fragment/version"
|
||||
sed -e "1s/VERSION/${PVR}/" -i $(find man -type f) || \
|
||||
die "Failed to patch VERSION in man page headers"
|
||||
|
||||
if ! use ipc ; then
|
||||
einfo "Disabling ipc..."
|
||||
sed -e "s:_enable_ipc_daemon = True:_enable_ipc_daemon = False:" \
|
||||
-i pym/_emerge/AbstractEbuildProcess.py || \
|
||||
die "failed to patch AbstractEbuildProcess.py"
|
||||
fi
|
||||
|
||||
if use xattr && use kernel_linux ; then
|
||||
einfo "Adding FEATURES=xattr to make.globals ..."
|
||||
echo -e '\nFEATURES="${FEATURES} xattr"' >> cnf/make.globals \
|
||||
|| die "failed to append to make.globals"
|
||||
fi
|
||||
|
||||
local set_shebang=
|
||||
if use python3; then
|
||||
set_shebang=python3
|
||||
elif use python2; then
|
||||
set_shebang=python2
|
||||
elif use pypy; then
|
||||
set_shebang=pypy
|
||||
fi
|
||||
if [[ -n ${set_shebang} ]] ; then
|
||||
einfo "Converting shebangs for ${set_shebang}..."
|
||||
while read -r -d $'\0' ; do
|
||||
local shebang=$(head -n1 "$REPLY")
|
||||
if [[ ${shebang} == "#!/usr/bin/python"* ]] ; then
|
||||
sed -i -e "1s:python:${set_shebang}:" "$REPLY" || \
|
||||
die "sed failed"
|
||||
fi
|
||||
done < <(find . -type f -print0)
|
||||
fi
|
||||
|
||||
if [[ -n ${EPREFIX} ]] ; then
|
||||
einfo "Setting portage.const.EPREFIX ..."
|
||||
sed -e "s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
|
||||
-i pym/portage/const.py || \
|
||||
die "Failed to patch portage.const.EPREFIX"
|
||||
|
||||
einfo "Prefixing shebangs ..."
|
||||
while read -r -d $'\0' ; do
|
||||
local shebang=$(head -n1 "$REPLY")
|
||||
if [[ ${shebang} == "#!"* && ! ${shebang} == "#!${EPREFIX}/"* ]] ; then
|
||||
sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" "$REPLY" || \
|
||||
die "sed failed"
|
||||
fi
|
||||
done < <(find . -type f -print0)
|
||||
|
||||
einfo "Adjusting make.globals ..."
|
||||
sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
|
||||
-e "s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
|
||||
-i cnf/make.globals || die "sed failed"
|
||||
|
||||
einfo "Adjusting repos.conf ..."
|
||||
sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
|
||||
-e "s|^\\[gentoo\\]|[gentoo_prefix]|" \
|
||||
-e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
|
||||
-e "s|^\(sync-uri = \).*|\\1rsync://prefix.gentooexperimental.org/gentoo-portage-prefix|" \
|
||||
-i cnf/repos.conf || die "sed failed"
|
||||
|
||||
einfo "Adding FEATURES=force-prefix to make.globals ..."
|
||||
echo -e '\nFEATURES="${FEATURES} force-prefix"' >> cnf/make.globals \
|
||||
|| die "failed to append to make.globals"
|
||||
fi
|
||||
|
||||
cd "${S}/cnf" || die
|
||||
if [ -f "make.conf.example.${ARCH}".diff ]; then
|
||||
patch make.conf.example "make.conf.example.${ARCH}".diff || \
|
||||
die "Failed to patch make.conf.example"
|
||||
else
|
||||
eerror ""
|
||||
eerror "Portage does not have an arch-specific configuration for this arch."
|
||||
eerror "Please notify the arch maintainer about this issue. Using generic."
|
||||
eerror ""
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use doc; then
|
||||
call_with_python_impl \
|
||||
emake docbook || die
|
||||
fi
|
||||
|
||||
if use epydoc; then
|
||||
einfo "Generating api docs"
|
||||
call_with_python_impl \
|
||||
emake epydoc || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# make files executable, in case they were created by patch
|
||||
find bin -type f | xargs chmod +x
|
||||
call_with_python_impl \
|
||||
emake test || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
call_with_python_impl \
|
||||
emake DESTDIR="${D}" \
|
||||
sysconfdir="${EPREFIX}/etc" \
|
||||
prefix="${EPREFIX}/usr" \
|
||||
install || die
|
||||
|
||||
# Use dodoc for compression, since the Makefile doesn't do that.
|
||||
dodoc "${S}"/{ChangeLog,NEWS,RELEASE-NOTES} || die
|
||||
|
||||
# Allow external portage API consumers to import portage python modules
|
||||
# (this used to be done with PYTHONPATH setting in /etc/env.d).
|
||||
# For each of PYTHON_TARGETS, install a tree of *.py symlinks in
|
||||
# site-packages, and compile with the corresponding interpreter.
|
||||
local impl files mod_dir dest_mod_dir python relative_path x
|
||||
for impl in "${PYTHON_COMPAT[@]}" ; do
|
||||
use "python_targets_${impl}" || continue
|
||||
if use build && [[ ${ROOT} == / &&
|
||||
! -x ${EPREFIX}/usr/bin/$(get_python_interpreter ${impl}) ]] ; then
|
||||
# Tolerate --nodeps at beginning of stage1 for catalyst
|
||||
ewarn "skipping python_targets_${impl}, interpreter not found"
|
||||
continue
|
||||
fi
|
||||
while read -r mod_dir ; do
|
||||
cd "${ED:-${D}}usr/lib/portage/pym/${mod_dir}" || die
|
||||
files=$(echo *.py)
|
||||
if [ -z "${files}" ] || [ "${files}" = "*.py" ]; then
|
||||
# __pycache__ directories contain no py files
|
||||
continue
|
||||
fi
|
||||
dest_mod_dir=$(get_python_sitedir ${impl})/${mod_dir}
|
||||
dodir "${dest_mod_dir}" || die
|
||||
relative_path=../../../lib/portage/pym/${mod_dir}
|
||||
x=/${mod_dir}
|
||||
while [ -n "${x}" ] ; do
|
||||
relative_path=../${relative_path}
|
||||
x=${x%/*}
|
||||
done
|
||||
for x in ${files} ; do
|
||||
dosym "${relative_path}/${x}" \
|
||||
"${dest_mod_dir}/${x}" || die
|
||||
done
|
||||
done < <(cd "${ED:-${D}}"usr/lib/portage/pym || die ; find * -type d ! -path "portage/tests*")
|
||||
cd "${S}" || die
|
||||
EPYTHON=$(get_python_interpreter ${impl}) \
|
||||
python_compileall "$(get_python_sitedir ${impl})"
|
||||
done
|
||||
|
||||
# Compile /usr/lib/portage/pym with the active interpreter, since portage
|
||||
# internal commands force this directory to the beginning of sys.path.
|
||||
python_compileall /usr/lib/portage/pym
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
if [[ $ROOT == / ]] ; then
|
||||
# Run some minimal tests as a sanity check.
|
||||
local test_runner=$(find "${ED:-${D}}" -name runTests)
|
||||
if [[ -n $test_runner && -x $test_runner ]] ; then
|
||||
einfo "Running preinst sanity tests..."
|
||||
"$test_runner" || die "preinst sanity tests failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use xattr && ! current_python_has_xattr ; then
|
||||
ewarn "For optimal performance in xattr handling, install"
|
||||
ewarn "dev-python/pyxattr, or install >=dev-lang/python-3.3 and"
|
||||
ewarn "enable USE=python3 for $CATEGORY/$PN."
|
||||
fi
|
||||
|
||||
# elog dir must exist to avoid logrotate error for bug #415911.
|
||||
# This code runs in preinst in order to bypass the mapping of
|
||||
# portage:portage to root:root which happens after src_install.
|
||||
keepdir /var/log/portage/elog
|
||||
# This is allowed to fail if the user/group are invalid for prefix users.
|
||||
if chown portage:portage "${ED:-${D}}"var/log/portage{,/elog} 2>/dev/null ; then
|
||||
chmod g+s,ug+rwx "${ED:-${D}}"var/log/portage{,/elog}
|
||||
fi
|
||||
|
||||
# If portage-2.1.6 is installed and the preserved_libs_registry exists,
|
||||
# assume that the NEEDED.ELF.2 files have already been generated.
|
||||
has_version "<=${CATEGORY}/${PN}-2.2_pre7" && \
|
||||
! { [ -e "${EROOT:-${ROOT}}"var/lib/portage/preserved_libs_registry ] && \
|
||||
has_version ">=${CATEGORY}/${PN}-2.1.6_rc" ; } \
|
||||
&& NEEDED_REBUILD_UPGRADE=true || NEEDED_REBUILD_UPGRADE=false
|
||||
|
||||
if has_version "<${CATEGORY}/${PN}-2.1.13" || \
|
||||
{
|
||||
has_version ">=${CATEGORY}/${PN}-2.2_rc0" && \
|
||||
has_version "<${CATEGORY}/${PN}-2.2.0_alpha189"
|
||||
} ; then
|
||||
USERPRIV_UPGRADE=true
|
||||
USERSYNC_UPGRADE=true
|
||||
REPOS_CONF_UPGRADE=true
|
||||
REPOS_CONF_SYNC=
|
||||
type -P portageq >/dev/null 2>&1 && \
|
||||
REPOS_CONF_SYNC=$("$(type -P portageq)" envvar SYNC)
|
||||
else
|
||||
USERPRIV_UPGRADE=false
|
||||
USERSYNC_UPGRADE=false
|
||||
REPOS_CONF_UPGRADE=false
|
||||
fi
|
||||
}
|
||||
|
||||
get_ownership() {
|
||||
case ${USERLAND} in
|
||||
BSD)
|
||||
stat -f '%Su:%Sg' "${1}"
|
||||
;;
|
||||
*)
|
||||
stat -c '%U:%G' "${1}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
new_config_protect() {
|
||||
# Generate a ._cfg file even if the target file
|
||||
# does not exist, ensuring that the user will
|
||||
# notice the config change.
|
||||
local basename=${1##*/}
|
||||
local dirname=${1%/*}
|
||||
local i=0
|
||||
while true ; do
|
||||
local filename=$(
|
||||
echo -n "${dirname}/._cfg"
|
||||
printf "%04d" ${i}
|
||||
echo -n "_${basename}"
|
||||
)
|
||||
[[ -e ${filename} ]] || break
|
||||
(( i++ ))
|
||||
done
|
||||
echo "${filename}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
if ${REPOS_CONF_UPGRADE} ; then
|
||||
einfo "Generating repos.conf"
|
||||
local repo_name=
|
||||
[[ -f ${PORTDIR}/profiles/repo_name ]] && \
|
||||
repo_name=$(< "${PORTDIR}/profiles/repo_name")
|
||||
if [[ -z ${REPOS_CONF_SYNC} ]] ; then
|
||||
REPOS_CONF_SYNC=$(grep "^sync-uri =" "${EROOT:-${ROOT}}usr/share/portage/config/repos.conf")
|
||||
REPOS_CONF_SYNC=${REPOS_CONF_SYNC##* }
|
||||
fi
|
||||
local sync_type=
|
||||
[[ ${REPOS_CONF_SYNC} == git://* ]] && sync_type=git
|
||||
|
||||
if [[ ${REPOS_CONF_SYNC} == cvs://* ]]; then
|
||||
sync_type=cvs
|
||||
REPOS_CONF_SYNC=${REPOS_CONF_SYNC#cvs://}
|
||||
fi
|
||||
|
||||
cat <<-EOF > "${T}/repos.conf"
|
||||
[DEFAULT]
|
||||
main-repo = ${repo_name:-gentoo}
|
||||
|
||||
[${repo_name:-gentoo}]
|
||||
location = ${PORTDIR:-${EPREFIX}/usr/portage}
|
||||
sync-type = ${sync_type:-rsync}
|
||||
sync-uri = ${REPOS_CONF_SYNC}
|
||||
EOF
|
||||
|
||||
[[ ${sync_type} == cvs ]] && echo "sync-cvs-repo = $(<"${PORTDIR}/CVS/Repository")" >> "${T}/repos.conf"
|
||||
|
||||
local dest=${EROOT:-${ROOT}}etc/portage/repos.conf
|
||||
if [[ ! -f ${dest} ]] && mkdir -p "${dest}" 2>/dev/null ; then
|
||||
dest=${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf
|
||||
fi
|
||||
# Don't install the config update if the desired repos.conf directory
|
||||
# and config file exist, since users may accept it blindly and break
|
||||
# their config (bug #478726).
|
||||
[[ -e ${EROOT:-${ROOT}}etc/portage/repos.conf/${repo_name:-gentoo}.conf ]] || \
|
||||
mv "${T}/repos.conf" "$(new_config_protect "${dest}")"
|
||||
|
||||
if [[ ${PORTDIR} == ${EPREFIX}/usr/portage ]] ; then
|
||||
einfo "Generating make.conf PORTDIR setting for backward compatibility"
|
||||
for dest in "${EROOT:-${ROOT}}etc/make.conf" "${EROOT:-${ROOT}}etc/portage/make.conf" ; do
|
||||
[[ -e ${dest} ]] && break
|
||||
done
|
||||
[[ -d ${dest} ]] && dest=${dest}/portdir.conf
|
||||
rm -rf "${T}/make.conf"
|
||||
[[ -f ${dest} ]] && cat "${dest}" > "${T}/make.conf"
|
||||
cat <<-EOF >> "${T}/make.conf"
|
||||
|
||||
# Set PORTDIR for backward compatibility with various tools:
|
||||
# gentoo-bashcomp - bug #478444
|
||||
# euse - bug #474574
|
||||
# euses and ufed - bug #478318
|
||||
PORTDIR="${EPREFIX}/usr/portage"
|
||||
EOF
|
||||
mkdir -p "${dest%/*}"
|
||||
mv "${T}/make.conf" "$(new_config_protect "${dest}")"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ${NEEDED_REBUILD_UPGRADE} ; then
|
||||
einfo "rebuilding NEEDED.ELF.2 files"
|
||||
local cpv filename line newline
|
||||
for cpv in "${EROOT:-${ROOT}}var/db/pkg"/*/*; do
|
||||
[[ -f "${cpv}/NEEDED" && ! -f "${cpv}/NEEDED.ELF.2" ]] || continue
|
||||
while read -r line; do
|
||||
filename=${line% *}
|
||||
newline=$(scanelf -BF "%a;%F;%S;%r;%n" "${ROOT%/}${filename}")
|
||||
newline=${newline// - }
|
||||
[[ ${#ROOT} -gt 1 ]] && newline=${newline/${ROOT%/}}
|
||||
echo "${newline:3}" >> "${cpv}/NEEDED.ELF.2"
|
||||
done < "${cpv}/NEEDED"
|
||||
done
|
||||
fi
|
||||
|
||||
local distdir=${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}
|
||||
|
||||
if ${USERSYNC_UPGRADE} && \
|
||||
[[ -d ${PORTDIR} && -w ${PORTDIR} ]] ; then
|
||||
local ownership=$(get_ownership "${PORTDIR}")
|
||||
if [[ -n ${ownership} ]] ; then
|
||||
einfo "Adjusting PORTDIR permissions for usersync"
|
||||
find "${PORTDIR}" -path "${distdir%/}" -prune -o \
|
||||
! \( -user "${ownership%:*}" -a -group "${ownership#*:}" \) \
|
||||
-exec chown "${ownership}" {} +
|
||||
fi
|
||||
fi
|
||||
|
||||
# Do this last, since it could take a long time if there
|
||||
# are lots of live sources, and the user may be tempted
|
||||
# to kill emerge while it is running.
|
||||
if ${USERPRIV_UPGRADE} && \
|
||||
[[ -d ${distdir} && -w ${distdir} ]] ; then
|
||||
local ownership=$(get_ownership "${distdir}")
|
||||
if [[ ${ownership#*:} == portage ]] ; then
|
||||
einfo "Adjusting DISTDIR permissions for userpriv"
|
||||
find "${distdir}" -mindepth 1 -maxdepth 1 -type d -uid 0 \
|
||||
-exec chown -R portage:portage {} +
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
EBUILD opencl-sdk-1.1-r1.ebuild 859 SHA256 b9172b9d29d5b7e3f2ce97cfa36a37d4dcabd01bf689a3d1e26ff1cc59e6c191 SHA512 5e6c43866176bb6a975508622656ee1a29af4ac3080af04c7216870b5eee245ae5e0bb35bdc1788b541966aa553529d4349a655a15007b15d79874b80dd28937 WHIRLPOOL d58f074b148914ad1a434c96f9629cc84dd6c54150c8848a139db74434a9fa8a29fd6e120b9f711769be7ab4f5201fcc9a76ef46e3ef998902937c9dd5f257b7
|
||||
EBUILD opencl-sdk-1.1.ebuild 868 SHA256 84abb08935186a2c1291989d543c15bf8f2ac824e1550e9942e5170e17cd7dca SHA512 b84b3fa70e25dce9c63a649f3ea0c25f418913988851f6425a7b98f5f91d6acc9b5ed3558aa0c1cc41c448c5d2c07178ea11693c207efbc9741787fbcbbc6bd8 WHIRLPOOL 2131443daced08328df2398336eefd1a138796f1e96c0d3c5c04ad43cdd82a7e91ce377435b2685c26e5811b1e77426fe0c0b55a97b232112aadb99445aaf74f
|
||||
EBUILD opencl-sdk-1.1-r1.ebuild 861 SHA256 1074b1b97ac8843a8d9ce3400cefbb6bac93aa5b7ab73c8e463dec915302df4d SHA512 6bc410ac9c7c22b7d4de7195122af1be99d7f606ab48733359085087feaba9efeeea285e24712b2f55110930f0eebce471842342d8364b0372b767de433912da WHIRLPOOL a70fabc719200a7f0bbbbba66a7d3f0c81e26e2f9db6136b015c36aaa7441a7fc46f133016ea2cee59856224812b28b914806a3ea56f06fea34d0638542d16ec
|
||||
EBUILD opencl-sdk-1.1.ebuild 870 SHA256 9b285745e0d3b4bfa95298cb6494d89e91d34e4746adf90402a5be39f6f3cc0f SHA512 f945b58637d0c025c40249399f2754575d75fd8cb6f6f453baaa8d4fdb874249dfd23153bc0942749c40a2c188be336fea392d773110dc33dece1de886a52333 WHIRLPOOL 4efeb123c988fb07b0ffaf8945dff7b09fdbc1f4a8aacebeb14753d3c2d9ea9fe6235085e2ffb8eea37f416d2245bc62951221d2b9f3b3956137036d3d2aaf00
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ KEYWORDS="amd64 x86"
|
|||
IUSE_VIDEO_CARDS="video_cards_intel video_cards_fglrx video_cards_nvidia "
|
||||
IUSE="${IUSE_VIDEO_CARDS}"
|
||||
|
||||
RDEPEND="app-admin/eselect-opencl
|
||||
RDEPEND="app-eselect/eselect-opencl
|
||||
video_cards_intel? ( dev-util/intel-ocl-sdk )
|
||||
video_cards_fglrx? ( dev-util/ati-app-sdk-bin )
|
||||
video_cards_nvidia? ( >=dev-util/nvidia-cuda-sdk-3.0[opencl] )
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ KEYWORDS="amd64 x86"
|
|||
IUSE_VIDEO_CARDS="video_cards_intel video_cards_fglrx video_cards_nvidia "
|
||||
IUSE="${IUSE_VIDEO_CARDS}"
|
||||
|
||||
RDEPEND="app-admin/eselect-opencl
|
||||
RDEPEND="app-eselect/eselect-opencl
|
||||
video_cards_intel? ( dev-util/intel-ocl-sdk )
|
||||
video_cards_fglrx? ( >=dev-util/ati-stream-sdk-bin-2.2 )
|
||||
video_cards_nvidia? ( >=dev-util/nvidia-cuda-sdk-3.0[opencl] )
|
||||
|
|
|
|||
|
|
@ -1,34 +0,0 @@
|
|||
AUX 09nvidia 61 SHA256 14702d6726cc9f0ad832a3cc90059999eb956f9e3a35397cb63cfa6347b33e39 SHA512 14c47fa164bde3422b64224e3e46e0a6097599de6193b6d36eb162271d41130f0498f6aee09f5cb60fe43727bf74051f9127afa1b4af42efc28d40af2e4fa86f WHIRLPOOL 34bc9975d132da84506a61a119a5d8d8b5be35af5c1511b5e3228fa3d9f0f3b7f84821c0ab09252054d1471ac7901522309d440c82342d6dfdd2beb73f680460
|
||||
AUX 50nvidia-prelink-blacklist 319 SHA256 61adce61498451898c22fb538151379438729957418eacf4f69195b3e03ec1f4 SHA512 7252b464c45669bb402859ddb2c95f4553a37027870b6aeada3e1dd58fefe7b4713d3486d301177efdcd7559dbc31ceb6078220d5c0187bdc636d817a98e1a41 WHIRLPOOL 93e14ed7c8fb5dba87295c87e1e8906afac290f63dc6ea023fa6c387ed47ff13d488b3b24c400aee42a22737856a7782925d9a3a412ddcd1984dbbd7e51579a5
|
||||
AUX 95-nvidia-settings 54 SHA256 c4b293c6c2659bebcbad9cffc1e237c6908a3763599e432aba89d07bc2826ba0 SHA512 0fdaff8701598081eeb78defcd140b78f75309ace998df67569a15d0ff653aca7ad0576912bf9a619f42990e6fb35cdb79e21f8181d3cd04dea719d912da8be9 WHIRLPOOL d71fef01f8c346089ef2556ffe62c5094f89582b73500711a7f18f25424e59baa12f6b0861bd8efd9bf4c5bbf794642927ca322cee218fd2da9fc7baa50fa827
|
||||
AUX NVIDIA_glx-defines.patch 437 SHA256 0007f3d962edb87da4788ce58869679c1b10f28223a6bf1c23696fede57305da SHA512 a9cbbe5d5d362db0eb92d5b9fe87f28cccb600df9b44ae2b323ed08da97c32d6a4a0553c7c82ea3777ab91a1a4bf6b74f04d89b6ec28e60565e677cc4af48351 WHIRLPOOL a826b11c86803530346a65612ebd1a12f77f6c6ba1d93af597435993086451648b825fbc245a2c5850e0680c58129924843744d7e29013d5087c3b4dd9fefb14
|
||||
AUX NVIDIA_glx-glheader.patch 380 SHA256 f630e24067bf6199a64f8fe8c5d6fc158cb4b153bda65ffc3f97b36a9cb08faf SHA512 366ebbe967001f4d694e9d6ae61fbd8b57e2946bba495894936809634bb87bd6ba6b10689969977e4d0eaba6983c16fe8d78830112b5b28f01c78381a0a095d6 WHIRLPOOL 8609fcedb439299189d9d05606a290a63de8b207bab855f874faa36e892396f41159d26e505dfead89fdac9d7e61aeeb50b16877aa14ad62dc3cd617353d7d60
|
||||
AUX nvidia 1510 SHA256 b193cc3f6d6f39138720a2282d9f161fc8f2e8a15bc43d183a30eb879add06c5 SHA512 4ffdf49c2634b261be122a0016b0f69d30db6fe4b4a29767cfeee2e1d60671e7e6fc5e5c3a237b351a4def64404db121cf296a0cdb6e1bbd4f8e78ab40587000 WHIRLPOOL faab4c87940e4703b2a30f284cae34bdf4ac486cb1d402b5bd91ef65c23f443c2c961ad914fbcbd5258dd5bbaeee583f189fcf5fc14f2b9925c8ccfa0fc422c7
|
||||
AUX nvidia-169.07 639 SHA256 a8c4860f008d53776fda7a17b59524f271236559af688e9a2c9845cbbcba1577 SHA512 3af295c026280dc3a2b73c2cc7772254686b09cad15f1333ab0b4de8cb0ccf78e725ced2a399b10edcf8af6ba42ab1485dc0661af67461b0c3789f786357772f WHIRLPOOL 626ae3c01c879e0cfe05bd373e0b9dfd6f462dd9ef6ae94a7d60276fe2d17c57fbb20aaa4d2a186a0ffc2a860076692aac854d00a3545bc9736e7bb8d0581055
|
||||
AUX nvidia-autostart.desktop 227 SHA256 850c22fad5ac5a0cf6795b47cfc34f88f151f2802fa1256d2c2422108d59400a SHA512 704b0291505e74c75b55b6d1c75f23399b2e76743093d1ad4dfdf1eafc71bba70aa4e0003b155f247fa4b861fffecf53cd72eeef04e86ba15c0c4e4af477d69a WHIRLPOOL 74e93677417c721fc06691078f813717b59d9fd8a07e00870dcfe518f904143b7af4a253595c0c226c926012ae0fe5b439f387578fc53246a0a8c0e4de00c2a0
|
||||
AUX nvidia-blacklist-vga-pmu-registers-256-304.diff 1713 SHA256 674a51e77beb3e076dd29b1d9a37ee23e1498ab128490ea2efb2140e45b44fde SHA512 abf4642278a4da01cefaea4abb116a3229b21c487c0e42d388561af3032d307fee734f5acd792efd4f4dd60e6a8ec18220f2a906c4cd82e71db769248e15c157 WHIRLPOOL 0bcdbf14ca6b4c6abc59ea6ca60da2feb7ff36739574290da109055f8153caf8a0adb6d0534e5ff43d814ba1dff24f894d18811f4c89b61565d2c1f4975213f8
|
||||
AUX nvidia-drivers-190.53-2.6.33.patch 2893 SHA256 68f5cdf4489fb6bc480319e4bda6e6481beb189cf37920b939b8f7bbf77aed1f SHA512 e6d4b1735c49b64f6b6f5a55273fe052913dfa775d1d3e6a76316e6d78dead566ebf4e695a30cd1e4fb25eb3e22572fcef2817fa4ea7f24dfdf5aea8b4db7ea8 WHIRLPOOL 09383431cce49789982827ee47016377623b124a7af8def45acb5c3bfb74839e09d46ca37e6331649983f4c3427a1d2f854fdd83023527addd8cadeef8327d01
|
||||
AUX nvidia-drivers-313.18-builddir-config.patch 1450 SHA256 28872397c455457fc4757c5309864ef00e737b719e607cb723b5e678bedc9807 SHA512 e554b1a5f776e6078bea6e30ccb1375b30c247e9e674609d4d20fbd7250b2fe6014bf69ab9404985c91cbfb41b9803dceda5d00f735a0bdfe0e506591f60e659 WHIRLPOOL 2fe5b0cdb022b04420b31177d2a23d92cf42ee8ad5faed7bf0ff3b85815032555ba1ccba1e124609ed63d49d0c90390bb7d70c87c8b5003ff32802836ce989d2
|
||||
AUX nvidia-drivers-313.18-linux-3.7+.patch 990 SHA256 1ef3c4f6016189117a1dc7c1ef4949376fd762f29d6cb07bd3016dc01b483bcd SHA512 0eb41c71b0c96314022e2a6ae7fbed15b9247de087032e78e8e623137127cdbab4c79d454c7cab00ae5e0710fe48909df607d56592813e005eb2124cc2c1374f WHIRLPOOL 496a92c9b10c1bd7f1c797f57213d5033460329377ce759f25ecd90e900bc3277abf4aabaac73a6d7bcb5c563925919638d7f1a092d7b80c34de437a87deb354
|
||||
AUX nvidia-drivers-313.18-linux-3.8+.patch 461 SHA256 a22245e4a44d0aeb36a95519e80efd24416b7a927852b23dd23e514849d9e076 SHA512 07f266cb3af92ace0e2c92f2d23bf716067c83c5b9da24d8670de5a8228b998b28380f01eca84c27a6e7a8d6c296db62182b90c71e29939022b083341e21d612 WHIRLPOOL 6cb29e35bd86160a62b26b0a2976b6557c717d196407ad32f186269001dd6a3786906bced5a739385e3010ef3142a1c1ff1ea3648ccb6ffe2e5932323f03995d
|
||||
AUX nvidia-drivers-pax-const.patch 833 SHA256 74ba8aa3b03e1b4a0515fd84c159eaeb7635fa1364e77544b01ff6f571f0e6d8 SHA512 6ef94db71cab2dd47273eaed1857209d03ef648d268c7645f3ca4caf6b894590e42a8e716e4354f2eed656e7d55a4c1774b1e6a4be215fbf59fc9d0b1a5762a0 WHIRLPOOL 1b2d737ee7ccee831c85bd8af9605c0633fd025bb209e6d76c13f49a5664aa490bd5b6ce48855e541fe87380cd7b723162e1965b803e1ed630f239bf4dbd0d19
|
||||
AUX nvidia-drivers-pax-usercopy.patch 2350 SHA256 56980f43db38d582bc6a9bfd881973fce6e3e056b77ce4f4005bdcf79526a863 SHA512 54a1354ba008d014a608044610027b4d808120f8e77cc7d5ac855c3dcf4f487b0a4c0870ae4e727db0643cb56ee21513b803976e9a30c6838adf2f5414232804 WHIRLPOOL 78ac54bfe52cc3b6dfa28e17020991dfb7056984d667b0fefa41d23372b03e1a8e6d66c74e1dee234733d5b2b36e2c0813f507a89716ae2d8f1f6db917fdf01d
|
||||
AUX nvidia-drivers-settings.desktop 193 SHA256 31c062449b8bcc8adcd3ee649d8aebf0bef502400bcbbbb46124217e1efb17a3 SHA512 fbb81d2520e9025fbffb2a8e7b3647f621ddc9d36c79d063d49e901286e8d1ea45de1274f42e33ff1aece5cebd547a42829d65b421db39d808947554b0f57453 WHIRLPOOL c797eb0ec1044ecaaa979ca5180f840d9c82c5c040dd81b2d86ca4afade9f0c006fb8951f04cc4d2b206110d38b339690386d291ff8f625a22b38178a3cd970b
|
||||
AUX nvidia-smi.init 671 SHA256 5776a661b510e072d34e779c23dfc710a13d04c49acc22772d2aeb0e415820d6 SHA512 f71bcdf2fcaf4aac69056a04f3e57c9f5e4d6c210fe571704d3f9a0798cc9615cd0560840ae336744f43563528db5b9a7b67730895eff438be330b13ab863ed6 WHIRLPOOL db48549b0d2b02d2f9ca6a86f38229dae67853939ac1c2147d5066b9b8958c2e0fb8539f70ddf5c92ae6ad642bb48ea8b1119d1779c80dd66bb450240fd0b40a
|
||||
AUX nvidia-udev.sh 185 SHA256 120c0af2b64fbcbd7032217a78eec8b104874c1ca68726367bce22c57944e07e SHA512 166df3a4e7c1862ca2e0f634bf5eed7aad1bdd7e55764ca42371b91a7077c59f0bc243de5616fd38dac9694159d1695d54fbd08ac89d4d3f3649c70c7db5977e WHIRLPOOL cb9995029cdb2fe1bc7fe5ae54041ee5de8da86bf5eb3616d062475e56c44d436e1e66683ecddd986fc5bca5723d88da4b1a42f65f3cd7e15636928bd21fce14
|
||||
AUX nvidia.udev-rule 462 SHA256 37b152a5055a16d1947171567178e2841679ddf03dba9d48e7d30f1e3b469ac6 SHA512 96f9edaa0b46bea5fce17596f868bea5265b303d7185af6ba81527bbd7b8fdf92de9311317cbde51a29d222083d451c25ab77c3d6837cbc4072a50d9af89aa86 WHIRLPOOL 89ed95f33db7485a3a1acd91df33ecdfb7d0a249db2d7674f134fb85b35a54653d0458e478503315ce506ae5d3c8dcd4ac20420711fdbdd087ea4bd779627d13
|
||||
DIST NVIDIA-FreeBSD-x86-310.32.tar.gz 32541283 SHA256 3f00f5a13dc04f51b2a1b000ad53741ac6b81bd6e70258e7b9f200daf8f52b2d SHA512 f7d6e55a11cb8c44e5ddad00326942968800b671b6695303cbb3a689f843977f09c742705b4c44d1b77d4602229d59f3a713fbf0687c104c4220da34d6e45830 WHIRLPOOL 3ae11e4e4740a83e73ba028d6066c556e848956476e7b7633b3d36c6319a9751398d6b1a9392b279c0fec28277f355c05a06d9506159060a67ec8b29116711c3
|
||||
DIST NVIDIA-FreeBSD-x86-313.18.tar.gz 32592785 SHA256 515b8470dcea3e122403f5902ba6ce3d710d9ddc4d9edd581ffe85e184af989f SHA512 00f15def371cbd2c433b2cecc1f5ff455ea1b112951b3453512b88371f7fa25047e5409cdbd7e34b7c8e6d5b1691b6d662076737dcfd6239f60926a013a1de52 WHIRLPOOL d6a49d027a4cc66c05a246f84ca8360265ce98d50e1e35d4d8828f2003c472d2154eb277cecddd1eb39ecc44896795e529daa743f37174c0e1e2a84b9fa7bada
|
||||
DIST NVIDIA-FreeBSD-x86-313.30.tar.gz 32591892 SHA256 1e02831fbaddf2f27808ea26352d835417f59bcf54ddb3e9c0f1d7b76dcb4666 SHA512 68cf61fabf707dfa1225011cab3749959ab29f09f611347eb9f9bd55065012d04382998e67091c4d3c1af9be21be6381aef9b6414448ee15f9a36d44448f5bf8 WHIRLPOOL 71ded70f45e880db2c2850c596cebafd004adf89f7131adaf324d1d38abbb5457a700bfa9e671bfa144515556f011df8a37fdf22b78b879f39007be6487f060a
|
||||
DIST NVIDIA-FreeBSD-x86_64-310.32.tar.gz 33511666 SHA256 f0935abf74a1298471a5eb0ede56ab913e358b76935557d618915a97efda9224 SHA512 fae5fef9cfc1f49c5d2a2c0a36cebd3b1e95ce306a2ef59fe93b9536d64489bbac09d8e78d92b2cd7e66bbe7cf68b86b0431d95b84267cbe06f9c7e485cc23a8 WHIRLPOOL 3b4aa1363ef70940f7c85e5e3ce4c13c5976f774b191567f45a7944daa89d89d823710ae4441f6c5746b30578457a339f3aa9cd650c25d071662ca21f048126b
|
||||
DIST NVIDIA-FreeBSD-x86_64-313.18.tar.gz 33554240 SHA256 57fbf9c85fb19a7f2fb3c6c2f50421e70309cd3360c059a2fc6efc125681ff10 SHA512 fe2c0ec88b7cb5d49905dd082d46f3a4268dea78bf4dbdc6d82b60f1ec9998d478b4332de48094af7bb7b9b51eb6885aae446998830c28555521715db7a59dbe WHIRLPOOL 95e3c577b3831bda11f0ddd8ee1fddc2f1a3138db35c78277fe99ac6c75d9dca0e9b8acf59ca31413f11775772d82bef85077355796bb6882bf9804868361b66
|
||||
DIST NVIDIA-FreeBSD-x86_64-313.30.tar.gz 33557658 SHA256 192ad1bb8a0cd649e12bcccf97c5f4d2002d6695126fea81586991d9e95248d3 SHA512 79b3b47bdcbc99f724f8c424733c11f1b2653103bbe0ba9849587628611d9da08ea434c786cc7d3d891bde3dfe4068298a7377ce5b1a3484fb64ef4d28c896da WHIRLPOOL 7307d6adb04b47b8403134e7394bf9af4f90839d1fb62aa3b7b7c6d8e367392829fb249dc8d444e66158fa5b5b15cf5b6c16e1f5659a22a15c17f55eda026660
|
||||
DIST NVIDIA-Linux-x86-310.32.run 38844819 SHA256 d43e56486a53fa99690c7038005797699cec54ab5e2c7cee229340118616ac8d SHA512 523745e428874445fe2df65bd111c68707b378305d7bbeea6a94b01b13a1f6233b4e27d74555f1c43457e8d49692e786eab3157c2bd3e158228316534746a2d8 WHIRLPOOL 642d64eb1e62f6e305b89712112f54e8e6f6eee9726cad0544d7caf02307e570a2418482318df18fd1de2376cbde918732d96af5400634d150d4625d40467c3c
|
||||
DIST NVIDIA-Linux-x86-313.18.run 38865783 SHA256 58e5e2191890ace94849444f5d2de4c2921dfe02cd97825d81a128754ff4488f SHA512 70ec92071de3aabe77ee5304a4c2c1b7eda0e2b44860f63b05c8c004aaf748c18b40e5f7558dd6bcb99e1e394557a2c189ca462400fdde28aee408a64b8b7e27 WHIRLPOOL 3f6506e17414a78d4dc7a69e52e34d5172529d061dd8aa7b7e31066281525a0cbfefd846b2bfdb21820ed3c6a0c1348fae4e0d7d21c82d6633e284f5a0dfbd52
|
||||
DIST NVIDIA-Linux-x86-313.30.run 38845860 SHA256 0a0f10979b1bca8e4a244e204b58aeb9a580924a9dd7b11b21d15abfe1ad49ad SHA512 c3b07e7186fcf5a1f3e73f4e9510dddff2a42c0202bc471a946e38e636af27b2d17206b7105a7a80179fc17ebceab6c2802ff6ddaabae9e16a930dfa1252a2db WHIRLPOOL 2d4402883a480ae3050af18f3fe1aec4110132aa4eda0ce9675f79471a526e8b90b9ebe6a0a5c76321474be6ace963520b903cf809835472649b095be757ec52
|
||||
DIST NVIDIA-Linux-x86_64-310.32.run 68342787 SHA256 e5f179a62d1a0e6a877f3f89315d0a28cb7c3cbceff7df13e1a71ab189ac3616 SHA512 c0f3c6327a6fe01e84a84f92578c01367abc1b7c8435d4485bb117874ac9156800b82e7f59fd5a3caf74d3a44b067b890ce12a0dc35efde81cc6ee6388b8b4ce WHIRLPOOL 480419d3f329808e73f5ff9556f05f02d7488eec4af91444f858d0347ab331a0cc75700361ba47ea4151cc549e716ab9f980b3bfb5bbea205fc1b4d12d0b50a3
|
||||
DIST NVIDIA-Linux-x86_64-313.18.run 68386461 SHA256 9aaf6ce2fb08f72b2ab4f7a2d9fc5af8216ac263fa4883deec3844f34ea7ba3a SHA512 d1017763f6cef96a443f9d7890ca940d742cd17fb8b1d926440483987e22d350a57bcce98962d6130c5e2ac697926dbb560f148f45ba7659ff3412443b53473c WHIRLPOOL 0180fff2e5e7bd9fb731fdee3c81e1b26a7962d989e998dc9fa67e4a836526e10e6de01cfc1e6650d9ff4a5cc334b5c27740df309b3dd403dfd13795c48d6f29
|
||||
DIST NVIDIA-Linux-x86_64-313.30.run 68379307 SHA256 72317f2e4c459c33c764e3283deb3e1615b1852ead1f9bfad82148e120506022 SHA512 ae4439697e47eff98e06e5f77de979bdce096f95efa8bdee9c6fc939b42b5ce3b11c23d7691e974cf0f6f783eeb0fb694670636538352a0e8979f88d687f1f86 WHIRLPOOL c12a68fcc4d78f3856d87a86cef43c3632c0db1b6c5799b6482584d4d83a7cc863b9b394a501b96534175e11663c602d72f6ffa49f85461eaf4324dc61e654ff
|
||||
EBUILD nvidia-drivers-310.32.ebuild 12773 SHA256 4d3c9e2045cb7a4f2bf60c222ff3bb894b10f11d36a80ebfe8abeb2c00d624b9 SHA512 d8bc2111d17b05dde2a7f4ea4ad2ab1658991d39de6803fe8bf1201586334c429428ec17d1554a433e0a305cbadead0bcc1024db18407c389d1dd7940ee05816 WHIRLPOOL 23b2992b99cfe5cfd554d9f8576567737a3e4ea799a9fc32f07ea55bffa3075adfe47a099f28fd46003d2ecd05b854c77461261b62b26255a4710bf2e77c3392
|
||||
EBUILD nvidia-drivers-313.18.ebuild 13089 SHA256 dccffb4060a1debabd719e048fc2f55049fa3065555412a3c33d665b2d0913cb SHA512 a83ad87322ae7f6885900b52f237854e772c18aeb64d42906e57667535436c849eb28705e47681d733ce93d3e1c26830a1d021047c9fc23f554b4641231f4756 WHIRLPOOL 5cd3ee554171ffbb9aae760011e3315739b9a448d30f07e99783183f3246e6a5c2f430323cb6af489c6d656e38b50fd95ca82014745b255fc342f848ee5509ce
|
||||
EBUILD nvidia-drivers-313.30-r1.ebuild 13075 SHA256 5953668dd10500a9adcf1d48f8477359ea4305313eed85dc7b2666b9f7dabff7 SHA512 88e1c240db4f65ae8d5a3b99092d340f5eb94e6875243bb4eb45b81f06a18d381f9dbf2c3a8b18959a6be5707f0b3da490882e44b52107455576616146d992ad WHIRLPOOL af35cd0dc93b6778ee2e77cad383cbed881a839603b8c70523c622034cebec914ddc6fd2c763f635c5c890864a80acb581b8edadeb1e31c3a65565d05375da59
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
# Has to precede X11's own libraries!
|
||||
LDPATH=/opt/nvidia/lib
|
||||
|
|
@ -1 +0,0 @@
|
|||
PRELINK_PATH_MASK="/usr/lib{,64}/tls/libnvidia-tls*:/usr/lib{,64}/libnvidia*:/usr/lib{,64}/libGL*:/usr/lib{,64}/opengl/nvidia/*:/usr/lib{,64}/OpenCL/vendors/nvidia/*:/usr/lib{,64}/xorg/modules/drivers/nvidia*:/usr/lib{,64}/libvdpau_nvidia*:/usr/lib{,64}/libXvMCNVIDIA*:/usr/lib{,64}/libcuda*:/usr/lib{,64}/libnvcuvid*"
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/sh
|
||||
/opt/bin/nvidia-settings --load-config-only
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
diff -ur NVIDIA_GLX-1.0-4191/usr/include/GL/glx.h NVIDIA_GLX-1.0-4191.new/usr/include/GL/glx.h
|
||||
--- NVIDIA_GLX-1.0-4191/usr/include/GL/glx.h 2002-12-09 21:26:55.000000000 +0100
|
||||
+++ NVIDIA_GLX-1.0-4191.new/usr/include/GL/glx.h 2003-01-30 18:20:23.000000000 +0100
|
||||
@@ -39,6 +39,7 @@
|
||||
typedef XID GLXPixmap;
|
||||
typedef XID GLXDrawable;
|
||||
typedef XID GLXPbuffer;
|
||||
+typedef XID GLXPbufferSGIX;
|
||||
typedef XID GLXWindow;
|
||||
typedef XID GLXFBConfigID;
|
||||
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
--- usr/include/GL/gl.g.orig 2004-07-17 19:56:59.789410584 +1000
|
||||
+++ usr/include/GL/gl.h 2004-07-17 19:59:08.844791184 +1000
|
||||
@@ -66,6 +66,10 @@
|
||||
typedef double GLclampd;
|
||||
typedef void GLvoid;
|
||||
|
||||
+/* Patching for some better defines in the global system */
|
||||
+#ifndef GL_GLEXT_LEGACY
|
||||
+#include <GL/glext.h>
|
||||
+#endif
|
||||
|
||||
/*************************************************************/
|
||||
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
# Nvidia drivers support
|
||||
alias char-major-195 nvidia
|
||||
alias /dev/nvidiactl char-major-195
|
||||
|
||||
# To tweak the driver the following options can be used, note that
|
||||
# you should be careful, as it could cause instability!! For more
|
||||
# options see /usr/share/doc/PACKAGE/README
|
||||
#
|
||||
# To enable Side Band Adressing: NVreg_EnableAGPSBA=1
|
||||
#
|
||||
# To enable Fast Writes: NVreg_EnableAGPFW=1
|
||||
#
|
||||
# To enable both for instance, uncomment following line:
|
||||
#
|
||||
#options nvidia NVreg_EnableAGPSBA=1 NVreg_EnableAGPFW=1
|
||||
# If you have a mobile chip, you may need to enable this option
|
||||
# if you have hard lockups when starting X.
|
||||
#
|
||||
# See: Appendix I. Configuring your laptop
|
||||
# In /usr/share/doc/PACKAGE/README for full details
|
||||
#
|
||||
# Choose the appropriate value for NVreg_Mobile from the table:
|
||||
# Value Meaning
|
||||
# ---------- --------------------------------------------------
|
||||
# 0xFFFFFFFF let the kernel module autodetect the correct value
|
||||
# 1 Dell laptops
|
||||
# 2 non-Compal Toshiba laptops
|
||||
# 3 all other laptops
|
||||
# 4 Compal Toshiba laptops
|
||||
# 5 Gateway laptops
|
||||
#
|
||||
#options nvidia NVreg_SoftEDIDs=0 NVreg_Mobile=3
|
||||
|
||||
|
||||
# !!! SECURITY WARNING !!!
|
||||
# DO NOT MODIFY OR REMOVE THE DEVICE FILE RELATED OPTIONS UNLESS YOU KNOW
|
||||
# WHAT YOU ARE DOING.
|
||||
# ONLY ADD TRUSTED USERS TO THE VIDEO GROUP, THESE USERS MAY BE ABLE TO CRASH,
|
||||
# COMPROMISE, OR IRREPARABLY DAMAGE THE MACHINE.
|
||||
options nvidia NVreg_DeviceFileMode=432 NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=VIDEOGID NVreg_ModifyDeviceFiles=1
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
# Nvidia drivers support
|
||||
alias char-major-195 nvidia
|
||||
alias /dev/nvidiactl char-major-195
|
||||
|
||||
# To tweak the driver the following options can be used, note that
|
||||
# you should be careful, as it could cause instability!! For more
|
||||
# options see /usr/share/doc/PACKAGE/README
|
||||
#
|
||||
# !!! SECURITY WARNING !!!
|
||||
# DO NOT MODIFY OR REMOVE THE DEVICE FILE RELATED OPTIONS UNLESS YOU KNOW
|
||||
# WHAT YOU ARE DOING.
|
||||
# ONLY ADD TRUSTED USERS TO THE VIDEO GROUP, THESE USERS MAY BE ABLE TO CRASH,
|
||||
# COMPROMISE, OR IRREPARABLY DAMAGE THE MACHINE.
|
||||
options nvidia NVreg_DeviceFileMode=432 NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=VIDEOGID NVreg_ModifyDeviceFiles=1
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=NVIDIA X Server Settings
|
||||
Comment=Configure NVIDIA X Server Settings
|
||||
Exec=sh -c "/opt/bin/nvidia-settings --load-config-only"
|
||||
Terminal=false
|
||||
Icon=nvidia-settings
|
||||
Categories=System;Settings;
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
diff -ur kernel/nv.h kernel/nv.h
|
||||
--- kernel/nv.h 2012-08-02 18:19:37.000000000 -0700
|
||||
+++ kernel/nv.h 2012-08-02 18:19:37.000000000 -0700
|
||||
@@ -448,7 +448,20 @@
|
||||
|
||||
#define IS_BLACKLISTED_REG_OFFSET(nv, offset, length) \
|
||||
((IS_REG_RANGE_WITHIN_MAPPING(nv, 0x1000, 0x1000, offset, length)) ||\
|
||||
- (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x700000, 0x100000, offset, length)))
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x84000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x85000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x86000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x87000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x89000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0xa0000, 0x20000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x104000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x105000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x10a000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x1c2000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x1c3000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x618000, 0x2000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x627000, 0x1000, offset, length)) ||\
|
||||
+ (IS_REG_RANGE_WITHIN_MAPPING(nv, 0x700000, 0x100000, offset, length)))
|
||||
|
||||
/* duplicated from nvos.h for external builds */
|
||||
#ifndef NVOS_AGP_CONFIG_DISABLE_AGP
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
Index: usr/src/nv/conftest.sh
|
||||
===================================================================
|
||||
--- usr/src/nv/conftest.sh
|
||||
+++ usr/src/nv/conftest.sh 2010-01-06 12:10:56.000000000 +0530
|
||||
@@ -32,14 +32,14 @@
|
||||
# CONFIG_XEN and CONFIG_PARAVIRT are present, text_xen() treats
|
||||
# the kernel as a stand-alone kernel.
|
||||
#
|
||||
- FILE="linux/autoconf.h"
|
||||
+ FILE="generated/autoconf.h"
|
||||
|
||||
if [ -f $HEADERS/$FILE -o -f $OUTPUT/include/$FILE ]; then
|
||||
#
|
||||
# We are looking at a configured source tree; verify
|
||||
# that it's not a Xen kernel.
|
||||
#
|
||||
- echo "#include <linux/autoconf.h>
|
||||
+ echo "#include <generated/autoconf.h>
|
||||
#if defined(CONFIG_XEN) && !defined(CONFIG_PARAVIRT)
|
||||
#error CONFIG_XEN defined!
|
||||
#endif
|
||||
@@ -111,7 +111,12 @@
|
||||
fi
|
||||
}
|
||||
|
||||
-CONFTEST_PREAMBLE="#include <linux/autoconf.h>
|
||||
+CONFTEST_PREAMBLE="#include <linux/version.h>
|
||||
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)
|
||||
+ #include <generated/autoconf.h>
|
||||
+ #else
|
||||
+ #include <linux/autoconf.h>
|
||||
+ #endif
|
||||
#if defined(CONFIG_XEN) && \
|
||||
defined(CONFIG_XEN_INTERFACE_VERSION) && !defined(__XEN_INTERFACE_VERSION__)
|
||||
#define __XEN_INTERFACE_VERSION__ CONFIG_XEN_INTERFACE_VERSION
|
||||
@@ -1294,7 +1299,7 @@
|
||||
echo "";
|
||||
fi
|
||||
fi
|
||||
- exit $RET
|
||||
+# exit $RET
|
||||
;;
|
||||
|
||||
get_uname)
|
||||
@@ -1316,11 +1321,11 @@
|
||||
# tree or at headers shipped for a specific kernel.
|
||||
# Determine the kernel version using a compile check.
|
||||
#
|
||||
- FILE="linux/utsrelease.h"
|
||||
+ FILE="generated/utsrelease.h"
|
||||
|
||||
if [ -f $HEADERS/$FILE -o -f $OUTPUT/include/$FILE ]; then
|
||||
echo "$CONFTEST_PREAMBLE
|
||||
- #include <linux/utsrelease.h>
|
||||
+ #include <generated/utsrelease.h>
|
||||
int main() {
|
||||
printf(\"%s\", UTS_RELEASE);
|
||||
return 0;
|
||||
@@ -1375,7 +1380,7 @@
|
||||
#
|
||||
RET=1
|
||||
VERBOSE=$6
|
||||
- FILE="linux/autoconf.h"
|
||||
+ FILE="generated/autoconf.h"
|
||||
|
||||
if [ -f $HEADERS/$FILE -o -f $OUTPUT/include/$FILE ]; then
|
||||
#
|
||||
@@ -1429,7 +1434,7 @@
|
||||
#
|
||||
RET=1
|
||||
VERBOSE=$6
|
||||
- FILE="linux/autoconf.h"
|
||||
+ FILE="generated/autoconf.h"
|
||||
|
||||
if [ -f $HEADERS/$FILE -o -f $OUTPUT/include/$FILE ]; then
|
||||
#
|
||||
Index: usr/src/nv/nvacpi.c
|
||||
===================================================================
|
||||
--- usr/src/nv/nvacpi.c
|
||||
+++ usr/src/nv/nvacpi.c 2010-01-06 12:10:56.000000000 +0530
|
||||
@@ -49,6 +49,10 @@
|
||||
};
|
||||
#endif
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 33)
|
||||
+#define acpi_walk_namespace(a,b,c,d,e,f) acpi_walk_namespace(a,b,c,d,e,f,NULL)
|
||||
+#endif
|
||||
+
|
||||
static struct acpi_driver *nv_acpi_driver;
|
||||
static acpi_handle nvif_handle = NULL;
|
||||
static acpi_handle dsm_handle = NULL;
|
||||
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
the .config file is found in the output dir, not the source dir.
|
||||
search for it in the right place to fix kernels that are built
|
||||
via standard out-of-tree methods (KBUILD_OUTPUT).
|
||||
|
||||
--- a/kernel/conftest.sh
|
||||
+++ b/kernel/conftest.sh
|
||||
@@ -63,7 +63,7 @@ test_xen() {
|
||||
XEN_PRESENT=0
|
||||
fi
|
||||
else
|
||||
- CONFIG=$HEADERS/../.config
|
||||
+ CONFIG=$OUTPUT/.config
|
||||
if [ -f $CONFIG ]; then
|
||||
if [ -z "$(grep "^CONFIG_XEN=y" $CONFIG)" ]; then
|
||||
XEN_PRESENT="0"
|
||||
@@ -1688,7 +1688,7 @@ case "$6" in
|
||||
rm -f conftest.h
|
||||
else
|
||||
MAKEFILE=$HEADERS/../Makefile
|
||||
- CONFIG=$HEADERS/../.config
|
||||
+ CONFIG=$OUTPUT/.config
|
||||
|
||||
if [ -f $MAKEFILE -a -f $CONFIG ]; then
|
||||
#
|
||||
@@ -1857,7 +1857,7 @@ case "$6" in
|
||||
rm -f conftest$$.c conftest$$.o
|
||||
rm -f conftest.h
|
||||
else
|
||||
- CONFIG=$HEADERS/../.config
|
||||
+ CONFIG=$OUTPUT/.config
|
||||
if [ -f $CONFIG ]; then
|
||||
if [ -z "$(grep "^CONFIG_FB_RIVA=y" $CONFIG)" ]; then
|
||||
RET=0
|
||||
@@ -1923,7 +1923,7 @@ case "$6" in
|
||||
rm -f conftest$$.c conftest$$.o
|
||||
rm -f conftest.h
|
||||
else
|
||||
- CONFIG=$HEADERS/../.config
|
||||
+ CONFIG=$OUTPUT/.config
|
||||
if [ -f $CONFIG ]; then
|
||||
if [ -z "$(grep "^CONFIG_FB_NVIDIA=y" $CONFIG)" ]; then
|
||||
RET=0
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
the nvidia drivers are trying to test for version 2.6.6, but fail to take into
|
||||
account the first digit. so 3.7.0+ ends up failing the test.
|
||||
|
||||
https://bugs.gentoo.org/447566
|
||||
|
||||
--- a/kernel/conftest.sh
|
||||
+++ b/kernel/conftest.sh
|
||||
@@ -1697,13 +1697,15 @@
|
||||
# kernel older than 2.6.6, that's all we require to
|
||||
# build the module.
|
||||
#
|
||||
+ VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3)
|
||||
PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3)
|
||||
SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3)
|
||||
|
||||
- if [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \
|
||||
+ if [ -n "$VERSION" -a $VERSION -ge 3 ] || \
|
||||
+ [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \
|
||||
-a -n "$SUBLEVEL" -a $SUBLEVEL -le 5 ]; then
|
||||
SELECTED_MAKEFILE=Makefile.kbuild
|
||||
RET=0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
http://bugs.gentoo.org/447566
|
||||
|
||||
--- a/kernel/conftest.sh
|
||||
+++ b/kernel/conftest.sh
|
||||
@@ -160,6 +160,7 @@ build_cflags() {
|
||||
|
||||
if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then
|
||||
CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include"
|
||||
+ CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include/uapi"
|
||||
CFLAGS="$CFLAGS -I$OUTPUT/arch/x86/include/generated"
|
||||
CFLAGS="$CFLAGS -I$OUTPUT/arch/x86/include/generated/uapi"
|
||||
elif [ "$ARCH" = "arm" ]; then
|
||||
--
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
Binary files kernel.orig/.nv-procfs.c.swp and kernel/.nv-procfs.c.swp differ
|
||||
diff -urp kernel.orig/nv-procfs.c kernel/nv-procfs.c
|
||||
--- kernel.orig/nv-procfs.c 2011-07-13 03:29:30.000000000 +0200
|
||||
+++ kernel/nv-procfs.c 2011-07-19 15:45:27.982993911 +0200
|
||||
@@ -707,8 +707,10 @@ int nv_register_procfs(void)
|
||||
* However, in preparation for this, we need to preserve
|
||||
* the procfs read() and write() operations.
|
||||
*/
|
||||
- nv_procfs_registry_fops.read = entry->proc_fops->read;
|
||||
- nv_procfs_registry_fops.write = entry->proc_fops->write;
|
||||
+ pax_open_kernel();
|
||||
+ *(void **)&nv_procfs_registry_fops.read = entry->proc_fops->read;
|
||||
+ *(void **)&nv_procfs_registry_fops.write = entry->proc_fops->write;
|
||||
+ pax_close_kernel();
|
||||
|
||||
entry = NV_CREATE_PROC_FILE("registry", proc_nvidia,
|
||||
nv_procfs_read_registry,
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
diff -urp kernel.orig/nv.c kernel/nv.c
|
||||
--- kernel.orig/nv.c 2011-09-24 02:32:09.000000000 +0200
|
||||
+++ kernel/nv.c 2011-10-05 19:13:41.474242252 +0200
|
||||
@@ -1105,7 +1105,7 @@ static int __init nvidia_init_module(voi
|
||||
NV_SPIN_LOCK_INIT(&km_lock);
|
||||
#endif
|
||||
|
||||
- NV_KMEM_CACHE_CREATE(nv_stack_t_cache, "nv_stack_t", nv_stack_t);
|
||||
+ NV_KMEM_CACHE_CREATE(nv_stack_t_cache, "nv_stack_t", nv_stack_t, SLAB_USERCOPY);
|
||||
if (nv_stack_t_cache == NULL)
|
||||
{
|
||||
nv_printf(NV_DBG_ERRORS, "NVRM: stack cache allocation failed!\n");
|
||||
@@ -1220,7 +1220,7 @@ static int __init nvidia_init_module(voi
|
||||
}
|
||||
#endif
|
||||
|
||||
- NV_KMEM_CACHE_CREATE(nv_pte_t_cache, "nv_pte_t", nv_pte_t);
|
||||
+ NV_KMEM_CACHE_CREATE(nv_pte_t_cache, "nv_pte_t", nv_pte_t, 0);
|
||||
if (nv_pte_t_cache == NULL)
|
||||
{
|
||||
rc = -ENOMEM;
|
||||
@@ -1229,7 +1229,7 @@ static int __init nvidia_init_module(voi
|
||||
}
|
||||
|
||||
NV_KMEM_CACHE_CREATE(nvidia_p2p_page_t_cache, "nvidia_p2p_page_t",
|
||||
- nvidia_p2p_page_t);
|
||||
+ nvidia_p2p_page_t, 0);
|
||||
if (nvidia_p2p_page_t_cache == NULL)
|
||||
{
|
||||
rc = -ENOMEM;
|
||||
diff -urp kernel.orig/nv-linux.h kernel/nv-linux.h
|
||||
--- kernel.orig/nv-linux.h 2011-09-24 02:32:09.000000000 +0200
|
||||
+++ kernel/nv-linux.h 2011-10-05 19:14:42.522238996 +0200
|
||||
@@ -695,16 +695,16 @@ extern nv_spinlock_t km_lock;
|
||||
|
||||
#if defined(NV_KMEM_CACHE_CREATE_PRESENT)
|
||||
#if (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 6)
|
||||
-#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
|
||||
+#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
|
||||
{ \
|
||||
kmem_cache = kmem_cache_create(name, sizeof(type), \
|
||||
- 0, 0, NULL, NULL); \
|
||||
+ 0, flags, NULL, NULL); \
|
||||
}
|
||||
#elif (NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT == 5)
|
||||
-#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type) \
|
||||
+#define NV_KMEM_CACHE_CREATE(kmem_cache, name, type, flags) \
|
||||
{ \
|
||||
kmem_cache = kmem_cache_create(name, sizeof(type), \
|
||||
- 0, 0, NULL); \
|
||||
+ 0, flags, NULL); \
|
||||
}
|
||||
#else
|
||||
#error "NV_KMEM_CACHE_CREATE_ARGUMENT_COUNT value unrecognized!"
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=NVIDIA X Server Settings
|
||||
Comment=Configure NVIDIA X Server Settings
|
||||
Exec=/opt/bin/nvidia-settings
|
||||
Icon=nvidia-drivers-settings
|
||||
Categories=System;Settings;
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/files/nvidia-smi.init,v 1.1 2012/07/22 21:08:43 cardoe Exp $
|
||||
|
||||
pidfile="/var/run/nvidia-smi.pid"
|
||||
|
||||
depend() {
|
||||
after modules
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting NVIDIA System Management Interface"
|
||||
rm -f ${pidfile}
|
||||
start-stop-daemon --start --quiet --pidfile ${pidfile} \
|
||||
--make-pidfile --background --exec /opt/bin/nvidia-smi -- \
|
||||
-q -l 300
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping NVIDIA System Management Interface"
|
||||
start-stop-daemon --stop --quiet --pidfile ${pidfile}
|
||||
eend $?
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Invalid args" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
add|ADD)
|
||||
/opt/bin/nvidia-smi > /dev/null
|
||||
;;
|
||||
remove|REMOVE)
|
||||
rm -f /dev/nvidia*
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
ACTION=="add", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}"
|
||||
# Previously the ACTION was "add|remove" but one user on bug #376527 had a
|
||||
# problem until he recompiled udev-171-r5, which is one of the versions I
|
||||
# tested with and it was fine. I'm breaking the rules out just to be safe
|
||||
# so someone else doesn't have an issue
|
||||
ACTION=="remove", DEVPATH=="/module/nvidia", SUBSYSTEM=="module", RUN+="nvidia-udev.sh $env{ACTION}"
|
||||
|
|
@ -1,442 +0,0 @@
|
|||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-310.32.ebuild,v 1.5 2013/03/02 16:07:11 cardoe Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
|
||||
portability toolchain-funcs unpacker user udev
|
||||
|
||||
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 driver and GLX libraries"
|
||||
HOMEPAGE="http://www.nvidia.com/"
|
||||
SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
|
||||
amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
|
||||
amd64-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
|
||||
x86-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
|
||||
|
||||
LICENSE="NVIDIA"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel +tools +X"
|
||||
RESTRICT="strip"
|
||||
EMULTILIB_PKG="true"
|
||||
|
||||
COMMON="app-admin/eselect-opencl
|
||||
kernel_linux? ( >=sys-libs/glibc-2.6.1 )
|
||||
multilib? ( app-emulation/emul-linux-x86-xlibs )
|
||||
X? (
|
||||
<x11-base/xorg-server-1.14.99
|
||||
>=app-admin/eselect-opengl-1.0.9
|
||||
)"
|
||||
DEPEND="${COMMON}
|
||||
kernel_linux? (
|
||||
virtual/linux-sources
|
||||
)"
|
||||
RDEPEND="${COMMON}
|
||||
acpi? ( sys-power/acpid )
|
||||
tools? (
|
||||
dev-libs/atk
|
||||
dev-libs/glib
|
||||
x11-libs/gdk-pixbuf
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/pango[X]
|
||||
|| ( x11-libs/pangox-compat <x11-libs/pango-1.31[X] )
|
||||
)
|
||||
X? ( >=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
|
||||
|
||||
if use kernel_linux && kernel_is ge 3 7 ; then
|
||||
ewarn "Gentoo supports kernel's which are supported by NVIDIA"
|
||||
ewarn "which are limited to the following kernels:"
|
||||
ewarn "<sys-kernel/gentoo-sources-3.7"
|
||||
ewarn "<sys-kernel/vanilla-sources-3.7"
|
||||
ewarn ""
|
||||
ewarn "You are free to utilize epatch_user to provide whatever"
|
||||
ewarn "support you feel is appropriate, but will not receive"
|
||||
ewarn "support as a result of those changes."
|
||||
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
|
||||
linux-mod_pkg_setup
|
||||
MODULE_NAMES="nvidia(video:${S}/kernel)"
|
||||
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_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_unpack() {
|
||||
if ! use kernel_FreeBSD; then
|
||||
cd "${S}"
|
||||
unpack_makeself
|
||||
else
|
||||
unpack ${A}
|
||||
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}"/nvidia-drivers-pax-const.patch
|
||||
epatch "${FILESDIR}"/nvidia-drivers-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
|
||||
linux-mod_src_compile
|
||||
fi
|
||||
}
|
||||
|
||||
# Install nvidia library:
|
||||
# the first parameter is the library to install
|
||||
# the second parameter is the provided soversion
|
||||
# the third parameter is the target directory if 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
|
||||
linux-mod_src_install
|
||||
|
||||
VIDEOGROUP="$(egetent group video | cut -d ':' -f 3)"
|
||||
if [ -z "$VIDEOGROUP" ]; then
|
||||
eerror "Failed to determine the video group gid."
|
||||
die "Failed to determine the video group gid."
|
||||
fi
|
||||
|
||||
# Add the aliases
|
||||
[ -f "${FILESDIR}/nvidia-169.07" ] || die "nvidia missing in FILESDIR"
|
||||
sed -e 's:PACKAGE:'${PF}':g' \
|
||||
-e 's:VIDEOGID:'${VIDEOGROUP}':' "${FILESDIR}"/nvidia-169.07 > \
|
||||
"${WORKDIR}"/nvidia
|
||||
insinto /etc/modprobe.d
|
||||
newins "${WORKDIR}"/nvidia nvidia.conf || die
|
||||
|
||||
# Ensures that our device nodes are created when not using X
|
||||
exeinto "$(udev_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" || die
|
||||
fi
|
||||
|
||||
exeinto /boot/modules
|
||||
doexe "${S}/src/nvidia.ko" || die
|
||||
fi
|
||||
|
||||
# NVIDIA kernel <-> userspace driver config lib
|
||||
donvidia ${NV_OBJ}/libnvidia-cfg.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 || die "failed to install 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"
|
||||
use tools && doman "${NV_MAN}/nvidia-settings.1"
|
||||
else
|
||||
# Docs
|
||||
newdoc "${NV_DOC}/README.txt" README
|
||||
dodoc "${NV_DOC}/NVIDIA_Changelog"
|
||||
doman "${NV_MAN}/nvidia-smi.1.gz"
|
||||
use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
|
||||
use tools && doman "${NV_MAN}/nvidia-settings.1.gz"
|
||||
doman "${NV_MAN}/nvidia-cuda-proxy-control.1.gz"
|
||||
fi
|
||||
|
||||
# Helper Apps
|
||||
exeinto /opt/bin/
|
||||
|
||||
if use X; then
|
||||
doexe ${NV_OBJ}/nvidia-xconfig || die
|
||||
fi
|
||||
|
||||
if use kernel_linux ; then
|
||||
doexe ${NV_OBJ}/nvidia-debugdump || die
|
||||
doexe ${NV_OBJ}/nvidia-cuda-proxy-control || die
|
||||
doexe ${NV_OBJ}/nvidia-cuda-proxy-server || die
|
||||
doexe ${NV_OBJ}/nvidia-smi || die
|
||||
newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
|
||||
fi
|
||||
|
||||
if use tools; then
|
||||
doexe ${NV_OBJ}/nvidia-settings || die
|
||||
fi
|
||||
|
||||
exeinto /usr/bin/
|
||||
doexe ${NV_OBJ}/nvidia-bug-report.sh || die
|
||||
|
||||
# Desktop entries for nvidia-settings
|
||||
if use tools ; then
|
||||
# There is no icon in the FreeBSD tarball.
|
||||
use kernel_FreeBSD || newicon ${NV_OBJ}/nvidia-settings.png nvidia-drivers-settings.png
|
||||
domenu "${FILESDIR}"/nvidia-drivers-settings.desktop
|
||||
exeinto /etc/X11/xinit/xinitrc.d
|
||||
doexe "${FILESDIR}"/95-nvidia-settings
|
||||
fi
|
||||
|
||||
#doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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}/libGL.so ${NV_SOVER} ${GL_ROOT}
|
||||
donvidia ${libdir}/libnvidia-glcore.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}
|
||||
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() {
|
||||
use kernel_linux && linux-mod_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
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use kernel_linux && linux-mod_pkg_postinst
|
||||
|
||||
# Switch to the nvidia implementation
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
|
||||
"${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
|
||||
|
||||
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 ebuild 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
|
||||
elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
|
||||
elog
|
||||
elog "To use the NVIDIA CUDA/OpenCL, run \"eselect opencl set nvidia\""
|
||||
elog
|
||||
elog "NVIDIA has requested that any bug reports submitted have the"
|
||||
elog "output of /opt/bin/nvidia-bug-report.sh included."
|
||||
elog
|
||||
if ! use X; then
|
||||
elog "You have elected to not install the X.org driver. Along with"
|
||||
elog "this the OpenGL libraries and VDPAU libraries were not"
|
||||
elog "installed. Additionally, once the driver is loaded your card"
|
||||
elog "and fan will run at max speed which may not be desirable."
|
||||
elog "Use the 'nvidia-smi' init script to have your card and fan"
|
||||
elog "speed scale appropriately."
|
||||
elog
|
||||
fi
|
||||
if ! use tools; then
|
||||
elog "USE=tools controls whether the nvidia-settings application"
|
||||
elog "is installed. If you would like to use it, enable that"
|
||||
elog "flag and re-emerge this ebuild. Optionally you can install"
|
||||
elog "media-video/nvidia-settings"
|
||||
elog
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use kernel_linux && linux-mod_pkg_postrm
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
|
||||
}
|
||||
|
|
@ -1,449 +0,0 @@
|
|||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-313.18.ebuild,v 1.7 2013/03/02 16:07:11 cardoe Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
|
||||
portability toolchain-funcs unpacker user udev
|
||||
|
||||
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 driver and GLX libraries"
|
||||
HOMEPAGE="http://www.nvidia.com/"
|
||||
SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
|
||||
amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
|
||||
amd64-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
|
||||
x86-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
|
||||
|
||||
LICENSE="NVIDIA"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel +tools +vanilla +X"
|
||||
RESTRICT="strip"
|
||||
EMULTILIB_PKG="true"
|
||||
|
||||
COMMON="app-admin/eselect-opencl
|
||||
kernel_linux? ( >=sys-libs/glibc-2.6.1 )
|
||||
multilib? ( app-emulation/emul-linux-x86-xlibs )
|
||||
X? (
|
||||
<x11-base/xorg-server-1.14.99
|
||||
>=app-admin/eselect-opengl-1.0.9
|
||||
)"
|
||||
DEPEND="${COMMON}
|
||||
kernel_linux? (
|
||||
virtual/linux-sources
|
||||
)"
|
||||
RDEPEND="${COMMON}
|
||||
acpi? ( sys-power/acpid )
|
||||
tools? (
|
||||
dev-libs/atk
|
||||
dev-libs/glib
|
||||
x11-libs/gdk-pixbuf
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/pango[X]
|
||||
|| ( x11-libs/pangox-compat <x11-libs/pango-1.31[X] )
|
||||
)
|
||||
X? ( >=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
|
||||
|
||||
if use kernel_linux && kernel_is ge 3 7 ; then
|
||||
if use vanilla ; then
|
||||
ewarn "Gentoo supports kernel's which are supported by NVIDIA"
|
||||
ewarn "which are limited to the following kernels:"
|
||||
ewarn "<sys-kernel/gentoo-sources-3.7"
|
||||
ewarn "<sys-kernel/vanilla-sources-3.7"
|
||||
ewarn "If you want to build anyway, disable USE=vanilla"
|
||||
else
|
||||
ewarn "USE=vanilla has been disabled and you are building for"
|
||||
ewarn "kernel 3.7 or greater. As a result, you won't be supported"
|
||||
ewarn "by NVIDIA, and you may not be supported by Gentoo."
|
||||
ewarn "The risks are yours, this may work, or may kill your hardware"
|
||||
fi
|
||||
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
|
||||
linux-mod_pkg_setup
|
||||
MODULE_NAMES="nvidia(video:${S}/kernel)"
|
||||
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_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_unpack() {
|
||||
if ! use kernel_FreeBSD; then
|
||||
cd "${S}"
|
||||
unpack_makeself
|
||||
else
|
||||
unpack ${A}
|
||||
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}"/nvidia-drivers-pax-const.patch
|
||||
epatch "${FILESDIR}"/nvidia-drivers-pax-usercopy.patch
|
||||
fi
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-313.18-builddir-config.patch
|
||||
epatch "${FILESDIR}"/${PN}-313.18-linux-3.{7,8}+.patch #447566
|
||||
|
||||
# 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
|
||||
linux-mod_src_compile
|
||||
fi
|
||||
}
|
||||
|
||||
# Install nvidia library:
|
||||
# the first parameter is the library to install
|
||||
# the second parameter is the provided soversion
|
||||
# the third parameter is the target directory if 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
|
||||
linux-mod_src_install
|
||||
|
||||
VIDEOGROUP="$(egetent group video | cut -d ':' -f 3)"
|
||||
if [ -z "$VIDEOGROUP" ]; then
|
||||
eerror "Failed to determine the video group gid."
|
||||
die "Failed to determine the video group gid."
|
||||
fi
|
||||
|
||||
# Add the aliases
|
||||
[ -f "${FILESDIR}/nvidia-169.07" ] || die "nvidia missing in FILESDIR"
|
||||
sed -e 's:PACKAGE:'${PF}':g' \
|
||||
-e 's:VIDEOGID:'${VIDEOGROUP}':' "${FILESDIR}"/nvidia-169.07 > \
|
||||
"${WORKDIR}"/nvidia
|
||||
insinto /etc/modprobe.d
|
||||
newins "${WORKDIR}"/nvidia nvidia.conf || die
|
||||
|
||||
# Ensures that our device nodes are created when not using X
|
||||
exeinto "$(udev_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" || die
|
||||
fi
|
||||
|
||||
exeinto /boot/modules
|
||||
doexe "${S}/src/nvidia.ko" || die
|
||||
fi
|
||||
|
||||
# NVIDIA kernel <-> userspace driver config lib
|
||||
donvidia ${NV_OBJ}/libnvidia-cfg.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 || die "failed to install 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"
|
||||
use tools && doman "${NV_MAN}/nvidia-settings.1"
|
||||
else
|
||||
# Docs
|
||||
newdoc "${NV_DOC}/README.txt" README
|
||||
dodoc "${NV_DOC}/NVIDIA_Changelog"
|
||||
doman "${NV_MAN}/nvidia-smi.1.gz"
|
||||
use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
|
||||
use tools && doman "${NV_MAN}/nvidia-settings.1.gz"
|
||||
doman "${NV_MAN}/nvidia-cuda-proxy-control.1.gz"
|
||||
fi
|
||||
|
||||
# Helper Apps
|
||||
exeinto /opt/bin/
|
||||
|
||||
if use X; then
|
||||
doexe ${NV_OBJ}/nvidia-xconfig || die
|
||||
fi
|
||||
|
||||
if use kernel_linux ; then
|
||||
doexe ${NV_OBJ}/nvidia-debugdump || die
|
||||
doexe ${NV_OBJ}/nvidia-cuda-proxy-control || die
|
||||
doexe ${NV_OBJ}/nvidia-cuda-proxy-server || die
|
||||
doexe ${NV_OBJ}/nvidia-smi || die
|
||||
newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
|
||||
fi
|
||||
|
||||
if use tools; then
|
||||
doexe ${NV_OBJ}/nvidia-settings || die
|
||||
fi
|
||||
|
||||
exeinto /usr/bin/
|
||||
doexe ${NV_OBJ}/nvidia-bug-report.sh || die
|
||||
|
||||
# Desktop entries for nvidia-settings
|
||||
if use tools ; then
|
||||
# There is no icon in the FreeBSD tarball.
|
||||
use kernel_FreeBSD || newicon ${NV_OBJ}/nvidia-settings.png nvidia-drivers-settings.png
|
||||
domenu "${FILESDIR}"/nvidia-drivers-settings.desktop
|
||||
exeinto /etc/X11/xinit/xinitrc.d
|
||||
doexe "${FILESDIR}"/95-nvidia-settings
|
||||
fi
|
||||
|
||||
#doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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}/libGL.so ${NV_SOVER} ${GL_ROOT}
|
||||
donvidia ${libdir}/libnvidia-glcore.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}
|
||||
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() {
|
||||
use kernel_linux && linux-mod_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
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use kernel_linux && linux-mod_pkg_postinst
|
||||
|
||||
# Switch to the nvidia implementation
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
|
||||
"${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
|
||||
|
||||
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 ebuild 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
|
||||
elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
|
||||
elog
|
||||
elog "To use the NVIDIA CUDA/OpenCL, run \"eselect opencl set nvidia\""
|
||||
elog
|
||||
elog "NVIDIA has requested that any bug reports submitted have the"
|
||||
elog "output of /opt/bin/nvidia-bug-report.sh included."
|
||||
elog
|
||||
if ! use X; then
|
||||
elog "You have elected to not install the X.org driver. Along with"
|
||||
elog "this the OpenGL libraries and VDPAU libraries were not"
|
||||
elog "installed. Additionally, once the driver is loaded your card"
|
||||
elog "and fan will run at max speed which may not be desirable."
|
||||
elog "Use the 'nvidia-smi' init script to have your card and fan"
|
||||
elog "speed scale appropriately."
|
||||
elog
|
||||
fi
|
||||
if ! use tools; then
|
||||
elog "USE=tools controls whether the nvidia-settings application"
|
||||
elog "is installed. If you would like to use it, enable that"
|
||||
elog "flag and re-emerge this ebuild. Optionally you can install"
|
||||
elog "media-video/nvidia-settings"
|
||||
elog
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use kernel_linux && linux-mod_pkg_postrm
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
|
||||
}
|
||||
|
|
@ -1,449 +0,0 @@
|
|||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-313.30.ebuild,v 1.2 2013/04/07 13:07:12 vincent Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils flag-o-matic linux-info linux-mod multilib nvidia-driver \
|
||||
portability toolchain-funcs unpacker user udev
|
||||
|
||||
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 driver and GLX libraries"
|
||||
HOMEPAGE="http://www.nvidia.com/"
|
||||
SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}.run )
|
||||
amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}.run )
|
||||
amd64-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86_64/${PV}/${AMD64_FBSD_NV_PACKAGE}.tar.gz )
|
||||
x86-fbsd? ( ftp://download.nvidia.com/XFree86/FreeBSD-x86/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
|
||||
|
||||
LICENSE="GPL-2 NVIDIA-r1"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* amd64 x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="acpi multilib kernel_FreeBSD kernel_linux pax_kernel +tools +X"
|
||||
RESTRICT="bindist mirror strip"
|
||||
EMULTILIB_PKG="true"
|
||||
|
||||
COMMON="app-admin/eselect-opencl
|
||||
kernel_linux? ( >=sys-libs/glibc-2.6.1 )
|
||||
multilib? ( app-emulation/emul-linux-x86-xlibs )
|
||||
X? (
|
||||
<x11-base/xorg-server-1.14.99
|
||||
>=app-admin/eselect-opengl-1.0.9
|
||||
)"
|
||||
DEPEND="${COMMON}
|
||||
kernel_linux? (
|
||||
virtual/linux-sources
|
||||
)"
|
||||
RDEPEND="${COMMON}
|
||||
acpi? ( sys-power/acpid )
|
||||
tools? (
|
||||
dev-libs/atk
|
||||
dev-libs/glib
|
||||
x11-libs/gdk-pixbuf
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/pango[X]
|
||||
|| ( x11-libs/pangox-compat <x11-libs/pango-1.31[X] )
|
||||
)
|
||||
X? ( >=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
|
||||
|
||||
if use kernel_linux && kernel_is ge 3 9 ; then
|
||||
ewarn "Gentoo supports kernels which are supported by NVIDIA"
|
||||
ewarn "which are limited to the following kernels:"
|
||||
ewarn "<sys-kernel/gentoo-sources-3.9"
|
||||
ewarn "<sys-kernel/vanilla-sources-3.9"
|
||||
ewarn ""
|
||||
ewarn "You are free to utilize epatch_user to provide whatever"
|
||||
ewarn "support you feel is appropriate, but will not receive"
|
||||
ewarn "support as a result of those changes."
|
||||
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
|
||||
linux-mod_pkg_setup
|
||||
MODULE_NAMES="nvidia(video:${S}/kernel)"
|
||||
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_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_unpack() {
|
||||
if ! use kernel_FreeBSD; then
|
||||
cd "${S}"
|
||||
unpack_makeself
|
||||
else
|
||||
unpack ${A}
|
||||
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}"/nvidia-drivers-pax-const.patch
|
||||
epatch "${FILESDIR}"/nvidia-drivers-pax-usercopy.patch
|
||||
fi
|
||||
|
||||
if use kernel_linux && kernel_is lt 3 9 ; then
|
||||
epatch "${FILESDIR}"/${PN}-313.18-builddir-config.patch
|
||||
#3.8 is in the upstream in this version
|
||||
# epatch "${FILESDIR}"/${PN}-313.18-linux-3.{7,8}+.patch #447566
|
||||
epatch "${FILESDIR}"/${PN}-313.18-linux-3.7+.patch #447566
|
||||
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
|
||||
linux-mod_src_compile
|
||||
fi
|
||||
}
|
||||
|
||||
# Install nvidia library:
|
||||
# the first parameter is the library to install
|
||||
# the second parameter is the provided soversion
|
||||
# the third parameter is the target directory if 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
|
||||
linux-mod_src_install
|
||||
|
||||
VIDEOGROUP="$(egetent group video | cut -d ':' -f 3)"
|
||||
if [ -z "$VIDEOGROUP" ]; then
|
||||
eerror "Failed to determine the video group gid."
|
||||
die "Failed to determine the video group gid."
|
||||
fi
|
||||
|
||||
# Add the aliases
|
||||
[ -f "${FILESDIR}/nvidia-169.07" ] || die "nvidia missing in FILESDIR"
|
||||
sed -e 's:PACKAGE:'${PF}':g' \
|
||||
-e 's:VIDEOGID:'${VIDEOGROUP}':' "${FILESDIR}"/nvidia-169.07 > \
|
||||
"${WORKDIR}"/nvidia
|
||||
insinto /etc/modprobe.d
|
||||
newins "${WORKDIR}"/nvidia nvidia.conf || die
|
||||
|
||||
# Ensures that our device nodes are created when not using X
|
||||
exeinto "$(udev_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" || die
|
||||
fi
|
||||
|
||||
exeinto /boot/modules
|
||||
doexe "${S}/src/nvidia.ko" || die
|
||||
fi
|
||||
|
||||
# NVIDIA kernel <-> userspace driver config lib
|
||||
donvidia ${NV_OBJ}/libnvidia-cfg.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 || die "failed to install 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"
|
||||
use tools && doman "${NV_MAN}/nvidia-settings.1"
|
||||
else
|
||||
# Docs
|
||||
newdoc "${NV_DOC}/README.txt" README
|
||||
dodoc "${NV_DOC}/NVIDIA_Changelog"
|
||||
doman "${NV_MAN}/nvidia-smi.1.gz"
|
||||
use X && doman "${NV_MAN}/nvidia-xconfig.1.gz"
|
||||
use tools && doman "${NV_MAN}/nvidia-settings.1.gz"
|
||||
doman "${NV_MAN}/nvidia-cuda-proxy-control.1.gz"
|
||||
fi
|
||||
|
||||
# Helper Apps
|
||||
exeinto /opt/bin/
|
||||
|
||||
if use X; then
|
||||
doexe ${NV_OBJ}/nvidia-xconfig || die
|
||||
fi
|
||||
|
||||
if use kernel_linux ; then
|
||||
doexe ${NV_OBJ}/nvidia-debugdump || die
|
||||
doexe ${NV_OBJ}/nvidia-cuda-proxy-control || die
|
||||
doexe ${NV_OBJ}/nvidia-cuda-proxy-server || die
|
||||
doexe ${NV_OBJ}/nvidia-smi || die
|
||||
newinitd "${FILESDIR}/nvidia-smi.init" nvidia-smi
|
||||
fi
|
||||
|
||||
if use tools; then
|
||||
doexe ${NV_OBJ}/nvidia-settings || die
|
||||
fi
|
||||
|
||||
exeinto /usr/bin/
|
||||
doexe ${NV_OBJ}/nvidia-bug-report.sh || die
|
||||
|
||||
# Desktop entries for nvidia-settings
|
||||
if use tools ; then
|
||||
# There is no icon in the FreeBSD tarball.
|
||||
use kernel_FreeBSD || newicon ${NV_OBJ}/nvidia-settings.png nvidia-drivers-settings.png
|
||||
domenu "${FILESDIR}"/nvidia-drivers-settings.desktop
|
||||
exeinto /etc/X11/xinit/xinitrc.d
|
||||
doexe "${FILESDIR}"/95-nvidia-settings
|
||||
fi
|
||||
|
||||
#doenvd "${FILESDIR}"/50nvidia-prelink-blacklist
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
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}/libGL.so ${NV_SOVER} ${GL_ROOT}
|
||||
donvidia ${libdir}/libnvidia-glcore.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}
|
||||
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() {
|
||||
use kernel_linux && linux-mod_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
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use kernel_linux && linux-mod_pkg_postinst
|
||||
|
||||
# Switch to the nvidia implementation
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old nvidia
|
||||
"${ROOT}"/usr/bin/eselect opencl set --use-old nvidia
|
||||
|
||||
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 ebuild 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
|
||||
elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\""
|
||||
elog
|
||||
elog "To use the NVIDIA CUDA/OpenCL, run \"eselect opencl set nvidia\""
|
||||
elog
|
||||
elog "NVIDIA has requested that any bug reports submitted have the"
|
||||
elog "output of /opt/bin/nvidia-bug-report.sh included."
|
||||
elog
|
||||
if ! use X; then
|
||||
elog "You have elected to not install the X.org driver. Along with"
|
||||
elog "this the OpenGL libraries and VDPAU libraries were not"
|
||||
elog "installed. Additionally, once the driver is loaded your card"
|
||||
elog "and fan will run at max speed which may not be desirable."
|
||||
elog "Use the 'nvidia-smi' init script to have your card and fan"
|
||||
elog "speed scale appropriately."
|
||||
elog
|
||||
fi
|
||||
if ! use tools; then
|
||||
elog "USE=tools controls whether the nvidia-settings application"
|
||||
elog "is installed. If you would like to use it, enable that"
|
||||
elog "flag and re-emerge this ebuild. Optionally you can install"
|
||||
elog "media-video/nvidia-settings"
|
||||
elog
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use kernel_linux && linux-mod_pkg_postrm
|
||||
use X && "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
|
||||
}
|
||||
Loading…
Reference in a new issue