summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin F. Quinn <kevquinn@gentoo.org>2007-02-27 23:08:37 +0000
committerKevin F. Quinn <kevquinn@gentoo.org>2007-02-27 23:08:37 +0000
commitb5b5794ff6aba4540024ddb20ff68846c782d540 (patch)
tree4bbdaacb2bbab823f30590e8a44193f4c9ffbcac /hardened/xorg/media-libs/mesa
parentAlign with CVS (diff)
downloadkevquinn-b5b5794ff6aba4540024ddb20ff68846c782d540.tar.gz
kevquinn-b5b5794ff6aba4540024ddb20ff68846c782d540.tar.bz2
kevquinn-b5b5794ff6aba4540024ddb20ff68846c782d540.zip
Updates for xorg-server-1.1.1-r4 from gentoo-x86
svn path=/; revision=184
Diffstat (limited to 'hardened/xorg/media-libs/mesa')
-rw-r--r--hardened/xorg/media-libs/mesa/Manifest85
-rw-r--r--hardened/xorg/media-libs/mesa/files/6.5.1-freebsd-dri.patch28
-rw-r--r--hardened/xorg/media-libs/mesa/files/6.5.1-i965-bufmgr.patch10
-rw-r--r--hardened/xorg/media-libs/mesa/files/6.5.1-mach64-dri-private-dma-2.patch141
-rw-r--r--hardened/xorg/media-libs/mesa/files/6.5.1-use-new-xcb-naming.patch859
-rw-r--r--hardened/xorg/media-libs/mesa/files/6.5.1-xcb-dont-unlock-twice.patch20
-rw-r--r--hardened/xorg/media-libs/mesa/files/6.5.2-i965-wine-fix.patch109
-rw-r--r--hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.13
-rw-r--r--hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r13
-rw-r--r--hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r23
-rw-r--r--hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r43
-rw-r--r--hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.23
-rw-r--r--hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.2-r13
-rw-r--r--hardened/xorg/media-libs/mesa/files/lib/libGL.la32
-rw-r--r--hardened/xorg/media-libs/mesa/files/lib/libGLU.la32
-rw-r--r--hardened/xorg/media-libs/mesa/mesa-6.5-r3.ebuild22
-rw-r--r--hardened/xorg/media-libs/mesa/mesa-6.5.1-r1.ebuild319
-rw-r--r--hardened/xorg/media-libs/mesa/mesa-6.5.1-r4.ebuild344
-rw-r--r--hardened/xorg/media-libs/mesa/mesa-6.5.2-r1.ebuild334
-rw-r--r--hardened/xorg/media-libs/mesa/mesa-6.5.2.ebuild332
20 files changed, 2641 insertions, 44 deletions
diff --git a/hardened/xorg/media-libs/mesa/Manifest b/hardened/xorg/media-libs/mesa/Manifest
index a39f4c1..9a46b02 100644
--- a/hardened/xorg/media-libs/mesa/Manifest
+++ b/hardened/xorg/media-libs/mesa/Manifest
@@ -18,6 +18,30 @@ AUX 6.5-re-order-context-destruction.patch 2295 RMD160 5c2648f9d4fca2f3abf53ad9d
MD5 621322964afb60d36444f1dfe86719b2 files/6.5-re-order-context-destruction.patch 2295
RMD160 5c2648f9d4fca2f3abf53ad9d29101fd931493be files/6.5-re-order-context-destruction.patch 2295
SHA256 dda980be89d14df3659c0d409c56e4ccd6a03afdca2e8edc502845943423a600 files/6.5-re-order-context-destruction.patch 2295
+AUX 6.5.1-freebsd-dri.patch 1255 RMD160 71ee7336e879d72a20095251899ec8c7472c6255 SHA1 503398070fe682a7021886d2da2c057eec3562fb SHA256 ddd69fc07866d1efda8a78d26708e821196e844c8d941e7fcc0e30afa18b0ed6
+MD5 b4af1ae8f957df589e6e0462cfa91dbf files/6.5.1-freebsd-dri.patch 1255
+RMD160 71ee7336e879d72a20095251899ec8c7472c6255 files/6.5.1-freebsd-dri.patch 1255
+SHA256 ddd69fc07866d1efda8a78d26708e821196e844c8d941e7fcc0e30afa18b0ed6 files/6.5.1-freebsd-dri.patch 1255
+AUX 6.5.1-i965-bufmgr.patch 324 RMD160 af86372126288309218afbf27453be595cee01a6 SHA1 0853f6a838ae3b7c6a4a5f0af570c1a24ae12a01 SHA256 4df78296e642cfe9e5b18d04d7279762faaa96c07cdf68afbf62c9e3a0bc1cb4
+MD5 792dd493bc687ddcfa1125396ab4c430 files/6.5.1-i965-bufmgr.patch 324
+RMD160 af86372126288309218afbf27453be595cee01a6 files/6.5.1-i965-bufmgr.patch 324
+SHA256 4df78296e642cfe9e5b18d04d7279762faaa96c07cdf68afbf62c9e3a0bc1cb4 files/6.5.1-i965-bufmgr.patch 324
+AUX 6.5.1-mach64-dri-private-dma-2.patch 5194 RMD160 24fbdebc6be01fc9deba0135a987e2a78a3946c9 SHA1 9d415229c8861f30251bf3e6d1c631c1dde3b540 SHA256 96610d9b697c3d6aa9f058c68f7d6de7251d402876d0fcfa47a4555326647f29
+MD5 b5f891710a01488b758ac671af7276f2 files/6.5.1-mach64-dri-private-dma-2.patch 5194
+RMD160 24fbdebc6be01fc9deba0135a987e2a78a3946c9 files/6.5.1-mach64-dri-private-dma-2.patch 5194
+SHA256 96610d9b697c3d6aa9f058c68f7d6de7251d402876d0fcfa47a4555326647f29 files/6.5.1-mach64-dri-private-dma-2.patch 5194
+AUX 6.5.1-use-new-xcb-naming.patch 52829 RMD160 3503ba00d57f35d4fc943057f79bacf1813f3852 SHA1 1e103c4bf3dce8d35dbb4fb7bb06797119384ce0 SHA256 b94d70e74209fe6c0a7e6e94b8c2ac0609ef45d585ad5ab034c0cc90d9c00e46
+MD5 ce93efe43e40d1b82c9184eaf02a75b1 files/6.5.1-use-new-xcb-naming.patch 52829
+RMD160 3503ba00d57f35d4fc943057f79bacf1813f3852 files/6.5.1-use-new-xcb-naming.patch 52829
+SHA256 b94d70e74209fe6c0a7e6e94b8c2ac0609ef45d585ad5ab034c0cc90d9c00e46 files/6.5.1-use-new-xcb-naming.patch 52829
+AUX 6.5.1-xcb-dont-unlock-twice.patch 655 RMD160 afc8427c541bbb271457e4983df2de023fa7ceda SHA1 03c75284254b8af926cbc42ed430662db0cd772f SHA256 d972afe88f70c5a1a14f66fdccca2f67d6d0f0d9e83c010e66dc577d4b3f15bd
+MD5 78ded8afd40dce99354591b6234cadf3 files/6.5.1-xcb-dont-unlock-twice.patch 655
+RMD160 afc8427c541bbb271457e4983df2de023fa7ceda files/6.5.1-xcb-dont-unlock-twice.patch 655
+SHA256 d972afe88f70c5a1a14f66fdccca2f67d6d0f0d9e83c010e66dc577d4b3f15bd files/6.5.1-xcb-dont-unlock-twice.patch 655
+AUX 6.5.2-i965-wine-fix.patch 2888 RMD160 e899ac128933eb1a65e5c79de97408679beb2a50 SHA1 741221fba69b3891665e16da5baf6e66be62449d SHA256 bc19f4b5ce44a90c6b2aeab2c1148200539791ff9d0c60c5ffc2d4d8fe5fee78
+MD5 7815fb0ffaf1d8bfa6cf9d3bda43e34a files/6.5.2-i965-wine-fix.patch 2888
+RMD160 e899ac128933eb1a65e5c79de97408679beb2a50 files/6.5.2-i965-wine-fix.patch 2888
+SHA256 bc19f4b5ce44a90c6b2aeab2c1148200539791ff9d0c60c5ffc2d4d8fe5fee78 files/6.5.2-i965-wine-fix.patch 2888
AUX change-default-dri-driver-dir-X7.1.patch 399 RMD160 169dd99888a66bf63bc528f183bd4c2b6d16b0f9 SHA1 c44dd4a468d9f4b2ed202bc914bc25d5db206a80 SHA256 8dbdbad95f47bfc18a366e091ffc1d67ff16da970181626d939a19eed46a212d
MD5 81ac0734b6194da3d9ca40d564303670 files/change-default-dri-driver-dir-X7.1.patch 399
RMD160 169dd99888a66bf63bc528f183bd4c2b6d16b0f9 files/change-default-dri-driver-dir-X7.1.patch 399
@@ -26,37 +50,41 @@ AUX gl-dispatch-pic-attempt-failed.patch 470 RMD160 d1618faae0fe8c930b4ddf543c20
MD5 4b118e3311f4a09d3e21e33a03f0bb8b files/gl-dispatch-pic-attempt-failed.patch 470
RMD160 d1618faae0fe8c930b4ddf543c20aae83c7dab1f files/gl-dispatch-pic-attempt-failed.patch 470
SHA256 0aa3dcc3dafed093d6941f05bc2476cbd70c000ed9852c67b7f5234cd02bbd5b files/gl-dispatch-pic-attempt-failed.patch 470
+AUX lib/libGL.la 755 RMD160 a60984e0d56d559c2c15bd4693e01404a7e0a408 SHA1 d6e231ffaccd1b13c3628744031cc761ffaf76d8 SHA256 b32ffd7f3f866da7dbae80ba78b1dc5b4924b33ab133b13397af9cda0a274f91
+MD5 eae9808321f1e10f5cc6520c33914b3e files/lib/libGL.la 755
+RMD160 a60984e0d56d559c2c15bd4693e01404a7e0a408 files/lib/libGL.la 755
+SHA256 b32ffd7f3f866da7dbae80ba78b1dc5b4924b33ab133b13397af9cda0a274f91 files/lib/libGL.la 755
+AUX lib/libGLU.la 752 RMD160 04de8835526a3472480d7c285dd33d497bcc0bd7 SHA1 12c57ac5e7e8a94d4d41b0f37b0fb3f470791c39 SHA256 e28519d7ae719bc106f7d4239799580474d1b69a2254ede3b2179a5e50655fe5
+MD5 9abdd26694e6f1d7bd93193f900acc6c files/lib/libGLU.la 752
+RMD160 04de8835526a3472480d7c285dd33d497bcc0bd7 files/lib/libGLU.la 752
+SHA256 e28519d7ae719bc106f7d4239799580474d1b69a2254ede3b2179a5e50655fe5 files/lib/libGLU.la 752
DIST MesaLib-6.5.1.tar.bz2 3138257 RMD160 23f8714787b053b2c41d020c7af211a02e5beab3 SHA1 cd3b314808534b0306c7f89e9a72c9c23dbff239 SHA256 e2669c9757e37f9073f539d75ced7f8f7a45b6bbb16081929ca2a306cde59df0
DIST MesaLib-6.5.2.tar.bz2 3295166 RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 SHA1 ba860bb6ee57c02202342dfd5927464a068ea18f SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f
DIST MesaLib-6.5.tar.bz2 3062363 RMD160 6006bfdfed8a2425059c31ee699b5aca4d5f57cd SHA1 a77368901b0731b662d0858aef2c405a7ddf6014 SHA256 dcacf4c18af89b57e66dc7ba39e24c3b74ff6f83b8745bcc1390170a4190eebd
-EBUILD mesa-6.5-r3.ebuild 9345 RMD160 e517d566c5f1ba5547ecdd928c3a2a291f2e6b79 SHA1 978314030ff1644c1a09e1b2fe88447048de3eab SHA256 df356315d206680e0e3408c60b77809d17fb604c592e6f17661680d5a19c472c
-MD5 1e243b80c2458e0295d4f04ddb126572 mesa-6.5-r3.ebuild 9345
-RMD160 e517d566c5f1ba5547ecdd928c3a2a291f2e6b79 mesa-6.5-r3.ebuild 9345
-SHA256 df356315d206680e0e3408c60b77809d17fb604c592e6f17661680d5a19c472c mesa-6.5-r3.ebuild 9345
+EBUILD mesa-6.5-r3.ebuild 9167 RMD160 3010292963dd1e31748a4c6325dbeb2466a5836c SHA1 3290c59465fb57ac64e9f16276365e9d6811d564 SHA256 153bdcbb30c822e817e8b6722918117f238cade73a3e69a66d4dbd3ce8a013f4
+MD5 322719f46e0956b212398bb467c1aea5 mesa-6.5-r3.ebuild 9167
+RMD160 3010292963dd1e31748a4c6325dbeb2466a5836c mesa-6.5-r3.ebuild 9167
+SHA256 153bdcbb30c822e817e8b6722918117f238cade73a3e69a66d4dbd3ce8a013f4 mesa-6.5-r3.ebuild 9167
EBUILD mesa-6.5-r4.ebuild 9264 RMD160 86c8699d8bacc4c1daf21f2c876b827cc15890ad SHA1 47549e33940d2e465bcce8c17d71f445b1216209 SHA256 b8933685afa32b41155a76de7a236a3589f6c2a4e7a9415efe324eeba0f56641
MD5 39eda827e978c4a0212ea38ca2a86c8f mesa-6.5-r4.ebuild 9264
RMD160 86c8699d8bacc4c1daf21f2c876b827cc15890ad mesa-6.5-r4.ebuild 9264
SHA256 b8933685afa32b41155a76de7a236a3589f6c2a4e7a9415efe324eeba0f56641 mesa-6.5-r4.ebuild 9264
-EBUILD mesa-6.5.1-r1.ebuild 8491 RMD160 78828811c44fa814d9d33d53f1732e8e3c7d4388 SHA1 2fe5e6069eb32833371b8baa43b4e0f0355ddcee SHA256 fc54d699f1116d3e6966cbae7d18b29c02c66b202a539fb984a9b8fbe2d780ce
-MD5 2b4f551cf027983b2f263219e7b45300 mesa-6.5.1-r1.ebuild 8491
-RMD160 78828811c44fa814d9d33d53f1732e8e3c7d4388 mesa-6.5.1-r1.ebuild 8491
-SHA256 fc54d699f1116d3e6966cbae7d18b29c02c66b202a539fb984a9b8fbe2d780ce mesa-6.5.1-r1.ebuild 8491
-EBUILD mesa-6.5.1-r2.ebuild 9028 RMD160 8206cb6ef124535cb5c30293ddf37b1e8f7cec91 SHA1 e21a68fee42fc1e45d050a24d2fbb6b147262c8c SHA256 17fb28edd839f29f976cc653b9c073cc0fde8ba0093233b745f8b181f6062c4f
-MD5 a1ddfc228ac62309188cf3db86077001 mesa-6.5.1-r2.ebuild 9028
-RMD160 8206cb6ef124535cb5c30293ddf37b1e8f7cec91 mesa-6.5.1-r2.ebuild 9028
-SHA256 17fb28edd839f29f976cc653b9c073cc0fde8ba0093233b745f8b181f6062c4f mesa-6.5.1-r2.ebuild 9028
-EBUILD mesa-6.5.1-r4.ebuild 9374 RMD160 b53fb271f678a4b1e03be96a92be744e118fda6d SHA1 608826dad53faa888260a6386151ee58f7bf3d98 SHA256 d3bd936cecd5869d80234d195f7fa9fc92892fba83df833d8b15809772650b20
-MD5 835cf06ec6edf13bbd88065feee03d59 mesa-6.5.1-r4.ebuild 9374
-RMD160 b53fb271f678a4b1e03be96a92be744e118fda6d mesa-6.5.1-r4.ebuild 9374
-SHA256 d3bd936cecd5869d80234d195f7fa9fc92892fba83df833d8b15809772650b20 mesa-6.5.1-r4.ebuild 9374
-EBUILD mesa-6.5.1.ebuild 8912 RMD160 e9739cfb6b3f2f3e3f6a2e19db4e264769ba0ffc SHA1 6e029fb9344a6d45b1af812c07dab1be018211b5 SHA256 a1260ba7073f66c114ff01f75b02b6bd26ccd1eacf1654dc217537b5402217d0
-MD5 001f4a91f29f3d2dfbc55885a9ea0f75 mesa-6.5.1.ebuild 8912
-RMD160 e9739cfb6b3f2f3e3f6a2e19db4e264769ba0ffc mesa-6.5.1.ebuild 8912
-SHA256 a1260ba7073f66c114ff01f75b02b6bd26ccd1eacf1654dc217537b5402217d0 mesa-6.5.1.ebuild 8912
-EBUILD mesa-6.5.2.ebuild 8801 RMD160 6b353ac0486f3000e89c2bce7eaab0845073b804 SHA1 3d7f1d3f326d8c285e271e2d8310396c9b445257 SHA256 6031013b3a1195c40a07ada434a6201dd4965c90698b73b27ae857407cd3b0b8
-MD5 4351448fd9094ba2789a5ecfdc8a3cdb mesa-6.5.2.ebuild 8801
-RMD160 6b353ac0486f3000e89c2bce7eaab0845073b804 mesa-6.5.2.ebuild 8801
-SHA256 6031013b3a1195c40a07ada434a6201dd4965c90698b73b27ae857407cd3b0b8 mesa-6.5.2.ebuild 8801
+EBUILD mesa-6.5.1-r1.ebuild 8566 RMD160 bb69d2b35da1e262f5c0d31266967ed588cbc152 SHA1 0e16c52af81e06c88779365e408a03b0fd1ce986 SHA256 dd893e8470d2a422795bac8cdb874d7c38952257208a5820b5e03087d1ae141f
+MD5 227f3897206468e4f0cb6778c5036329 mesa-6.5.1-r1.ebuild 8566
+RMD160 bb69d2b35da1e262f5c0d31266967ed588cbc152 mesa-6.5.1-r1.ebuild 8566
+SHA256 dd893e8470d2a422795bac8cdb874d7c38952257208a5820b5e03087d1ae141f mesa-6.5.1-r1.ebuild 8566
+EBUILD mesa-6.5.1-r4.ebuild 9325 RMD160 4c47b730c5da06d578270e8c8a506bcd183a5a63 SHA1 f8bc45a2802786978bb3407f9b8dea64d7c620a4 SHA256 8f492fd251ae5948a6a4627f2146288d337c853bdeb63161192d48aebc31140b
+MD5 402ba128e34a3566d6d058ad2eda0939 mesa-6.5.1-r4.ebuild 9325
+RMD160 4c47b730c5da06d578270e8c8a506bcd183a5a63 mesa-6.5.1-r4.ebuild 9325
+SHA256 8f492fd251ae5948a6a4627f2146288d337c853bdeb63161192d48aebc31140b mesa-6.5.1-r4.ebuild 9325
+EBUILD mesa-6.5.2-r1.ebuild 9037 RMD160 04e8cee181fd7d1a214a1c27ce230162fc9f54de SHA1 f4d7e712c067d80866ae92abb338906f52a3999d SHA256 b41f677eb85895ee3c3213198847494b30a23587172e54cf2ffc42f68099c808
+MD5 636e643ca07ca8670167a71063c897e9 mesa-6.5.2-r1.ebuild 9037
+RMD160 04e8cee181fd7d1a214a1c27ce230162fc9f54de mesa-6.5.2-r1.ebuild 9037
+SHA256 b41f677eb85895ee3c3213198847494b30a23587172e54cf2ffc42f68099c808 mesa-6.5.2-r1.ebuild 9037
+EBUILD mesa-6.5.2.ebuild 8985 RMD160 c08e39f10a72027722071a9fa6caf37cebc312a0 SHA1 792fd696d6254ce8e4b0c3b1e29317ec0554bb02 SHA256 8724b3d005228dcdfdfc05c799272a16bb73c310af895eede7caab693f3b8ef6
+MD5 430f13380cc4d0fbb3b2bda923fd0a4d mesa-6.5.2.ebuild 8985
+RMD160 c08e39f10a72027722071a9fa6caf37cebc312a0 mesa-6.5.2.ebuild 8985
+SHA256 8724b3d005228dcdfdfc05c799272a16bb73c310af895eede7caab693f3b8ef6 mesa-6.5.2.ebuild 8985
MISC TODO 206 RMD160 78c36952032bdcdcaa94f6041a6176a09428417f SHA1 ee579afbaae8cff1939e995a871eecde38ffc144 SHA256 8aaef3acbc0dca54146e87953c739b0d04cc8a8452954d32ef9f64addabe2286
MD5 537de2f65df523322b6a88c8ac6e6bd8 TODO 206
RMD160 78c36952032bdcdcaa94f6041a6176a09428417f TODO 206
@@ -67,18 +95,15 @@ SHA256 5a5ab578d50f251808ddf18cd61f6e5518224168555fc288725a8466892b4f88 files/di
MD5 80bc8bfb6472d4dcbad6e14a2595c1a9 files/digest-mesa-6.5-r4 241
RMD160 069ddf1320b547a5a5cf1af3d0611a6c35398c7e files/digest-mesa-6.5-r4 241
SHA256 5a5ab578d50f251808ddf18cd61f6e5518224168555fc288725a8466892b4f88 files/digest-mesa-6.5-r4 241
-MD5 c5825b910eaf2092a073b33f7db2d640 files/digest-mesa-6.5.1 247
-RMD160 7e176dbe4570a0c74add11e3166b2596361d14f6 files/digest-mesa-6.5.1 247
-SHA256 fcc814f186f772d396d230867bc9eeeaa1f1f348f6b53aa1bbcf23ff73ccde8f files/digest-mesa-6.5.1 247
MD5 c5825b910eaf2092a073b33f7db2d640 files/digest-mesa-6.5.1-r1 247
RMD160 7e176dbe4570a0c74add11e3166b2596361d14f6 files/digest-mesa-6.5.1-r1 247
SHA256 fcc814f186f772d396d230867bc9eeeaa1f1f348f6b53aa1bbcf23ff73ccde8f files/digest-mesa-6.5.1-r1 247
-MD5 c5825b910eaf2092a073b33f7db2d640 files/digest-mesa-6.5.1-r2 247
-RMD160 7e176dbe4570a0c74add11e3166b2596361d14f6 files/digest-mesa-6.5.1-r2 247
-SHA256 fcc814f186f772d396d230867bc9eeeaa1f1f348f6b53aa1bbcf23ff73ccde8f files/digest-mesa-6.5.1-r2 247
MD5 c5825b910eaf2092a073b33f7db2d640 files/digest-mesa-6.5.1-r4 247
RMD160 7e176dbe4570a0c74add11e3166b2596361d14f6 files/digest-mesa-6.5.1-r4 247
SHA256 fcc814f186f772d396d230867bc9eeeaa1f1f348f6b53aa1bbcf23ff73ccde8f files/digest-mesa-6.5.1-r4 247
MD5 c0c5f49d272303a5fb0883697d6594ef files/digest-mesa-6.5.2 247
RMD160 5e03f47a1a56342ba577b02e917b260302afb1a7 files/digest-mesa-6.5.2 247
SHA256 f9339d87fc164d7137d1f589bb7a5995d6a19302bf26d4002f92e9bf4d1a9821 files/digest-mesa-6.5.2 247
+MD5 c0c5f49d272303a5fb0883697d6594ef files/digest-mesa-6.5.2-r1 247
+RMD160 5e03f47a1a56342ba577b02e917b260302afb1a7 files/digest-mesa-6.5.2-r1 247
+SHA256 f9339d87fc164d7137d1f589bb7a5995d6a19302bf26d4002f92e9bf4d1a9821 files/digest-mesa-6.5.2-r1 247
diff --git a/hardened/xorg/media-libs/mesa/files/6.5.1-freebsd-dri.patch b/hardened/xorg/media-libs/mesa/files/6.5.1-freebsd-dri.patch
new file mode 100644
index 0000000..aac4ab4
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/6.5.1-freebsd-dri.patch
@@ -0,0 +1,28 @@
+--- Mesa-6.5.1/configs/freebsd-dri.orig 2006-08-17 11:09:02 -0300
++++ Mesa-6.5.1/configs/freebsd-dri 2006-09-19 19:29:35 -0300
+@@ -16,20 +16,21 @@
+ DEFINES = -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
+ -DGLX_DIRECT_RENDERING -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN
+
+-CFLAGS = -Wmissing-prototypes -g -std=c99 -Wundef -fPIC -ffast-math \
+- $(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES)
++CFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) -Wmissing-prototypes -std=c99 -Wundef -ffast-math \
++ $(ASM_FLAGS) $(X11_INCLUDES) $(DEFINES)
+
+-CXXFLAGS = $(DEFINES) -Wall -g -ansi -pedantic -fPIC
++CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(DEFINES) -Wall -ansi -pedantic $(ASM_FLAGS) $(X11_INCLUDES)
+
+ ASM_SOURCES =
+
+ # Library/program dependencies
+ LIBDRM_LIB = `pkg-config --libs libdrm`
++LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
+ DRI_LIB_DEPS = -L/usr/local/lib -lm -lpthread -lexpat $(LIBDRM_LIB)
+ GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lm -lpthread $(LIBDRM_LIB)
+
+ GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm
+-GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lXm -lX11
++GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -L/usr/X11R6/lib -lGL -lXt -lX11
+
+
+ # Directories
diff --git a/hardened/xorg/media-libs/mesa/files/6.5.1-i965-bufmgr.patch b/hardened/xorg/media-libs/mesa/files/6.5.1-i965-bufmgr.patch
new file mode 100644
index 0000000..f3a0829
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/6.5.1-i965-bufmgr.patch
@@ -0,0 +1,10 @@
+--- src/mesa/drivers/dri/i965/bufmgr_fake.c.orig 2006-11-29 00:41:37.000000000 +0200
++++ src/mesa/drivers/dri/i965/bufmgr_fake.c 2006-11-29 00:43:12.000000000 +0200
+@@ -1242,7 +1242,6 @@
+ LOCK(bm);
+ {
+ struct block *block, *tmp;
+- assert(intel->locked);
+
+ foreach_s (block, tmp, &bm->referenced) {
+
diff --git a/hardened/xorg/media-libs/mesa/files/6.5.1-mach64-dri-private-dma-2.patch b/hardened/xorg/media-libs/mesa/files/6.5.1-mach64-dri-private-dma-2.patch
new file mode 100644
index 0000000..885ab3e
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/6.5.1-mach64-dri-private-dma-2.patch
@@ -0,0 +1,141 @@
+--- src/mesa/drivers/dri/mach64/mach64_ioctl.c 2006-04-01 05:37:38.000000000 +0300
++++ src/mesa/drivers/dri/mach64-tst/mach64_ioctl.c 2006-07-18 19:43:10.000000000 +0300
+@@ -105,7 +105,7 @@ void mach64FlushVerticesLocked( mach64Co
+ int prim = mmesa->hw_primitive;
+ int fd = mmesa->driScreen->fd;
+ drm_mach64_vertex_t vertex;
+- int i, ret;
++ int i;
+
+ mmesa->num_verts = 0;
+ mmesa->vert_used = 0;
+@@ -123,6 +123,9 @@ void mach64FlushVerticesLocked( mach64Co
+ mmesa->dirty |= MACH64_UPLOAD_CLIPRECTS;
+
+ if ( !count || !(mmesa->dirty & MACH64_UPLOAD_CLIPRECTS) ) {
++ int to = 0;
++ int ret;
++
+ /* FIXME: Is this really necessary */
+ if ( nbox == 1 )
+ mmesa->sarea->nbox = 0;
+@@ -133,7 +136,10 @@ void mach64FlushVerticesLocked( mach64Co
+ vertex.buf = buffer;
+ vertex.used = count;
+ vertex.discard = 1;
+- ret = drmCommandWrite( fd, DRM_MACH64_VERTEX, &vertex, sizeof(drm_mach64_vertex_t) );
++ do {
++ ret = drmCommandWrite( fd, DRM_MACH64_VERTEX,
++ &vertex, sizeof(drm_mach64_vertex_t) );
++ } while ( ( ret == -EAGAIN ) && ( to++ < MACH64_TIMEOUT ) );
+ if ( ret ) {
+ UNLOCK_HARDWARE( mmesa );
+ fprintf( stderr, "Error flushing vertex buffer: return = %d\n", ret );
+@@ -146,6 +152,8 @@ void mach64FlushVerticesLocked( mach64Co
+ int nr = MIN2( i + MACH64_NR_SAREA_CLIPRECTS, nbox );
+ drm_clip_rect_t *b = mmesa->sarea->boxes;
+ int discard = 0;
++ int to = 0;
++ int ret;
+
+ mmesa->sarea->nbox = nr - i;
+ for ( ; i < nr ; i++ ) {
+@@ -164,7 +172,10 @@ void mach64FlushVerticesLocked( mach64Co
+ vertex.buf = buffer;
+ vertex.used = count;
+ vertex.discard = discard;
+- ret = drmCommandWrite( fd, DRM_MACH64_VERTEX, &vertex, sizeof(drm_mach64_vertex_t) );
++ do {
++ ret = drmCommandWrite( fd, DRM_MACH64_VERTEX,
++ &vertex, sizeof(drm_mach64_vertex_t) );
++ } while ( ( ret == -EAGAIN ) && ( to++ < MACH64_TIMEOUT ) );
+ if ( ret ) {
+ UNLOCK_HARDWARE( mmesa );
+ fprintf( stderr, "Error flushing vertex buffer: return = %d\n", ret );
+@@ -180,14 +191,15 @@ void mach64FlushVerticesLocked( mach64Co
+ * Texture uploads
+ */
+
+-void mach64FireBlitLocked( mach64ContextPtr mmesa, drmBufPtr buffer,
++void mach64FireBlitLocked( mach64ContextPtr mmesa, void *buffer,
+ GLint offset, GLint pitch, GLint format,
+ GLint x, GLint y, GLint width, GLint height )
+ {
+ drm_mach64_blit_t blit;
+- GLint ret;
++ int to = 0;
++ int ret;
+
+- blit.idx = buffer->idx;
++ blit.buf = buffer;
+ blit.offset = offset;
+ blit.pitch = pitch;
+ blit.format = format;
+@@ -196,8 +208,10 @@ void mach64FireBlitLocked( mach64Context
+ blit.width = width;
+ blit.height = height;
+
+- ret = drmCommandWrite( mmesa->driFd, DRM_MACH64_BLIT,
+- &blit, sizeof(drm_mach64_blit_t) );
++ do {
++ ret = drmCommandWrite( mmesa->driFd, DRM_MACH64_BLIT,
++ &blit, sizeof(drm_mach64_blit_t) );
++ } while ( ( ret == -EAGAIN ) && ( to++ < MACH64_TIMEOUT ) );
+
+ if ( ret ) {
+ UNLOCK_HARDWARE( mmesa );
+--- src/mesa/drivers/dri/mach64/mach64_ioctl.h 2005-02-01 01:40:05.000000000 +0200
++++ src/mesa/drivers/dri/mach64-tst/mach64_ioctl.h 2006-04-11 18:52:56.000000000 +0300
+@@ -74,7 +74,7 @@ static __inline void *mach64AllocDmaLock
+ return head;
+ }
+
+-extern void mach64FireBlitLocked( mach64ContextPtr mmesa, drmBufPtr buffer,
++extern void mach64FireBlitLocked( mach64ContextPtr mmesa, void *buffer,
+ GLint offset, GLint pitch, GLint format,
+ GLint x, GLint y, GLint width, GLint height );
+
+--- src/mesa/drivers/dri/mach64/mach64_screen.c 2005-10-19 05:46:42.000000000 +0300
++++ src/mesa/drivers/dri/mach64-tst/mach64_screen.c 2006-07-16 04:58:55.000000000 +0300
+@@ -520,7 +520,7 @@ void * __driCreateNewScreen_20050727( __
+ __DRIscreenPrivate *psp;
+ static const __DRIversion ddx_expected = { 6, 4, 0 };
+ static const __DRIversion dri_expected = { 4, 0, 0 };
+- static const __DRIversion drm_expected = { 1, 0, 0 };
++ static const __DRIversion drm_expected = { 2, 0, 0 };
+
+ dri_interface = interface;
+
+--- src/mesa/drivers/dri/mach64/mach64_texmem.c 2004-06-03 01:45:00.000000000 +0300
++++ src/mesa/drivers/dri/mach64-tst/mach64_texmem.c 2006-04-11 18:54:09.000000000 +0300
+@@ -569,27 +569,17 @@ static void mach64UploadLocalSubImage( m
+ remaining > 0 ;
+ remaining -= rows, y += rows, i++ )
+ {
+- drmBufPtr buffer;
+- CARD32 *dst;
+-
+ height = MIN2(remaining, rows);
+
+- /* Grab the dma buffer for the texture blit */
+- buffer = mach64GetBufferLocked( mmesa );
+-
+- dst = (CARD32 *)((char *)buffer->address + MACH64_HOSTDATA_BLIT_OFFSET);
+-
+ assert(image->Data);
+
+ {
+ const GLubyte *src = (const GLubyte *) image->Data +
+ (y * image->Width + x) * image->TexFormat->TexelBytes;
+- const GLuint bytes = width * height * image->TexFormat->TexelBytes;
+- memcpy(dst, src, bytes);
+- }
+
+- mach64FireBlitLocked( mmesa, buffer, offset, pitch, format,
+- x, y, width, height );
++ mach64FireBlitLocked( mmesa, (void *)src, offset, pitch, format,
++ x, y, width, height );
++ }
+
+ }
+
diff --git a/hardened/xorg/media-libs/mesa/files/6.5.1-use-new-xcb-naming.patch b/hardened/xorg/media-libs/mesa/files/6.5.1-use-new-xcb-naming.patch
new file mode 100644
index 0000000..857501a
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/6.5.1-use-new-xcb-naming.patch
@@ -0,0 +1,859 @@
+Index: src/glx/x11/indirect.c
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/glx/x11/indirect.c,v
+retrieving revision 1.32
+retrieving revision 1.33
+diff -u -b -B -r1.32 -r1.33
+--- src/glx/x11/indirect.c 31 Aug 2006 20:41:16 -0000 1.32
++++ src/glx/x11/indirect.c 26 Sep 2006 23:56:20 -0000 1.33
+@@ -33,8 +33,8 @@
+ #include <GL/glxproto.h>
+ #ifdef USE_XCB
+-#include <X11/xcl.h>
+-#include <X11/XCB/xcb.h>
+-#include <X11/XCB/glx.h>
++#include <X11/Xlib-xcb.h>
++#include <xcb/xcb.h>
++#include <xcb/glx.h>
+ #endif /* USE_XCB */
+
+ #define __GLX_PAD(n) (((n) + 3) & ~3)
+@@ -280,9 +280,9 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxNewList(c, gc->currentContextTag, list, mode);
++ xcb_glx_new_list(c, gc->currentContextTag, list, mode);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_NewList, cmdlen);
+ (void) memcpy((void *)(pc + 0), (void *)(&list), 4);
+@@ -302,9 +302,9 @@
+ const GLuint cmdlen = 0;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxEndList(c, gc->currentContextTag);
++ xcb_glx_end_list(c, gc->currentContextTag);
+ #else
+ (void) __glXSetupSingleRequest(gc, X_GLsop_EndList, cmdlen);
+ UnlockDisplay(dpy); SyncHandle();
+@@ -366,9 +366,9 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxDeleteLists(c, gc->currentContextTag, list, range);
++ xcb_glx_delete_lists(c, gc->currentContextTag, list, range);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_DeleteLists, cmdlen);
+ (void) memcpy((void *)(pc + 0), (void *)(&list), 4);
+@@ -389,9 +389,9 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGenListsRep *reply = XCBGlxGenListsReply(c, XCBGlxGenLists(c, gc->currentContextTag, range), NULL);
++ xcb_glx_gen_lists_reply_t *reply = xcb_glx_gen_lists_reply(c, xcb_glx_gen_lists(c, gc->currentContextTag, range), NULL);
+ retval = reply->ret_val;
+ free(reply);
+ #else
+@@ -3312,10 +3312,10 @@
+ const GLuint cmdlen = 28;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxReadPixelsRep *reply = XCBGlxReadPixelsReply(c, XCBGlxReadPixels(c, gc->currentContextTag, x, y, width, height, format, type, state->storePack.swapEndian, 0), NULL);
+- (void)memcpy(pixels, XCBGlxReadPixelsData(reply), XCBGlxReadPixelsDataLength(reply) * sizeof(GLvoid));
++ xcb_glx_read_pixels_reply_t *reply = xcb_glx_read_pixels_reply(c, xcb_glx_read_pixels(c, gc->currentContextTag, x, y, width, height, format, type, state->storePack.swapEndian, 0), NULL);
++ (void)memcpy(pixels, xcb_glx_read_pixels_data(reply), xcb_glx_read_pixels_data_length(reply) * sizeof(GLvoid));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_ReadPixels, cmdlen);
+@@ -3384,10 +3384,10 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetClipPlaneRep *reply = XCBGlxGetClipPlaneReply(c, XCBGlxGetClipPlane(c, gc->currentContextTag, plane), NULL);
+- (void)memcpy(equation, XCBGlxGetClipPlaneData(reply), XCBGlxGetClipPlaneDataLength(reply) * sizeof(GLdouble));
++ xcb_glx_get_clip_plane_reply_t *reply = xcb_glx_get_clip_plane_reply(c, xcb_glx_get_clip_plane(c, gc->currentContextTag, plane), NULL);
++ (void)memcpy(equation, xcb_glx_get_clip_plane_data(reply), xcb_glx_get_clip_plane_data_length(reply) * sizeof(GLdouble));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetClipPlane, cmdlen);
+@@ -3408,13 +3408,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetLightfvRep *reply = XCBGlxGetLightfvReply(c, XCBGlxGetLightfv(c, gc->currentContextTag, light, pname), NULL);
+- if (XCBGlxGetLightfvDataLength(reply) == 0)
++ xcb_glx_get_lightfv_reply_t *reply = xcb_glx_get_lightfv_reply(c, xcb_glx_get_lightfv(c, gc->currentContextTag, light, pname), NULL);
++ if (xcb_glx_get_lightfv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetLightfvData(reply), XCBGlxGetLightfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(params, xcb_glx_get_lightfv_data(reply), xcb_glx_get_lightfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetLightfv, cmdlen);
+@@ -3436,13 +3436,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetLightivRep *reply = XCBGlxGetLightivReply(c, XCBGlxGetLightiv(c, gc->currentContextTag, light, pname), NULL);
+- if (XCBGlxGetLightivDataLength(reply) == 0)
++ xcb_glx_get_lightiv_reply_t *reply = xcb_glx_get_lightiv_reply(c, xcb_glx_get_lightiv(c, gc->currentContextTag, light, pname), NULL);
++ if (xcb_glx_get_lightiv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetLightivData(reply), XCBGlxGetLightivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_lightiv_data(reply), xcb_glx_get_lightiv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetLightiv, cmdlen);
+@@ -3464,13 +3464,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetMapdvRep *reply = XCBGlxGetMapdvReply(c, XCBGlxGetMapdv(c, gc->currentContextTag, target, query), NULL);
+- if (XCBGlxGetMapdvDataLength(reply) == 0)
++ xcb_glx_get_mapdv_reply_t *reply = xcb_glx_get_mapdv_reply(c, xcb_glx_get_mapdv(c, gc->currentContextTag, target, query), NULL);
++ if (xcb_glx_get_mapdv_data_length(reply) == 0)
+ (void)memcpy(v, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(v, XCBGlxGetMapdvData(reply), XCBGlxGetMapdvDataLength(reply) * sizeof(GLdouble));
++ (void)memcpy(v, xcb_glx_get_mapdv_data(reply), xcb_glx_get_mapdv_data_length(reply) * sizeof(GLdouble));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMapdv, cmdlen);
+@@ -3492,13 +3492,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetMapfvRep *reply = XCBGlxGetMapfvReply(c, XCBGlxGetMapfv(c, gc->currentContextTag, target, query), NULL);
+- if (XCBGlxGetMapfvDataLength(reply) == 0)
++ xcb_glx_get_mapfv_reply_t *reply = xcb_glx_get_mapfv_reply(c, xcb_glx_get_mapfv(c, gc->currentContextTag, target, query), NULL);
++ if (xcb_glx_get_mapfv_data_length(reply) == 0)
+ (void)memcpy(v, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(v, XCBGlxGetMapfvData(reply), XCBGlxGetMapfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(v, xcb_glx_get_mapfv_data(reply), xcb_glx_get_mapfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMapfv, cmdlen);
+@@ -3520,13 +3520,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetMapivRep *reply = XCBGlxGetMapivReply(c, XCBGlxGetMapiv(c, gc->currentContextTag, target, query), NULL);
+- if (XCBGlxGetMapivDataLength(reply) == 0)
++ xcb_glx_get_mapiv_reply_t *reply = xcb_glx_get_mapiv_reply(c, xcb_glx_get_mapiv(c, gc->currentContextTag, target, query), NULL);
++ if (xcb_glx_get_mapiv_data_length(reply) == 0)
+ (void)memcpy(v, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(v, XCBGlxGetMapivData(reply), XCBGlxGetMapivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(v, xcb_glx_get_mapiv_data(reply), xcb_glx_get_mapiv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMapiv, cmdlen);
+@@ -3548,13 +3548,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetMaterialfvRep *reply = XCBGlxGetMaterialfvReply(c, XCBGlxGetMaterialfv(c, gc->currentContextTag, face, pname), NULL);
+- if (XCBGlxGetMaterialfvDataLength(reply) == 0)
++ xcb_glx_get_materialfv_reply_t *reply = xcb_glx_get_materialfv_reply(c, xcb_glx_get_materialfv(c, gc->currentContextTag, face, pname), NULL);
++ if (xcb_glx_get_materialfv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetMaterialfvData(reply), XCBGlxGetMaterialfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(params, xcb_glx_get_materialfv_data(reply), xcb_glx_get_materialfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMaterialfv, cmdlen);
+@@ -3576,13 +3576,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetMaterialivRep *reply = XCBGlxGetMaterialivReply(c, XCBGlxGetMaterialiv(c, gc->currentContextTag, face, pname), NULL);
+- if (XCBGlxGetMaterialivDataLength(reply) == 0)
++ xcb_glx_get_materialiv_reply_t *reply = xcb_glx_get_materialiv_reply(c, xcb_glx_get_materialiv(c, gc->currentContextTag, face, pname), NULL);
++ if (xcb_glx_get_materialiv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetMaterialivData(reply), XCBGlxGetMaterialivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_materialiv_data(reply), xcb_glx_get_materialiv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMaterialiv, cmdlen);
+@@ -3604,13 +3604,13 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetPixelMapfvRep *reply = XCBGlxGetPixelMapfvReply(c, XCBGlxGetPixelMapfv(c, gc->currentContextTag, map), NULL);
+- if (XCBGlxGetPixelMapfvDataLength(reply) == 0)
++ xcb_glx_get_pixel_mapfv_reply_t *reply = xcb_glx_get_pixel_mapfv_reply(c, xcb_glx_get_pixel_mapfv(c, gc->currentContextTag, map), NULL);
++ if (xcb_glx_get_pixel_mapfv_data_length(reply) == 0)
+ (void)memcpy(values, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(values, XCBGlxGetPixelMapfvData(reply), XCBGlxGetPixelMapfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(values, xcb_glx_get_pixel_mapfv_data(reply), xcb_glx_get_pixel_mapfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetPixelMapfv, cmdlen);
+@@ -3631,13 +3631,13 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetPixelMapuivRep *reply = XCBGlxGetPixelMapuivReply(c, XCBGlxGetPixelMapuiv(c, gc->currentContextTag, map), NULL);
+- if (XCBGlxGetPixelMapuivDataLength(reply) == 0)
++ xcb_glx_get_pixel_mapuiv_reply_t *reply = xcb_glx_get_pixel_mapuiv_reply(c, xcb_glx_get_pixel_mapuiv(c, gc->currentContextTag, map), NULL);
++ if (xcb_glx_get_pixel_mapuiv_data_length(reply) == 0)
+ (void)memcpy(values, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(values, XCBGlxGetPixelMapuivData(reply), XCBGlxGetPixelMapuivDataLength(reply) * sizeof(GLuint));
++ (void)memcpy(values, xcb_glx_get_pixel_mapuiv_data(reply), xcb_glx_get_pixel_mapuiv_data_length(reply) * sizeof(GLuint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetPixelMapuiv, cmdlen);
+@@ -3658,13 +3658,13 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetPixelMapusvRep *reply = XCBGlxGetPixelMapusvReply(c, XCBGlxGetPixelMapusv(c, gc->currentContextTag, map), NULL);
+- if (XCBGlxGetPixelMapusvDataLength(reply) == 0)
++ xcb_glx_get_pixel_mapusv_reply_t *reply = xcb_glx_get_pixel_mapusv_reply(c, xcb_glx_get_pixel_mapusv(c, gc->currentContextTag, map), NULL);
++ if (xcb_glx_get_pixel_mapusv_data_length(reply) == 0)
+ (void)memcpy(values, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(values, XCBGlxGetPixelMapusvData(reply), XCBGlxGetPixelMapusvDataLength(reply) * sizeof(GLushort));
++ (void)memcpy(values, xcb_glx_get_pixel_mapusv_data(reply), xcb_glx_get_pixel_mapusv_data_length(reply) * sizeof(GLushort));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetPixelMapusv, cmdlen);
+@@ -3686,10 +3686,10 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetPolygonStippleRep *reply = XCBGlxGetPolygonStippleReply(c, XCBGlxGetPolygonStipple(c, gc->currentContextTag, 0), NULL);
+- (void)memcpy(mask, XCBGlxGetPolygonStippleData(reply), XCBGlxGetPolygonStippleDataLength(reply) * sizeof(GLubyte));
++ xcb_glx_get_polygon_stipple_reply_t *reply = xcb_glx_get_polygon_stipple_reply(c, xcb_glx_get_polygon_stipple(c, gc->currentContextTag, 0), NULL);
++ (void)memcpy(mask, xcb_glx_get_polygon_stipple_data(reply), xcb_glx_get_polygon_stipple_data_length(reply) * sizeof(GLubyte));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetPolygonStipple, cmdlen);
+@@ -3710,13 +3710,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetTexEnvfvRep *reply = XCBGlxGetTexEnvfvReply(c, XCBGlxGetTexEnvfv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetTexEnvfvDataLength(reply) == 0)
++ xcb_glx_get_tex_envfv_reply_t *reply = xcb_glx_get_tex_envfv_reply(c, xcb_glx_get_tex_envfv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_tex_envfv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetTexEnvfvData(reply), XCBGlxGetTexEnvfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(params, xcb_glx_get_tex_envfv_data(reply), xcb_glx_get_tex_envfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexEnvfv, cmdlen);
+@@ -3738,13 +3738,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetTexEnvivRep *reply = XCBGlxGetTexEnvivReply(c, XCBGlxGetTexEnviv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetTexEnvivDataLength(reply) == 0)
++ xcb_glx_get_tex_enviv_reply_t *reply = xcb_glx_get_tex_enviv_reply(c, xcb_glx_get_tex_enviv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_tex_enviv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetTexEnvivData(reply), XCBGlxGetTexEnvivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_tex_enviv_data(reply), xcb_glx_get_tex_enviv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexEnviv, cmdlen);
+@@ -3766,13 +3766,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetTexGendvRep *reply = XCBGlxGetTexGendvReply(c, XCBGlxGetTexGendv(c, gc->currentContextTag, coord, pname), NULL);
+- if (XCBGlxGetTexGendvDataLength(reply) == 0)
++ xcb_glx_get_tex_gendv_reply_t *reply = xcb_glx_get_tex_gendv_reply(c, xcb_glx_get_tex_gendv(c, gc->currentContextTag, coord, pname), NULL);
++ if (xcb_glx_get_tex_gendv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetTexGendvData(reply), XCBGlxGetTexGendvDataLength(reply) * sizeof(GLdouble));
++ (void)memcpy(params, xcb_glx_get_tex_gendv_data(reply), xcb_glx_get_tex_gendv_data_length(reply) * sizeof(GLdouble));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexGendv, cmdlen);
+@@ -3794,13 +3794,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetTexGenfvRep *reply = XCBGlxGetTexGenfvReply(c, XCBGlxGetTexGenfv(c, gc->currentContextTag, coord, pname), NULL);
+- if (XCBGlxGetTexGenfvDataLength(reply) == 0)
++ xcb_glx_get_tex_genfv_reply_t *reply = xcb_glx_get_tex_genfv_reply(c, xcb_glx_get_tex_genfv(c, gc->currentContextTag, coord, pname), NULL);
++ if (xcb_glx_get_tex_genfv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetTexGenfvData(reply), XCBGlxGetTexGenfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(params, xcb_glx_get_tex_genfv_data(reply), xcb_glx_get_tex_genfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexGenfv, cmdlen);
+@@ -3822,13 +3822,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetTexGenivRep *reply = XCBGlxGetTexGenivReply(c, XCBGlxGetTexGeniv(c, gc->currentContextTag, coord, pname), NULL);
+- if (XCBGlxGetTexGenivDataLength(reply) == 0)
++ xcb_glx_get_tex_geniv_reply_t *reply = xcb_glx_get_tex_geniv_reply(c, xcb_glx_get_tex_geniv(c, gc->currentContextTag, coord, pname), NULL);
++ if (xcb_glx_get_tex_geniv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetTexGenivData(reply), XCBGlxGetTexGenivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_tex_geniv_data(reply), xcb_glx_get_tex_geniv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexGeniv, cmdlen);
+@@ -3851,10 +3851,10 @@
+ const GLuint cmdlen = 20;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetTexImageRep *reply = XCBGlxGetTexImageReply(c, XCBGlxGetTexImage(c, gc->currentContextTag, target, level, format, type, state->storePack.swapEndian), NULL);
+- (void)memcpy(pixels, XCBGlxGetTexImageData(reply), XCBGlxGetTexImageDataLength(reply) * sizeof(GLvoid));
++ xcb_glx_get_tex_image_reply_t *reply = xcb_glx_get_tex_image_reply(c, xcb_glx_get_tex_image(c, gc->currentContextTag, target, level, format, type, state->storePack.swapEndian), NULL);
++ (void)memcpy(pixels, xcb_glx_get_tex_image_data(reply), xcb_glx_get_tex_image_data_length(reply) * sizeof(GLvoid));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexImage, cmdlen);
+@@ -3880,13 +3880,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetTexParameterfvRep *reply = XCBGlxGetTexParameterfvReply(c, XCBGlxGetTexParameterfv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetTexParameterfvDataLength(reply) == 0)
++ xcb_glx_get_tex_parameterfv_reply_t *reply = xcb_glx_get_tex_parameterfv_reply(c, xcb_glx_get_tex_parameterfv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_tex_parameterfv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetTexParameterfvData(reply), XCBGlxGetTexParameterfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(params, xcb_glx_get_tex_parameterfv_data(reply), xcb_glx_get_tex_parameterfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexParameterfv, cmdlen);
+@@ -3908,13 +3908,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetTexParameterivRep *reply = XCBGlxGetTexParameterivReply(c, XCBGlxGetTexParameteriv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetTexParameterivDataLength(reply) == 0)
++ xcb_glx_get_tex_parameteriv_reply_t *reply = xcb_glx_get_tex_parameteriv_reply(c, xcb_glx_get_tex_parameteriv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_tex_parameteriv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetTexParameterivData(reply), XCBGlxGetTexParameterivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_tex_parameteriv_data(reply), xcb_glx_get_tex_parameteriv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexParameteriv, cmdlen);
+@@ -3936,13 +3936,13 @@
+ const GLuint cmdlen = 12;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetTexLevelParameterfvRep *reply = XCBGlxGetTexLevelParameterfvReply(c, XCBGlxGetTexLevelParameterfv(c, gc->currentContextTag, target, level, pname), NULL);
+- if (XCBGlxGetTexLevelParameterfvDataLength(reply) == 0)
++ xcb_glx_get_tex_level_parameterfv_reply_t *reply = xcb_glx_get_tex_level_parameterfv_reply(c, xcb_glx_get_tex_level_parameterfv(c, gc->currentContextTag, target, level, pname), NULL);
++ if (xcb_glx_get_tex_level_parameterfv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetTexLevelParameterfvData(reply), XCBGlxGetTexLevelParameterfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(params, xcb_glx_get_tex_level_parameterfv_data(reply), xcb_glx_get_tex_level_parameterfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexLevelParameterfv, cmdlen);
+@@ -3965,13 +3965,13 @@
+ const GLuint cmdlen = 12;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetTexLevelParameterivRep *reply = XCBGlxGetTexLevelParameterivReply(c, XCBGlxGetTexLevelParameteriv(c, gc->currentContextTag, target, level, pname), NULL);
+- if (XCBGlxGetTexLevelParameterivDataLength(reply) == 0)
++ xcb_glx_get_tex_level_parameteriv_reply_t *reply = xcb_glx_get_tex_level_parameteriv_reply(c, xcb_glx_get_tex_level_parameteriv(c, gc->currentContextTag, target, level, pname), NULL);
++ if (xcb_glx_get_tex_level_parameteriv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetTexLevelParameterivData(reply), XCBGlxGetTexLevelParameterivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_tex_level_parameteriv_data(reply), xcb_glx_get_tex_level_parameteriv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetTexLevelParameteriv, cmdlen);
+@@ -3995,9 +3995,9 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxIsListRep *reply = XCBGlxIsListReply(c, XCBGlxIsList(c, gc->currentContextTag, list), NULL);
++ xcb_glx_is_list_reply_t *reply = xcb_glx_is_list_reply(c, xcb_glx_is_list(c, gc->currentContextTag, list), NULL);
+ retval = reply->ret_val;
+ free(reply);
+ #else
+@@ -4311,10 +4311,10 @@
+ const GLuint cmdlen = 4 + __GLX_PAD((n * 4));
+ if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxAreTexturesResidentRep *reply = XCBGlxAreTexturesResidentReply(c, XCBGlxAreTexturesResident(c, gc->currentContextTag, n, textures), NULL);
+- (void)memcpy(residences, XCBGlxAreTexturesResidentData(reply), XCBGlxAreTexturesResidentDataLength(reply) * sizeof(GLboolean));
++ xcb_glx_are_textures_resident_reply_t *reply = xcb_glx_are_textures_resident_reply(c, xcb_glx_are_textures_resident(c, gc->currentContextTag, n, textures), NULL);
++ (void)memcpy(residences, xcb_glx_are_textures_resident_data(reply), xcb_glx_are_textures_resident_data_length(reply) * sizeof(GLboolean));
+ retval = reply->ret_val;
+ free(reply);
+ #else
+@@ -4426,10 +4426,10 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGenTexturesRep *reply = XCBGlxGenTexturesReply(c, XCBGlxGenTextures(c, gc->currentContextTag, n), NULL);
+- (void)memcpy(textures, XCBGlxGenTexturesData(reply), XCBGlxGenTexturesDataLength(reply) * sizeof(GLuint));
++ xcb_glx_gen_textures_reply_t *reply = xcb_glx_gen_textures_reply(c, xcb_glx_gen_textures(c, gc->currentContextTag, n), NULL);
++ (void)memcpy(textures, xcb_glx_gen_textures_data(reply), xcb_glx_gen_textures_data_length(reply) * sizeof(GLuint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GenTextures, cmdlen);
+@@ -4451,9 +4451,9 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxIsTextureRep *reply = XCBGlxIsTextureReply(c, XCBGlxIsTexture(c, gc->currentContextTag, texture), NULL);
++ xcb_glx_is_texture_reply_t *reply = xcb_glx_is_texture_reply(c, xcb_glx_is_texture(c, gc->currentContextTag, texture), NULL);
+ retval = reply->ret_val;
+ free(reply);
+ #else
+@@ -4672,10 +4672,10 @@
+ const GLuint cmdlen = 16;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetColorTableRep *reply = XCBGlxGetColorTableReply(c, XCBGlxGetColorTable(c, gc->currentContextTag, target, format, type, state->storePack.swapEndian), NULL);
+- (void)memcpy(table, XCBGlxGetColorTableData(reply), XCBGlxGetColorTableDataLength(reply) * sizeof(GLvoid));
++ xcb_glx_get_color_table_reply_t *reply = xcb_glx_get_color_table_reply(c, xcb_glx_get_color_table(c, gc->currentContextTag, target, format, type, state->storePack.swapEndian), NULL);
++ (void)memcpy(table, xcb_glx_get_color_table_data(reply), xcb_glx_get_color_table_data_length(reply) * sizeof(GLvoid));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetColorTable, cmdlen);
+@@ -4700,13 +4700,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetColorTableParameterfvRep *reply = XCBGlxGetColorTableParameterfvReply(c, XCBGlxGetColorTableParameterfv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetColorTableParameterfvDataLength(reply) == 0)
++ xcb_glx_get_color_table_parameterfv_reply_t *reply = xcb_glx_get_color_table_parameterfv_reply(c, xcb_glx_get_color_table_parameterfv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_color_table_parameterfv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetColorTableParameterfvData(reply), XCBGlxGetColorTableParameterfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(params, xcb_glx_get_color_table_parameterfv_data(reply), xcb_glx_get_color_table_parameterfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetColorTableParameterfv, cmdlen);
+@@ -4728,13 +4728,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetColorTableParameterivRep *reply = XCBGlxGetColorTableParameterivReply(c, XCBGlxGetColorTableParameteriv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetColorTableParameterivDataLength(reply) == 0)
++ xcb_glx_get_color_table_parameteriv_reply_t *reply = xcb_glx_get_color_table_parameteriv_reply(c, xcb_glx_get_color_table_parameteriv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_color_table_parameteriv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetColorTableParameterivData(reply), XCBGlxGetColorTableParameterivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_color_table_parameteriv_data(reply), xcb_glx_get_color_table_parameteriv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetColorTableParameteriv, cmdlen);
+@@ -4965,10 +4965,10 @@
+ const GLuint cmdlen = 16;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetConvolutionFilterRep *reply = XCBGlxGetConvolutionFilterReply(c, XCBGlxGetConvolutionFilter(c, gc->currentContextTag, target, format, type, state->storePack.swapEndian), NULL);
+- (void)memcpy(image, XCBGlxGetConvolutionFilterData(reply), XCBGlxGetConvolutionFilterDataLength(reply) * sizeof(GLvoid));
++ xcb_glx_get_convolution_filter_reply_t *reply = xcb_glx_get_convolution_filter_reply(c, xcb_glx_get_convolution_filter(c, gc->currentContextTag, target, format, type, state->storePack.swapEndian), NULL);
++ (void)memcpy(image, xcb_glx_get_convolution_filter_data(reply), xcb_glx_get_convolution_filter_data_length(reply) * sizeof(GLvoid));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetConvolutionFilter, cmdlen);
+@@ -4993,13 +4993,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetConvolutionParameterfvRep *reply = XCBGlxGetConvolutionParameterfvReply(c, XCBGlxGetConvolutionParameterfv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetConvolutionParameterfvDataLength(reply) == 0)
++ xcb_glx_get_convolution_parameterfv_reply_t *reply = xcb_glx_get_convolution_parameterfv_reply(c, xcb_glx_get_convolution_parameterfv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_convolution_parameterfv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetConvolutionParameterfvData(reply), XCBGlxGetConvolutionParameterfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(params, xcb_glx_get_convolution_parameterfv_data(reply), xcb_glx_get_convolution_parameterfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetConvolutionParameterfv, cmdlen);
+@@ -5021,13 +5021,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetConvolutionParameterivRep *reply = XCBGlxGetConvolutionParameterivReply(c, XCBGlxGetConvolutionParameteriv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetConvolutionParameterivDataLength(reply) == 0)
++ xcb_glx_get_convolution_parameteriv_reply_t *reply = xcb_glx_get_convolution_parameteriv_reply(c, xcb_glx_get_convolution_parameteriv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_convolution_parameteriv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetConvolutionParameterivData(reply), XCBGlxGetConvolutionParameterivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_convolution_parameteriv_data(reply), xcb_glx_get_convolution_parameteriv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetConvolutionParameteriv, cmdlen);
+@@ -5050,10 +5050,10 @@
+ const GLuint cmdlen = 16;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetHistogramRep *reply = XCBGlxGetHistogramReply(c, XCBGlxGetHistogram(c, gc->currentContextTag, target, reset, format, type, state->storePack.swapEndian), NULL);
+- (void)memcpy(values, XCBGlxGetHistogramData(reply), XCBGlxGetHistogramDataLength(reply) * sizeof(GLvoid));
++ xcb_glx_get_histogram_reply_t *reply = xcb_glx_get_histogram_reply(c, xcb_glx_get_histogram(c, gc->currentContextTag, target, reset, format, type, state->storePack.swapEndian), NULL);
++ (void)memcpy(values, xcb_glx_get_histogram_data(reply), xcb_glx_get_histogram_data_length(reply) * sizeof(GLvoid));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetHistogram, cmdlen);
+@@ -5079,13 +5079,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetHistogramParameterfvRep *reply = XCBGlxGetHistogramParameterfvReply(c, XCBGlxGetHistogramParameterfv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetHistogramParameterfvDataLength(reply) == 0)
++ xcb_glx_get_histogram_parameterfv_reply_t *reply = xcb_glx_get_histogram_parameterfv_reply(c, xcb_glx_get_histogram_parameterfv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_histogram_parameterfv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetHistogramParameterfvData(reply), XCBGlxGetHistogramParameterfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(params, xcb_glx_get_histogram_parameterfv_data(reply), xcb_glx_get_histogram_parameterfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetHistogramParameterfv, cmdlen);
+@@ -5107,13 +5107,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetHistogramParameterivRep *reply = XCBGlxGetHistogramParameterivReply(c, XCBGlxGetHistogramParameteriv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetHistogramParameterivDataLength(reply) == 0)
++ xcb_glx_get_histogram_parameteriv_reply_t *reply = xcb_glx_get_histogram_parameteriv_reply(c, xcb_glx_get_histogram_parameteriv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_histogram_parameteriv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetHistogramParameterivData(reply), XCBGlxGetHistogramParameterivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_histogram_parameteriv_data(reply), xcb_glx_get_histogram_parameteriv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetHistogramParameteriv, cmdlen);
+@@ -5136,10 +5136,10 @@
+ const GLuint cmdlen = 16;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetMinmaxRep *reply = XCBGlxGetMinmaxReply(c, XCBGlxGetMinmax(c, gc->currentContextTag, target, reset, format, type, state->storePack.swapEndian), NULL);
+- (void)memcpy(values, XCBGlxGetMinmaxData(reply), XCBGlxGetMinmaxDataLength(reply) * sizeof(GLvoid));
++ xcb_glx_get_minmax_reply_t *reply = xcb_glx_get_minmax_reply(c, xcb_glx_get_minmax(c, gc->currentContextTag, target, reset, format, type, state->storePack.swapEndian), NULL);
++ (void)memcpy(values, xcb_glx_get_minmax_data(reply), xcb_glx_get_minmax_data_length(reply) * sizeof(GLvoid));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMinmax, cmdlen);
+@@ -5165,13 +5165,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetMinmaxParameterfvRep *reply = XCBGlxGetMinmaxParameterfvReply(c, XCBGlxGetMinmaxParameterfv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetMinmaxParameterfvDataLength(reply) == 0)
++ xcb_glx_get_minmax_parameterfv_reply_t *reply = xcb_glx_get_minmax_parameterfv_reply(c, xcb_glx_get_minmax_parameterfv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_minmax_parameterfv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetMinmaxParameterfvData(reply), XCBGlxGetMinmaxParameterfvDataLength(reply) * sizeof(GLfloat));
++ (void)memcpy(params, xcb_glx_get_minmax_parameterfv_data(reply), xcb_glx_get_minmax_parameterfv_data_length(reply) * sizeof(GLfloat));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMinmaxParameterfv, cmdlen);
+@@ -5193,13 +5193,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetMinmaxParameterivRep *reply = XCBGlxGetMinmaxParameterivReply(c, XCBGlxGetMinmaxParameteriv(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetMinmaxParameterivDataLength(reply) == 0)
++ xcb_glx_get_minmax_parameteriv_reply_t *reply = xcb_glx_get_minmax_parameteriv_reply(c, xcb_glx_get_minmax_parameteriv(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_minmax_parameteriv_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetMinmaxParameterivData(reply), XCBGlxGetMinmaxParameterivDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_minmax_parameteriv_data(reply), xcb_glx_get_minmax_parameteriv_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetMinmaxParameteriv, cmdlen);
+@@ -6578,9 +6578,9 @@
+ const GLuint cmdlen = 4 + __GLX_PAD((n * 4));
+ if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxDeleteQueriesARB(c, gc->currentContextTag, n, ids);
++ xcb_glx_delete_queries_arb(c, gc->currentContextTag, n, ids);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_DeleteQueriesARB, cmdlen);
+ (void) memcpy((void *)(pc + 0), (void *)(&n), 4);
+@@ -6612,10 +6612,10 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect((n >= 0) && (dpy != NULL), 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGenQueriesARBRep *reply = XCBGlxGenQueriesARBReply(c, XCBGlxGenQueriesARB(c, gc->currentContextTag, n), NULL);
+- (void)memcpy(ids, XCBGlxGenQueriesARBData(reply), XCBGlxGenQueriesARBDataLength(reply) * sizeof(GLuint));
++ xcb_glx_gen_queries_arb_reply_t *reply = xcb_glx_gen_queries_arb_reply(c, xcb_glx_gen_queries_arb(c, gc->currentContextTag, n), NULL);
++ (void)memcpy(ids, xcb_glx_gen_queries_arb_data(reply), xcb_glx_gen_queries_arb_data_length(reply) * sizeof(GLuint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GenQueriesARB, cmdlen);
+@@ -6636,13 +6636,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetQueryObjectivARBRep *reply = XCBGlxGetQueryObjectivARBReply(c, XCBGlxGetQueryObjectivARB(c, gc->currentContextTag, id, pname), NULL);
+- if (XCBGlxGetQueryObjectivARBDataLength(reply) == 0)
++ xcb_glx_get_query_objectiv_arb_reply_t *reply = xcb_glx_get_query_objectiv_arb_reply(c, xcb_glx_get_query_objectiv_arb(c, gc->currentContextTag, id, pname), NULL);
++ if (xcb_glx_get_query_objectiv_arb_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetQueryObjectivARBData(reply), XCBGlxGetQueryObjectivARBDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_query_objectiv_arb_data(reply), xcb_glx_get_query_objectiv_arb_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetQueryObjectivARB, cmdlen);
+@@ -6664,13 +6664,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetQueryObjectuivARBRep *reply = XCBGlxGetQueryObjectuivARBReply(c, XCBGlxGetQueryObjectuivARB(c, gc->currentContextTag, id, pname), NULL);
+- if (XCBGlxGetQueryObjectuivARBDataLength(reply) == 0)
++ xcb_glx_get_query_objectuiv_arb_reply_t *reply = xcb_glx_get_query_objectuiv_arb_reply(c, xcb_glx_get_query_objectuiv_arb(c, gc->currentContextTag, id, pname), NULL);
++ if (xcb_glx_get_query_objectuiv_arb_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetQueryObjectuivARBData(reply), XCBGlxGetQueryObjectuivARBDataLength(reply) * sizeof(GLuint));
++ (void)memcpy(params, xcb_glx_get_query_objectuiv_arb_data(reply), xcb_glx_get_query_objectuiv_arb_data_length(reply) * sizeof(GLuint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetQueryObjectuivARB, cmdlen);
+@@ -6692,13 +6692,13 @@
+ const GLuint cmdlen = 8;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxGetQueryivARBRep *reply = XCBGlxGetQueryivARBReply(c, XCBGlxGetQueryivARB(c, gc->currentContextTag, target, pname), NULL);
+- if (XCBGlxGetQueryivARBDataLength(reply) == 0)
++ xcb_glx_get_queryiv_arb_reply_t *reply = xcb_glx_get_queryiv_arb_reply(c, xcb_glx_get_queryiv_arb(c, gc->currentContextTag, target, pname), NULL);
++ if (xcb_glx_get_queryiv_arb_data_length(reply) == 0)
+ (void)memcpy(params, &reply->datum, sizeof(reply->datum));
+ else
+- (void)memcpy(params, XCBGlxGetQueryivARBData(reply), XCBGlxGetQueryivARBDataLength(reply) * sizeof(GLint));
++ (void)memcpy(params, xcb_glx_get_queryiv_arb_data(reply), xcb_glx_get_queryiv_arb_data_length(reply) * sizeof(GLint));
+ free(reply);
+ #else
+ GLubyte const * pc = __glXSetupSingleRequest(gc, X_GLsop_GetQueryivARB, cmdlen);
+@@ -6721,9 +6721,9 @@
+ const GLuint cmdlen = 4;
+ if (__builtin_expect(dpy != NULL, 1)) {
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ (void) __glXFlushRenderBuffer(gc, gc->pc);
+- XCBGlxIsQueryARBRep *reply = XCBGlxIsQueryARBReply(c, XCBGlxIsQueryARB(c, gc->currentContextTag, id), NULL);
++ xcb_glx_is_query_arb_reply_t *reply = xcb_glx_is_query_arb_reply(c, xcb_glx_is_query_arb(c, gc->currentContextTag, id), NULL);
+ retval = reply->ret_val;
+ free(reply);
+ #else
+Index: src/glx/x11/glxext.c
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/glx/x11/glxext.c,v
+retrieving revision 1.24
+retrieving revision 1.25
+diff -u -b -B -r1.24 -r1.25
+--- src/glx/x11/glxext.c 29 Aug 2006 15:38:19 -0000 1.24
++++ src/glx/x11/glxext.c 26 Sep 2006 23:56:20 -0000 1.25
+@@ -65,8 +65,8 @@
+
+ #ifdef USE_XCB
+-#include <X11/xcl.h>
+-#include <X11/XCB/xcb.h>
+-#include <X11/XCB/glx.h>
++#include <X11/Xlib-xcb.h>
++#include <xcb/xcb.h>
++#include <xcb/glx.h>
+ #endif
+
+ #include <assert.h>
+@@ -1284,7 +1284,7 @@
+ {
+ Display * const dpy = ctx->currentDpy;
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
+ #else
+ xGLXRenderReq *req;
+ #endif /* USE_XCB */
+@@ -1292,7 +1292,7 @@
+
+ if ( (dpy != NULL) && (size > 0) ) {
+ #ifdef USE_XCB
+- XCBGlxRender(c, ctx->currentContextTag, size, (char *)ctx->buf);
++ xcb_glx_render(c, ctx->currentContextTag, size, (char *)ctx->buf);
+ #else
+ /* Send the entire buffer as an X request */
+ LockDisplay(dpy);
+@@ -1335,8 +1335,8 @@
+ {
+ Display *dpy = gc->currentDpy;
+ #ifdef USE_XCB
+- XCBConnection *c = XCBConnectionOfDisplay(dpy);
+- XCBGlxRenderLarge(c, gc->currentContextTag, requestNumber, totalRequests, dataLen, data);
++ xcb_connection_t *c = XGetXCBConnection(dpy);
++ xcb_glx_render_large(c, gc->currentContextTag, requestNumber, totalRequests, dataLen, data);
+ #else
+ xGLXRenderLargeReq *req;
+
diff --git a/hardened/xorg/media-libs/mesa/files/6.5.1-xcb-dont-unlock-twice.patch b/hardened/xorg/media-libs/mesa/files/6.5.1-xcb-dont-unlock-twice.patch
new file mode 100644
index 0000000..be68fcc
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/6.5.1-xcb-dont-unlock-twice.patch
@@ -0,0 +1,20 @@
+Index: src/glx/x11/glxext.c
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/glx/x11/glxext.c,v
+retrieving revision 1.27
+diff -u -b -B -r1.27 glxext.c
+--- src/glx/x11/glxext.c 7 Oct 2006 02:52:18 -0000 1.27
++++ src/glx/x11/glxext.c 9 Oct 2006 00:54:05 -0000
+@@ -1016,11 +1016,11 @@
+ if (!_XReply(dpy, (xReply*) &reply, 0, False)) {
+ /* Something is busted. Punt. */
+ UnlockDisplay(dpy);
++ SyncHandle();
+ FreeScreenConfigs(priv);
+ return GL_FALSE;
+ }
+
+- UnlockDisplay(dpy);
+ if (!reply.numVisuals) {
+ /* This screen does not support GL rendering */
+ UnlockDisplay(dpy);
diff --git a/hardened/xorg/media-libs/mesa/files/6.5.2-i965-wine-fix.patch b/hardened/xorg/media-libs/mesa/files/6.5.2-i965-wine-fix.patch
new file mode 100644
index 0000000..63acd15
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/6.5.2-i965-wine-fix.patch
@@ -0,0 +1,109 @@
+--- a/src/mesa/drivers/dri/i965/brw_context.h
++++ b/src/mesa/drivers/dri/i965/brw_context.h
+@@ -599,6 +599,7 @@ struct brw_context
+
+ struct {
+ struct brw_wm_prog_data *prog_data;
++ struct brw_wm_compile *compile_data;
+
+ /* Input sizes, calculated from active vertex program:
+ */
+diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
+index 3e2f2d0..0f842d2 100644
+--- a/src/mesa/drivers/dri/i965/brw_wm.c
++++ b/src/mesa/drivers/dri/i965/brw_wm.c
+@@ -138,64 +138,75 @@ static void do_wm_prog( struct brw_conte
+ struct brw_fragment_program *fp,
+ struct brw_wm_prog_key *key)
+ {
+- struct brw_wm_compile c;
++ struct brw_wm_compile *c;
+ const GLuint *program;
+ GLuint program_size;
+
+- memset(&c, 0, sizeof(c));
+- memcpy(&c.key, key, sizeof(*key));
++ c = brw->wm.compile_data;
++ if (c == NULL) {
++ brw->wm.compile_data = calloc(1, sizeof(*brw->wm.compile_data));
++ c = brw->wm.compile_data;
++ } else {
++ memset(c, 0, sizeof(*brw->wm.compile_data));
++ }
++ memcpy(&c->key, key, sizeof(*key));
+
+- c.fp = fp;
+- c.env_param = brw->intel.ctx.FragmentProgram.Parameters;
++ c->fp = fp;
++ c->env_param = brw->intel.ctx.FragmentProgram.Parameters;
+
+
+ /* Augment fragment program. Add instructions for pre- and
+ * post-fragment-program tasks such as interpolation and fogging.
+ */
+- brw_wm_pass_fp(&c);
++ brw_wm_pass_fp(c);
+
+ /* Translate to intermediate representation. Build register usage
+ * chains.
+ */
+- brw_wm_pass0(&c);
++ brw_wm_pass0(c);
+
+ /* Dead code removal.
+ */
+- brw_wm_pass1(&c);
++ brw_wm_pass1(c);
+
+ /* Hal optimization
+ */
+- brw_wm_pass_hal (&c);
++ brw_wm_pass_hal (c);
+
+ /* Register allocation.
+ */
+- c.grf_limit = BRW_WM_MAX_GRF/2;
++ c->grf_limit = BRW_WM_MAX_GRF/2;
+
+ /* This is where we start emitting gen4 code:
+ */
+- brw_init_compile(&c.func);
++ brw_init_compile(&c->func);
+
+- brw_wm_pass2(&c);
++ brw_wm_pass2(c);
+
+- c.prog_data.total_grf = c.max_wm_grf;
+- c.prog_data.total_scratch = c.last_scratch ? c.last_scratch + 0x40 : 0;
++ c->prog_data.total_grf = c->max_wm_grf;
++ if (c->last_scratch) {
++ c->prog_data.total_scratch =
++ c->last_scratch + 0x40;
++ } else {
++ c->prog_data.total_scratch = 0;
++ }
+
+ /* Emit GEN4 code.
+ */
+- brw_wm_emit(&c);
++ brw_wm_emit(c);
+
+ /* get the program
+ */
+- program = brw_get_program(&c.func, &program_size);
++ program = brw_get_program(&c->func, &program_size);
+
+ /*
+ */
+ brw->wm.prog_gs_offset = brw_upload_cache( &brw->cache[BRW_WM_PROG],
+- &c.key,
+- sizeof(c.key),
++ &c->key,
++ sizeof(c->key),
+ program,
+ program_size,
+- &c.prog_data,
++ &c->prog_data,
+ &brw->wm.prog_data );
+ }
+
diff --git a/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1 b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1
new file mode 100644
index 0000000..45b5cf1
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1
@@ -0,0 +1,3 @@
+MD5 c46f2c6646a270911b791dd8e1c2d977 MesaLib-6.5.1.tar.bz2 3138257
+RMD160 23f8714787b053b2c41d020c7af211a02e5beab3 MesaLib-6.5.1.tar.bz2 3138257
+SHA256 e2669c9757e37f9073f539d75ced7f8f7a45b6bbb16081929ca2a306cde59df0 MesaLib-6.5.1.tar.bz2 3138257
diff --git a/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r1 b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r1
new file mode 100644
index 0000000..45b5cf1
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r1
@@ -0,0 +1,3 @@
+MD5 c46f2c6646a270911b791dd8e1c2d977 MesaLib-6.5.1.tar.bz2 3138257
+RMD160 23f8714787b053b2c41d020c7af211a02e5beab3 MesaLib-6.5.1.tar.bz2 3138257
+SHA256 e2669c9757e37f9073f539d75ced7f8f7a45b6bbb16081929ca2a306cde59df0 MesaLib-6.5.1.tar.bz2 3138257
diff --git a/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r2 b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r2
new file mode 100644
index 0000000..45b5cf1
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r2
@@ -0,0 +1,3 @@
+MD5 c46f2c6646a270911b791dd8e1c2d977 MesaLib-6.5.1.tar.bz2 3138257
+RMD160 23f8714787b053b2c41d020c7af211a02e5beab3 MesaLib-6.5.1.tar.bz2 3138257
+SHA256 e2669c9757e37f9073f539d75ced7f8f7a45b6bbb16081929ca2a306cde59df0 MesaLib-6.5.1.tar.bz2 3138257
diff --git a/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r4 b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r4
new file mode 100644
index 0000000..45b5cf1
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.1-r4
@@ -0,0 +1,3 @@
+MD5 c46f2c6646a270911b791dd8e1c2d977 MesaLib-6.5.1.tar.bz2 3138257
+RMD160 23f8714787b053b2c41d020c7af211a02e5beab3 MesaLib-6.5.1.tar.bz2 3138257
+SHA256 e2669c9757e37f9073f539d75ced7f8f7a45b6bbb16081929ca2a306cde59df0 MesaLib-6.5.1.tar.bz2 3138257
diff --git a/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.2 b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.2
new file mode 100644
index 0000000..ee5bf23
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.2
@@ -0,0 +1,3 @@
+MD5 e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2 3295166
+RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 MesaLib-6.5.2.tar.bz2 3295166
+SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f MesaLib-6.5.2.tar.bz2 3295166
diff --git a/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.2-r1 b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.2-r1
new file mode 100644
index 0000000..ee5bf23
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5.2-r1
@@ -0,0 +1,3 @@
+MD5 e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2 3295166
+RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 MesaLib-6.5.2.tar.bz2 3295166
+SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f MesaLib-6.5.2.tar.bz2 3295166
diff --git a/hardened/xorg/media-libs/mesa/files/lib/libGL.la b/hardened/xorg/media-libs/mesa/files/lib/libGL.la
new file mode 100644
index 0000000..cc2fd24
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/lib/libGL.la
@@ -0,0 +1,32 @@
+# libGL.la - a libtool library file
+# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18)
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libGL.so.1'
+
+# Names of this library.
+library_names='libGL.so.1.2 libGL.so.1 libGL.so'
+
+# The name of the static archive.
+old_library=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -L/usr/${libdir} -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread '
+
+# Version information for libGL.
+current=3
+age=2
+revision=0
+
+# Is this an already installed library?
+installed=yes
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/${libdir}'
diff --git a/hardened/xorg/media-libs/mesa/files/lib/libGLU.la b/hardened/xorg/media-libs/mesa/files/lib/libGLU.la
new file mode 100644
index 0000000..cc76b4b
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/lib/libGLU.la
@@ -0,0 +1,32 @@
+# libGLU.la - a libtool library file
+# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18)
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libGLU.so.1'
+
+# Names of this library.
+library_names='libGLU.so.1.3 libGLU.so.1 libGLU.so'
+
+# The name of the static archive.
+old_library=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -L/usr/lib -lGL -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread '
+
+# Version information for libGLU.
+current=4
+age=3
+revision=0
+
+# Is this an already installed library?
+installed=yes
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/lib'
diff --git a/hardened/xorg/media-libs/mesa/mesa-6.5-r3.ebuild b/hardened/xorg/media-libs/mesa/mesa-6.5-r3.ebuild
index 05f2ce0..0461db4 100644
--- a/hardened/xorg/media-libs/mesa/mesa-6.5-r3.ebuild
+++ b/hardened/xorg/media-libs/mesa/mesa-6.5-r3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-6.5-r3.ebuild,v 1.12 2006/08/25 20:53:37 hanno Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-6.5-r3.ebuild,v 1.13 2006/10/11 02:26:49 dberkholz Exp $
inherit eutils toolchain-funcs multilib flag-o-matic portability
@@ -36,6 +36,7 @@ IUSE="${IUSE_VIDEO_CARDS}
motif
nptl"
+RESTRICT="stricter"
RDEPEND="dev-libs/expat
x11-libs/libX11
x11-libs/libXext
@@ -75,10 +76,6 @@ pkg_setup() {
append-flags -fno-strict-aliasing
- if use hardened; then
- append-flags -Wa,--noexecstack
- fi
-
if [[ ${KERNEL} == "FreeBSD" ]]; then
CONFIG="freebsd"
elif use x86; then
@@ -102,7 +99,6 @@ src_unpack() {
epatch ${FILESDIR}/change-default-dri-driver-dir-X7.1.patch
epatch ${FILESDIR}/6.4-multilib-fix.patch
epatch ${FILESDIR}/6.5-re-order-context-destruction.patch
- epatch ${FILESDIR}/6.5-pic-textrel-fix.patch
# Don't compile debug code with USE=-debug - bug #125004
if ! use debug; then
@@ -187,19 +183,17 @@ src_unpack() {
# Set drivers to everything on which we ran add_drivers()
echo "DRI_DIRS = ${DRI_DRIVERS}" >> ${HOSTCONF}
-# if use hardened; then
-# einfo "Deactivating assembly code for hardened build"
-# echo "ASM_FLAGS =" >> ${HOSTCONF}
-# echo "ASM_SOURCES =" >> ${HOSTCONF}
-# einfo "Deactivating assembly dispatcher (execheap)"
-# echo "ASM_API =" >> ${HOSTCONF}
-# fi
+ if use hardened; then
+ einfo "Deactivating assembly code for hardened build"
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ echo "ASM_API =" >> ${HOSTCONF}
+ fi
if use sparc; then
einfo "Sparc assembly code is not working; deactivating"
echo "ASM_FLAGS =" >> ${HOSTCONF}
echo "ASM_SOURCES =" >> ${HOSTCONF}
- echo "ASM_API =" >> ${HOSTCONF}
fi
# Kill this; we don't want /usr/X11R6/lib ever to be searched in this
diff --git a/hardened/xorg/media-libs/mesa/mesa-6.5.1-r1.ebuild b/hardened/xorg/media-libs/mesa/mesa-6.5.1-r1.ebuild
new file mode 100644
index 0000000..c297f0e
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/mesa-6.5.1-r1.ebuild
@@ -0,0 +1,319 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-6.5.1-r1.ebuild,v 1.13 2007/02/17 21:43:28 blubb Exp $
+
+inherit eutils toolchain-funcs multilib flag-o-matic portability
+
+OPENGL_DIR="xorg-x11"
+
+MY_PN="${PN/m/M}"
+MY_P="${MY_PN}-${PV}"
+MY_SRC_P="${MY_PN}Lib-${PV}"
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2"
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd"
+IUSE_VIDEO_CARDS="
+ video_cards_i810
+ video_cards_mach64
+ video_cards_mga
+ video_cards_none
+ video_cards_r128
+ video_cards_radeon
+ video_cards_s3virge
+ video_cards_savage
+ video_cards_sis
+ video_cards_sunffb
+ video_cards_tdfx
+ video_cards_trident
+ video_cards_via"
+IUSE="${IUSE_VIDEO_CARDS}
+ debug
+ doc
+ hardened
+ motif
+ nptl"
+
+#RESTRICT="stricter"
+RDEPEND="dev-libs/expat
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ x11-libs/libXi
+ x11-libs/libXmu
+ >=x11-libs/libdrm-2.0.2
+ x11-libs/libICE
+ app-admin/eselect-opengl
+ motif? ( virtual/motif )
+ doc? ( app-doc/opengl-manpages )
+ !<=x11-base/xorg-x11-6.9"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ x11-misc/makedepend
+ x11-proto/inputproto
+ x11-proto/xextproto
+ !hppa? ( x11-proto/xf86driproto )
+ x11-proto/xf86vidmodeproto
+ >=x11-proto/glproto-1.4.8
+ motif? ( x11-proto/printproto )"
+
+S="${WORKDIR}/${MY_P}"
+
+# Think about: ggi, svga, fbcon, no-X configs
+
+if use debug; then
+ if ! has splitdebug ${FEATURES}; then
+ RESTRICT="${RESTRICT} nostrip"
+ fi
+fi
+
+pkg_setup() {
+ if use debug; then
+ strip-flags
+ append-flags -g
+ fi
+
+ append-flags -fno-strict-aliasing
+
+ if use x86-fbsd; then
+ CONFIG="freebsd-dri-x86"
+ elif use amd64-fbsd; then
+ CONFIG="freebsd-dri-amd64"
+ elif use kernel_FreeBSD; then
+ CONFIG="freebsd-dri"
+ elif use x86 ; then
+ CONFIG="linux-dri-x86"
+ elif use amd64; then
+ [[ ${ABI} == "amd64" ]] && CONFIG="linux-dri-x86-64"
+ [[ ${ABI} == "x86" ]] && CONFIG="linux-dri-x86"
+ elif use ppc; then
+ CONFIG="linux-dri-ppc"
+ else
+ CONFIG="linux-dri"
+ fi
+}
+
+src_unpack() {
+ HOSTCONF="${S}/configs/${CONFIG}"
+
+ unpack ${A}
+ # Fixes for bug #146892
+ epatch "${FILESDIR}"/6.5.1-freebsd-dri.patch
+ cd ${S}
+ epatch "${FILESDIR}"/6.5-pic-textrel-fix.patch
+ # FreeBSD 6.* doesn't have posix_memalign().
+ [[ ${CHOST} == *-freebsd6.* ]] && sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configs/freebsd{,-dri}
+
+ # Don't compile debug code with USE=-debug - bug #125004
+ if ! use debug; then
+ einfo "Removing DO_DEBUG defs in dri drivers..."
+ find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;
+ fi
+
+ # Set up libdir
+ echo "LIB_DIR = $(get_libdir)" >> ${HOSTCONF}
+
+ # Set default dri drivers directory
+ echo 'DRI_DRIVER_SEARCH_DIR = /usr/$(LIB_DIR)/dri' >> ${HOSTCONF}
+
+ # Do we want thread-local storage (TLS)?
+ if use nptl; then
+ echo "ARCH_FLAGS += -DGLX_USE_TLS" >> ${HOSTCONF}
+ fi
+
+ echo "X11_INCLUDES = `pkg-config --cflags-only-I x11`" >> ${HOSTCONF}
+
+ # Configurable DRI drivers
+ if use video_cards_i810; then
+ add_drivers i810 i915 i965
+ fi
+ if use video_cards_mach64; then
+ add_drivers mach64
+ fi
+ if use video_cards_mga; then
+ add_drivers mga
+ fi
+ if use video_cards_r128; then
+ add_drivers r128
+ fi
+ if use video_cards_radeon; then
+ add_drivers radeon r200 r300
+ fi
+ if use video_cards_s3virge; then
+ add_drivers s3v
+ fi
+ if use video_cards_savage; then
+ add_drivers savage
+ fi
+ if use video_cards_sis; then
+ add_drivers sis
+ fi
+ if use video_cards_sunffb; then
+ add_drivers ffb
+ fi
+ if use video_cards_tdfx; then
+ add_drivers tdfx
+ fi
+ if use video_cards_trident; then
+ add_drivers trident
+ fi
+ if use video_cards_via; then
+ add_drivers unichrome
+ fi
+
+ # Set drivers to everything on which we ran add_drivers()
+ echo "DRI_DIRS = ${DRI_DRIVERS}" >> ${HOSTCONF}
+
+ if use hardened; then
+ einfo "Deactivating assembly code for hardened build"
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ echo "ASM_API =" >> ${HOSTCONF}
+ fi
+
+ if use sparc; then
+ einfo "Sparc assembly code is not working; deactivating"
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ fi
+
+ # Replace hardcoded /usr/X11R6 with this
+ echo "EXTRA_LIB_PATH = `pkg-config --libs-only-L x11`" >> ${HOSTCONF}
+
+ echo 'CFLAGS = $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)' >> ${HOSTCONF}
+ echo "OPT_FLAGS = ${CFLAGS}" >> ${HOSTCONF}
+ echo "CC = $(tc-getCC)" >> ${HOSTCONF}
+ echo "CXX = $(tc-getCXX)" >> ${HOSTCONF}
+ # bug #110840 - Build with PIC, since it hasn't been shown to slow it down
+ echo "PIC_FLAGS = -fPIC" >> ${HOSTCONF}
+
+ # Removed glut, since we have separate freeglut/glut ebuilds
+ # Remove EGL, since Brian Paul says it's not ready for a release
+ echo "SRC_DIRS = glx/x11 mesa glu glw" >> ${HOSTCONF}
+
+ # Get rid of glut includes
+ rm -f ${S}/include/GL/glut*h
+
+ # r200 breaks without this, since it's the only EGL-enabled driver so far
+ echo "USING_EGL = 0" >> ${HOSTCONF}
+
+ # Don't build EGL demos. EGL isn't ready for release, plus they produce a
+ # circular dependency with glut.
+ echo "PROGRAM_DIRS =" >> ${HOSTCONF}
+
+ # Documented in configs/default
+ if use motif; then
+ # Add -lXm
+ echo "GLW_LIB_DEPS += -lXm" >> ${HOSTCONF}
+ # Add GLwMDrawA.c
+ echo "GLW_SOURCES += GLwMDrawA.c" >> ${HOSTCONF}
+ fi
+}
+
+src_compile() {
+ emake -j1 ${CONFIG} || die "Build failed"
+}
+
+src_install() {
+ dodir /usr
+ make \
+ INSTALL_DIR="${D}/usr" \
+ DRI_DRIVER_INSTALL_DIR="${D}/usr/\$(LIB_DIR)/dri" \
+ INCLUDE_DIR="${D}/usr/include" \
+ install || die "Installation failed"
+
+ if ! use motif; then
+ rm ${D}/usr/include/GL/GLwMDrawA.h
+ fi
+
+ # Don't install private headers
+ rm ${D}/usr/include/GL/GLw*P.h
+
+ fix_opengl_symlinks
+ dynamic_libgl_install
+
+ # Install libtool archives
+ insinto /usr/$(get_libdir)
+ # (#67729) Needs to be lib, not $(get_libdir)
+ doins ${FILESDIR}/lib/libGLU.la
+ sed -e "s:\${libdir}:$(get_libdir):g" ${FILESDIR}/lib/libGL.la \
+ > ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
+
+ # On *BSD libcs dlopen() and similar functions are present directly in
+ # libc.so and does not require linking to libdl. portability eclass takes
+ # care of finding the needed library (if needed) witht the dlopen_lib
+ # function.
+ sed -i -e 's:-ldl:'$(dlopen_lib)':g' \
+ ${D}/usr/$(get_libdir)/libGLU.la \
+ ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
+
+ # Create the two-number versioned libs (.so.#.#), since only .so.# and
+ # .so.#.#.# were made
+ dosym libGLU.so.1.3.060501 /usr/$(get_libdir)/libGLU.so.1.3
+ dosym libGLw.so.1.0.0 /usr/$(get_libdir)/libGLw.so.1.0
+
+ # libGLU doesn't get the plain .so symlink either
+ dosym libGLU.so.1 /usr/$(get_libdir)/libGLU.so
+
+ # Figure out why libGL.so.1.5 is built (directfb), and why it's linked to
+ # as the default libGL.so.1
+}
+
+pkg_postinst() {
+ switch_opengl_implem
+}
+
+fix_opengl_symlinks() {
+ # Remove invalid symlinks
+ local LINK
+ for LINK in $(find ${D}/usr/$(get_libdir) \
+ -name libGL\.* -type l); do
+ rm -f ${LINK}
+ done
+ # Create required symlinks
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # FreeBSD doesn't use major.minor versioning, so the library is only
+ # libGL.so.1 and no libGL.so.1.2 is ever used there, thus only create
+ # libGL.so symlink and leave libGL.so.1 being the real thing
+ dosym libGL.so.1 /usr/$(get_libdir)/libGL.so
+ else
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so.1
+ fi
+}
+
+dynamic_libgl_install() {
+ # next section is to setup the dynamic libGL stuff
+ ebegin "Moving libGL and friends for dynamic switching"
+ dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include}
+ local x=""
+ for x in ${D}/usr/$(get_libdir)/libGL.so* \
+ ${D}/usr/$(get_libdir)/libGL.la \
+ ${D}/usr/$(get_libdir)/libGL.a; do
+ if [ -f ${x} -o -L ${x} ]; then
+ # libGL.a cause problems with tuxracer, etc
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib
+ fi
+ done
+ # glext.h added for #54984
+ for x in ${D}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include
+ fi
+ done
+ eend 0
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set --use-old ${OPENGL_DIR}
+}
+
+add_drivers() {
+ DRI_DRIVERS="${DRI_DRIVERS} $@"
+}
diff --git a/hardened/xorg/media-libs/mesa/mesa-6.5.1-r4.ebuild b/hardened/xorg/media-libs/mesa/mesa-6.5.1-r4.ebuild
new file mode 100644
index 0000000..ef31db8
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/mesa-6.5.1-r4.ebuild
@@ -0,0 +1,344 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-6.5.1-r4.ebuild,v 1.3 2006/12/08 05:01:09 joshuabaergen Exp $
+
+inherit eutils toolchain-funcs multilib flag-o-matic portability
+
+OPENGL_DIR="xorg-x11"
+
+MY_PN="${PN/m/M}"
+MY_P="${MY_PN}-${PV}"
+MY_SRC_P="${MY_PN}Lib-${PV}"
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2"
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE_VIDEO_CARDS="
+ video_cards_i810
+ video_cards_mach64
+ video_cards_mga
+ video_cards_none
+ video_cards_r128
+ video_cards_radeon
+ video_cards_s3virge
+ video_cards_savage
+ video_cards_sis
+ video_cards_sunffb
+ video_cards_tdfx
+ video_cards_trident
+ video_cards_via"
+IUSE="${IUSE_VIDEO_CARDS}
+ debug
+ doc
+ hardened
+ motif
+ nptl
+ xcb"
+
+RESTRICT="stricter"
+RDEPEND="dev-libs/expat
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ x11-libs/libXi
+ x11-libs/libXmu
+ >=x11-libs/libdrm-2.2
+ x11-libs/libICE
+ app-admin/eselect-opengl
+ motif? ( virtual/motif )
+ doc? ( app-doc/opengl-manpages )
+ !<=x11-base/xorg-x11-6.9
+ xcb? ( x11-libs/libxcb )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ x11-misc/makedepend
+ x11-proto/inputproto
+ x11-proto/xextproto
+ !hppa? ( x11-proto/xf86driproto )
+ x11-proto/xf86vidmodeproto
+ >=x11-proto/glproto-1.4.8
+ motif? ( x11-proto/printproto )"
+
+S="${WORKDIR}/${MY_P}"
+
+# Think about: ggi, svga, fbcon, no-X configs
+
+if use debug; then
+ if ! has splitdebug ${FEATURES}; then
+ RESTRICT="${RESTRICT} nostrip"
+ fi
+fi
+
+pkg_setup() {
+ if use xcb; then
+ if ! built_with_use x11-libs/libX11 xcb; then
+ msg="You must build libX11 with xcb enabled."
+ eerror ${msg}
+ die ${msg}
+ fi
+ fi
+
+ if use debug; then
+ strip-flags
+ append-flags -g
+ fi
+
+ append-flags -fno-strict-aliasing
+
+ if use x86-fbsd; then
+ CONFIG="freebsd-dri-x86"
+ elif use amd64-fbsd; then
+ CONFIG="freebsd-dri-amd64"
+ elif use kernel_FreeBSD; then
+ CONFIG="freebsd-dri"
+ elif use x86; then
+ CONFIG="linux-dri-x86"
+ elif use amd64; then
+ CONFIG="linux-dri-x86-64"
+ elif use ppc; then
+ CONFIG="linux-dri-ppc"
+ else
+ CONFIG="linux-dri"
+ fi
+}
+
+src_unpack() {
+ HOSTCONF="${S}/configs/${CONFIG}"
+
+ unpack ${A}
+ # Fixes for bug #146892
+ epatch "${FILESDIR}"/6.5.1-freebsd-dri.patch
+ cd ${S}
+ # FreeBSD 6.* doesn't have posix_memalign().
+ [[ ${CHOST} == *-freebsd6.* ]] && sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configs/freebsd{,-dri}
+
+ # Fixes for fd.o bug #8521
+ epatch "${FILESDIR}"/${PV}-xcb-dont-unlock-twice.patch
+
+ # Use XCB API as of 1.0RC2
+ epatch "${FILESDIR}"/${PV}-use-new-xcb-naming.patch
+
+ # Fix compile against newer libdrm bug #154827
+ epatch "${FILESDIR}"/${PV}-mach64-dri-private-dma-2.patch
+
+ # Fix 965 driver bug #156569
+ epatch "${FILESDIR}"/${PV}-i965-bufmgr.patch
+
+ # Don't compile debug code with USE=-debug - bug #125004
+ if ! use debug; then
+ einfo "Removing DO_DEBUG defs in dri drivers..."
+ find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;
+ fi
+
+ # Set up libdir
+ echo "LIB_DIR = $(get_libdir)" >> ${HOSTCONF}
+
+ # Set default dri drivers directory
+ echo 'DRI_DRIVER_SEARCH_DIR = /usr/$(LIB_DIR)/dri' >> ${HOSTCONF}
+
+ # Do we want thread-local storage (TLS)?
+ if use nptl; then
+ echo "ARCH_FLAGS += -DGLX_USE_TLS" >> ${HOSTCONF}
+ fi
+
+ echo "X11_INCLUDES = `pkg-config --cflags-only-I x11`" >> ${HOSTCONF}
+ if use xcb; then
+ echo "DEFINES += -DUSE_XCB" >> ${HOSTCONF}
+ echo "X11_INCLUDES += `pkg-config --cflags-only-I xcb` `pkg-config --cflags-only-I x11-xcb` `pkg-config --cflags-only-I xcb-glx`" >> ${HOSTCONF}
+ echo "GL_LIB_DEPS += `pkg-config --libs xcb` `pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`" >> ${HOSTCONF}
+ fi
+
+ # Configurable DRI drivers
+ if use video_cards_i810; then
+ add_drivers i810 i915 i965
+ fi
+ if use video_cards_mach64; then
+ add_drivers mach64
+ fi
+ if use video_cards_mga; then
+ add_drivers mga
+ fi
+ if use video_cards_r128; then
+ add_drivers r128
+ fi
+ if use video_cards_radeon; then
+ add_drivers radeon r200 r300
+ fi
+ if use video_cards_s3virge; then
+ add_drivers s3v
+ fi
+ if use video_cards_savage; then
+ add_drivers savage
+ fi
+ if use video_cards_sis; then
+ add_drivers sis
+ fi
+ if use video_cards_sunffb; then
+ add_drivers ffb
+ fi
+ if use video_cards_tdfx; then
+ add_drivers tdfx
+ fi
+ if use video_cards_trident; then
+ add_drivers trident
+ fi
+ if use video_cards_via; then
+ add_drivers unichrome
+ fi
+
+ # Set drivers to everything on which we ran add_drivers()
+ echo "DRI_DIRS = ${DRI_DRIVERS}" >> ${HOSTCONF}
+
+ if use hardened; then
+ einfo "Deactivating assembly code for hardened build"
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ echo "ASM_API =" >> ${HOSTCONF}
+ fi
+
+ if use sparc; then
+ einfo "Sparc assembly code is not working; deactivating"
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ fi
+
+ # Replace hardcoded /usr/X11R6 with this
+ echo "EXTRA_LIB_PATH = `pkg-config --libs-only-L x11`" >> ${HOSTCONF}
+
+ echo 'CFLAGS = $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)' >> ${HOSTCONF}
+ echo "OPT_FLAGS = ${CFLAGS}" >> ${HOSTCONF}
+ echo "CC = $(tc-getCC)" >> ${HOSTCONF}
+ echo "CXX = $(tc-getCXX)" >> ${HOSTCONF}
+ # bug #110840 - Build with PIC, since it hasn't been shown to slow it down
+ echo "PIC_FLAGS = -fPIC" >> ${HOSTCONF}
+
+ # Removed glut, since we have separate freeglut/glut ebuilds
+ # Remove EGL, since Brian Paul says it's not ready for a release
+ echo "SRC_DIRS = glx/x11 mesa glu glw" >> ${HOSTCONF}
+
+ # Get rid of glut includes
+ rm -f ${S}/include/GL/glut*h
+
+ # r200 breaks without this, since it's the only EGL-enabled driver so far
+ echo "USING_EGL = 0" >> ${HOSTCONF}
+
+ # Don't build EGL demos. EGL isn't ready for release, plus they produce a
+ # circular dependency with glut.
+ echo "PROGRAM_DIRS =" >> ${HOSTCONF}
+
+ # Documented in configs/default
+ if use motif; then
+ # Add -lXm
+ echo "GLW_LIB_DEPS += -lXm" >> ${HOSTCONF}
+ # Add GLwMDrawA.c
+ echo "GLW_SOURCES += GLwMDrawA.c" >> ${HOSTCONF}
+ fi
+}
+
+src_compile() {
+ emake -j1 ${CONFIG} || die "Build failed"
+}
+
+src_install() {
+ dodir /usr
+ make \
+ INSTALL_DIR="${D}/usr" \
+ DRI_DRIVER_INSTALL_DIR="${D}/usr/\$(LIB_DIR)/dri" \
+ INCLUDE_DIR="${D}/usr/include" \
+ install || die "Installation failed"
+
+ if ! use motif; then
+ rm ${D}/usr/include/GL/GLwMDrawA.h
+ fi
+
+ # Don't install private headers
+ rm ${D}/usr/include/GL/GLw*P.h
+
+ fix_opengl_symlinks
+ dynamic_libgl_install
+
+ # Install libtool archives
+ insinto /usr/$(get_libdir)
+ # (#67729) Needs to be lib, not $(get_libdir)
+ doins ${FILESDIR}/lib/libGLU.la
+ sed -e "s:\${libdir}:$(get_libdir):g" ${FILESDIR}/lib/libGL.la \
+ > ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
+
+ # On *BSD libcs dlopen() and similar functions are present directly in
+ # libc.so and does not require linking to libdl. portability eclass takes
+ # care of finding the needed library (if needed) witht the dlopen_lib
+ # function.
+ sed -i -e 's:-ldl:'$(dlopen_lib)':g' \
+ ${D}/usr/$(get_libdir)/libGLU.la \
+ ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
+
+ # Create the two-number versioned libs (.so.#.#), since only .so.# and
+ # .so.#.#.# were made
+ dosym libGLU.so.1.3.060501 /usr/$(get_libdir)/libGLU.so.1.3
+ dosym libGLw.so.1.0.0 /usr/$(get_libdir)/libGLw.so.1.0
+
+ # libGLU doesn't get the plain .so symlink either
+ dosym libGLU.so.1 /usr/$(get_libdir)/libGLU.so
+
+ # Figure out why libGL.so.1.5 is built (directfb), and why it's linked to
+ # as the default libGL.so.1
+}
+
+pkg_postinst() {
+ switch_opengl_implem
+}
+
+fix_opengl_symlinks() {
+ # Remove invalid symlinks
+ local LINK
+ for LINK in $(find ${D}/usr/$(get_libdir) \
+ -name libGL\.* -type l); do
+ rm -f ${LINK}
+ done
+ # Create required symlinks
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # FreeBSD doesn't use major.minor versioning, so the library is only
+ # libGL.so.1 and no libGL.so.1.2 is ever used there, thus only create
+ # libGL.so symlink and leave libGL.so.1 being the real thing
+ dosym libGL.so.1 /usr/$(get_libdir)/libGL.so
+ else
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so.1
+ fi
+}
+
+dynamic_libgl_install() {
+ # next section is to setup the dynamic libGL stuff
+ ebegin "Moving libGL and friends for dynamic switching"
+ dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include}
+ local x=""
+ for x in ${D}/usr/$(get_libdir)/libGL.so* \
+ ${D}/usr/$(get_libdir)/libGL.la \
+ ${D}/usr/$(get_libdir)/libGL.a; do
+ if [ -f ${x} -o -L ${x} ]; then
+ # libGL.a cause problems with tuxracer, etc
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib
+ fi
+ done
+ # glext.h added for #54984
+ for x in ${D}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include
+ fi
+ done
+ eend 0
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set --use-old ${OPENGL_DIR}
+}
+
+add_drivers() {
+ DRI_DRIVERS="${DRI_DRIVERS} $@"
+}
diff --git a/hardened/xorg/media-libs/mesa/mesa-6.5.2-r1.ebuild b/hardened/xorg/media-libs/mesa/mesa-6.5.2-r1.ebuild
new file mode 100644
index 0000000..9042794
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/mesa-6.5.2-r1.ebuild
@@ -0,0 +1,334 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-6.5.2-r1.ebuild,v 1.1 2007/02/19 22:21:17 joshuabaergen Exp $
+
+inherit eutils toolchain-funcs multilib flag-o-matic portability
+
+OPENGL_DIR="xorg-x11"
+
+MY_PN="${PN/m/M}"
+MY_P="${MY_PN}-${PV}"
+MY_SRC_P="${MY_PN}Lib-${PV}"
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2"
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE_VIDEO_CARDS="
+ video_cards_i810
+ video_cards_mach64
+ video_cards_mga
+ video_cards_none
+ video_cards_r128
+ video_cards_radeon
+ video_cards_s3virge
+ video_cards_savage
+ video_cards_sis
+ video_cards_sunffb
+ video_cards_tdfx
+ video_cards_trident
+ video_cards_via"
+IUSE="${IUSE_VIDEO_CARDS}
+ debug
+ doc
+ hardened
+ motif
+ nptl
+ xcb"
+
+RESTRICT="stricter"
+RDEPEND="dev-libs/expat
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ x11-libs/libXi
+ x11-libs/libXmu
+ >=x11-libs/libdrm-2.2
+ x11-libs/libICE
+ app-admin/eselect-opengl
+ motif? ( virtual/motif )
+ doc? ( app-doc/opengl-manpages )
+ !<=x11-base/xorg-x11-6.9
+ xcb? ( x11-libs/libxcb )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ x11-misc/makedepend
+ x11-proto/inputproto
+ x11-proto/xextproto
+ !hppa? ( x11-proto/xf86driproto )
+ x11-proto/xf86vidmodeproto
+ >=x11-proto/glproto-1.4.8
+ motif? ( x11-proto/printproto )"
+
+S="${WORKDIR}/${MY_P}"
+
+# Think about: ggi, svga, fbcon, no-X configs
+
+if use debug; then
+ if ! has splitdebug ${FEATURES}; then
+ RESTRICT="${RESTRICT} nostrip"
+ fi
+fi
+
+pkg_setup() {
+ if use xcb; then
+ if ! built_with_use x11-libs/libX11 xcb; then
+ msg="You must build libX11 with xcb enabled."
+ eerror ${msg}
+ die ${msg}
+ fi
+ fi
+
+ if use debug; then
+ strip-flags
+ append-flags -g
+ fi
+
+ append-flags -fno-strict-aliasing
+
+ if use x86-fbsd; then
+ CONFIG="freebsd-dri-x86"
+ elif use amd64-fbsd; then
+ CONFIG="freebsd-dri-amd64"
+ elif use kernel_FreeBSD; then
+ CONFIG="freebsd-dri"
+ elif use x86; then
+ CONFIG="linux-dri-x86"
+ elif use amd64; then
+ [[ ${ABI} == "amd64" ]] && CONFIG="linux-dri-x86-64"
+ [[ ${ABI} == "x86" ]] && CONFIG="linux-dri-x86"
+ elif use ppc; then
+ CONFIG="linux-dri-ppc"
+ else
+ CONFIG="linux-dri"
+ fi
+}
+
+src_unpack() {
+ HOSTCONF="${S}/configs/${CONFIG}"
+
+ unpack ${A}
+ cd ${S}
+
+ epatch "${FILESDIR}/${PV}-i965-wine-fix.patch"
+
+ # FreeBSD 6.* doesn't have posix_memalign().
+ [[ ${CHOST} == *-freebsd6.* ]] && sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configs/freebsd{,-dri}
+
+ # Don't compile debug code with USE=-debug - bug #125004
+ if ! use debug; then
+ einfo "Removing DO_DEBUG defs in dri drivers..."
+ find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;
+ fi
+
+ # Set up libdir
+ echo "LIB_DIR = $(get_libdir)" >> ${HOSTCONF}
+
+ # Set default dri drivers directory
+ echo 'DRI_DRIVER_SEARCH_DIR = /usr/$(LIB_DIR)/dri' >> ${HOSTCONF}
+
+ # Do we want thread-local storage (TLS)?
+ if use nptl; then
+ echo "ARCH_FLAGS += -DGLX_USE_TLS" >> ${HOSTCONF}
+ fi
+
+ echo "X11_INCLUDES = `pkg-config --cflags-only-I x11`" >> ${HOSTCONF}
+ if use xcb; then
+ echo "DEFINES += -DUSE_XCB" >> ${HOSTCONF}
+ echo "X11_INCLUDES += `pkg-config --cflags-only-I xcb` `pkg-config --cflags-only-I x11-xcb` `pkg-config --cflags-only-I xcb-glx`" >> ${HOSTCONF}
+ echo "GL_LIB_DEPS += `pkg-config --libs xcb` `pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`" >> ${HOSTCONF}
+ fi
+
+ # Configurable DRI drivers
+ if use video_cards_i810; then
+ add_drivers i810 i915 i915tex i965
+ fi
+ if use video_cards_mach64; then
+ add_drivers mach64
+ fi
+ if use video_cards_mga; then
+ add_drivers mga
+ fi
+ if use video_cards_r128; then
+ add_drivers r128
+ fi
+ if use video_cards_radeon; then
+ add_drivers radeon r200 r300
+ fi
+ if use video_cards_s3virge; then
+ add_drivers s3v
+ fi
+ if use video_cards_savage; then
+ add_drivers savage
+ fi
+ if use video_cards_sis; then
+ add_drivers sis
+ fi
+ if use video_cards_sunffb; then
+ add_drivers ffb
+ fi
+ if use video_cards_tdfx; then
+ add_drivers tdfx
+ fi
+ if use video_cards_trident; then
+ add_drivers trident
+ fi
+ if use video_cards_via; then
+ add_drivers unichrome
+ fi
+
+ # Set drivers to everything on which we ran add_drivers()
+ echo "DRI_DIRS = ${DRI_DRIVERS}" >> ${HOSTCONF}
+
+ if use hardened; then
+ einfo "Deactivating assembly code for hardened build"
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ echo "ASM_API =" >> ${HOSTCONF}
+ fi
+
+ if use sparc; then
+ einfo "Sparc assembly code is not working; deactivating"
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ fi
+
+ # Replace hardcoded /usr/X11R6 with this
+ echo "EXTRA_LIB_PATH = `pkg-config --libs-only-L x11`" >> ${HOSTCONF}
+
+ echo 'CFLAGS = $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)' >> ${HOSTCONF}
+ echo "OPT_FLAGS = ${CFLAGS}" >> ${HOSTCONF}
+ echo "CC = $(tc-getCC)" >> ${HOSTCONF}
+ echo "CXX = $(tc-getCXX)" >> ${HOSTCONF}
+ # bug #110840 - Build with PIC, since it hasn't been shown to slow it down
+ echo "PIC_FLAGS = -fPIC" >> ${HOSTCONF}
+
+ # Removed glut, since we have separate freeglut/glut ebuilds
+ # Remove EGL, since Brian Paul says it's not ready for a release
+ echo "SRC_DIRS = glx/x11 mesa glu glw" >> ${HOSTCONF}
+
+ # Get rid of glut includes
+ rm -f ${S}/include/GL/glut*h
+
+ # r200 breaks without this, since it's the only EGL-enabled driver so far
+ echo "USING_EGL = 0" >> ${HOSTCONF}
+
+ # Don't build EGL demos. EGL isn't ready for release, plus they produce a
+ # circular dependency with glut.
+ echo "PROGRAM_DIRS =" >> ${HOSTCONF}
+
+ # Documented in configs/default
+ if use motif; then
+ # Add -lXm
+ echo "GLW_LIB_DEPS += -lXm" >> ${HOSTCONF}
+ # Add GLwMDrawA.c
+ echo "GLW_SOURCES += GLwMDrawA.c" >> ${HOSTCONF}
+ fi
+}
+
+src_compile() {
+ emake -j1 ${CONFIG} || die "Build failed"
+}
+
+src_install() {
+ dodir /usr
+ make \
+ INSTALL_DIR="${D}/usr" \
+ DRI_DRIVER_INSTALL_DIR="${D}/usr/\$(LIB_DIR)/dri" \
+ INCLUDE_DIR="${D}/usr/include" \
+ install || die "Installation failed"
+
+ if ! use motif; then
+ rm ${D}/usr/include/GL/GLwMDrawA.h
+ fi
+
+ # Don't install private headers
+ rm ${D}/usr/include/GL/GLw*P.h
+
+ fix_opengl_symlinks
+ dynamic_libgl_install
+
+ # Install libtool archives
+ insinto /usr/$(get_libdir)
+ # (#67729) Needs to be lib, not $(get_libdir)
+ doins ${FILESDIR}/lib/libGLU.la
+ sed -e "s:\${libdir}:$(get_libdir):g" ${FILESDIR}/lib/libGL.la \
+ > ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
+
+ # On *BSD libcs dlopen() and similar functions are present directly in
+ # libc.so and does not require linking to libdl. portability eclass takes
+ # care of finding the needed library (if needed) witht the dlopen_lib
+ # function.
+ sed -i -e 's:-ldl:'$(dlopen_lib)':g' \
+ ${D}/usr/$(get_libdir)/libGLU.la \
+ ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
+
+ # Create the two-number versioned libs (.so.#.#), since only .so.# and
+ # .so.#.#.# were made
+ dosym libGLU.so.1.3.060502 /usr/$(get_libdir)/libGLU.so.1.3
+ dosym libGLw.so.1.0.0 /usr/$(get_libdir)/libGLw.so.1.0
+
+ # libGLU doesn't get the plain .so symlink either
+ dosym libGLU.so.1 /usr/$(get_libdir)/libGLU.so
+
+ # Figure out why libGL.so.1.5 is built (directfb), and why it's linked to
+ # as the default libGL.so.1
+}
+
+pkg_postinst() {
+ switch_opengl_implem
+}
+
+fix_opengl_symlinks() {
+ # Remove invalid symlinks
+ local LINK
+ for LINK in $(find ${D}/usr/$(get_libdir) \
+ -name libGL\.* -type l); do
+ rm -f ${LINK}
+ done
+ # Create required symlinks
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # FreeBSD doesn't use major.minor versioning, so the library is only
+ # libGL.so.1 and no libGL.so.1.2 is ever used there, thus only create
+ # libGL.so symlink and leave libGL.so.1 being the real thing
+ dosym libGL.so.1 /usr/$(get_libdir)/libGL.so
+ else
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so.1
+ fi
+}
+
+dynamic_libgl_install() {
+ # next section is to setup the dynamic libGL stuff
+ ebegin "Moving libGL and friends for dynamic switching"
+ dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include}
+ local x=""
+ for x in ${D}/usr/$(get_libdir)/libGL.so* \
+ ${D}/usr/$(get_libdir)/libGL.la \
+ ${D}/usr/$(get_libdir)/libGL.a; do
+ if [ -f ${x} -o -L ${x} ]; then
+ # libGL.a cause problems with tuxracer, etc
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib
+ fi
+ done
+ # glext.h added for #54984
+ for x in ${D}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include
+ fi
+ done
+ eend 0
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set --use-old ${OPENGL_DIR}
+}
+
+add_drivers() {
+ DRI_DRIVERS="${DRI_DRIVERS} $@"
+}
diff --git a/hardened/xorg/media-libs/mesa/mesa-6.5.2.ebuild b/hardened/xorg/media-libs/mesa/mesa-6.5.2.ebuild
new file mode 100644
index 0000000..563d922
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/mesa-6.5.2.ebuild
@@ -0,0 +1,332 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-6.5.2.ebuild,v 1.5 2007/02/19 21:24:35 joshuabaergen Exp $
+
+inherit eutils toolchain-funcs multilib flag-o-matic portability
+
+OPENGL_DIR="xorg-x11"
+
+MY_PN="${PN/m/M}"
+MY_P="${MY_PN}-${PV}"
+MY_SRC_P="${MY_PN}Lib-${PV}"
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2"
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE_VIDEO_CARDS="
+ video_cards_i810
+ video_cards_mach64
+ video_cards_mga
+ video_cards_none
+ video_cards_r128
+ video_cards_radeon
+ video_cards_s3virge
+ video_cards_savage
+ video_cards_sis
+ video_cards_sunffb
+ video_cards_tdfx
+ video_cards_trident
+ video_cards_via"
+IUSE="${IUSE_VIDEO_CARDS}
+ debug
+ doc
+ hardened
+ motif
+ nptl
+ xcb"
+
+RESTRICT="stricter"
+RDEPEND="dev-libs/expat
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ x11-libs/libXi
+ x11-libs/libXmu
+ >=x11-libs/libdrm-2.2
+ x11-libs/libICE
+ app-admin/eselect-opengl
+ motif? ( virtual/motif )
+ doc? ( app-doc/opengl-manpages )
+ !<=x11-base/xorg-x11-6.9
+ xcb? ( x11-libs/libxcb )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ x11-misc/makedepend
+ x11-proto/inputproto
+ x11-proto/xextproto
+ !hppa? ( x11-proto/xf86driproto )
+ x11-proto/xf86vidmodeproto
+ >=x11-proto/glproto-1.4.8
+ motif? ( x11-proto/printproto )"
+
+S="${WORKDIR}/${MY_P}"
+
+# Think about: ggi, svga, fbcon, no-X configs
+
+if use debug; then
+ if ! has splitdebug ${FEATURES}; then
+ RESTRICT="${RESTRICT} nostrip"
+ fi
+fi
+
+pkg_setup() {
+ if use xcb; then
+ if ! built_with_use x11-libs/libX11 xcb; then
+ msg="You must build libX11 with xcb enabled."
+ eerror ${msg}
+ die ${msg}
+ fi
+ fi
+
+ if use debug; then
+ strip-flags
+ append-flags -g
+ fi
+
+ append-flags -fno-strict-aliasing
+
+ if use x86-fbsd; then
+ CONFIG="freebsd-dri-x86"
+ elif use amd64-fbsd; then
+ CONFIG="freebsd-dri-amd64"
+ elif use kernel_FreeBSD; then
+ CONFIG="freebsd-dri"
+ elif use x86; then
+ CONFIG="linux-dri-x86"
+ elif use amd64; then
+ [[ ${ABI} == "amd64" ]] && CONFIG="linux-dri-x86-64"
+ [[ ${ABI} == "x86" ]] && CONFIG="linux-dri-x86"
+ elif use ppc; then
+ CONFIG="linux-dri-ppc"
+ else
+ CONFIG="linux-dri"
+ fi
+}
+
+src_unpack() {
+ HOSTCONF="${S}/configs/${CONFIG}"
+
+ unpack ${A}
+ cd ${S}
+
+ # FreeBSD 6.* doesn't have posix_memalign().
+ [[ ${CHOST} == *-freebsd6.* ]] && sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configs/freebsd{,-dri}
+
+ # Don't compile debug code with USE=-debug - bug #125004
+ if ! use debug; then
+ einfo "Removing DO_DEBUG defs in dri drivers..."
+ find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;
+ fi
+
+ # Set up libdir
+ echo "LIB_DIR = $(get_libdir)" >> ${HOSTCONF}
+
+ # Set default dri drivers directory
+ echo 'DRI_DRIVER_SEARCH_DIR = /usr/$(LIB_DIR)/dri' >> ${HOSTCONF}
+
+ # Do we want thread-local storage (TLS)?
+ if use nptl; then
+ echo "ARCH_FLAGS += -DGLX_USE_TLS" >> ${HOSTCONF}
+ fi
+
+ echo "X11_INCLUDES = `pkg-config --cflags-only-I x11`" >> ${HOSTCONF}
+ if use xcb; then
+ echo "DEFINES += -DUSE_XCB" >> ${HOSTCONF}
+ echo "X11_INCLUDES += `pkg-config --cflags-only-I xcb` `pkg-config --cflags-only-I x11-xcb` `pkg-config --cflags-only-I xcb-glx`" >> ${HOSTCONF}
+ echo "GL_LIB_DEPS += `pkg-config --libs xcb` `pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`" >> ${HOSTCONF}
+ fi
+
+ # Configurable DRI drivers
+ if use video_cards_i810; then
+ add_drivers i810 i915 i915tex i965
+ fi
+ if use video_cards_mach64; then
+ add_drivers mach64
+ fi
+ if use video_cards_mga; then
+ add_drivers mga
+ fi
+ if use video_cards_r128; then
+ add_drivers r128
+ fi
+ if use video_cards_radeon; then
+ add_drivers radeon r200 r300
+ fi
+ if use video_cards_s3virge; then
+ add_drivers s3v
+ fi
+ if use video_cards_savage; then
+ add_drivers savage
+ fi
+ if use video_cards_sis; then
+ add_drivers sis
+ fi
+ if use video_cards_sunffb; then
+ add_drivers ffb
+ fi
+ if use video_cards_tdfx; then
+ add_drivers tdfx
+ fi
+ if use video_cards_trident; then
+ add_drivers trident
+ fi
+ if use video_cards_via; then
+ add_drivers unichrome
+ fi
+
+ # Set drivers to everything on which we ran add_drivers()
+ echo "DRI_DIRS = ${DRI_DRIVERS}" >> ${HOSTCONF}
+
+ if use hardened; then
+ einfo "Deactivating assembly code for hardened build"
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ echo "ASM_API =" >> ${HOSTCONF}
+ fi
+
+ if use sparc; then
+ einfo "Sparc assembly code is not working; deactivating"
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ fi
+
+ # Replace hardcoded /usr/X11R6 with this
+ echo "EXTRA_LIB_PATH = `pkg-config --libs-only-L x11`" >> ${HOSTCONF}
+
+ echo 'CFLAGS = $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)' >> ${HOSTCONF}
+ echo "OPT_FLAGS = ${CFLAGS}" >> ${HOSTCONF}
+ echo "CC = $(tc-getCC)" >> ${HOSTCONF}
+ echo "CXX = $(tc-getCXX)" >> ${HOSTCONF}
+ # bug #110840 - Build with PIC, since it hasn't been shown to slow it down
+ echo "PIC_FLAGS = -fPIC" >> ${HOSTCONF}
+
+ # Removed glut, since we have separate freeglut/glut ebuilds
+ # Remove EGL, since Brian Paul says it's not ready for a release
+ echo "SRC_DIRS = glx/x11 mesa glu glw" >> ${HOSTCONF}
+
+ # Get rid of glut includes
+ rm -f ${S}/include/GL/glut*h
+
+ # r200 breaks without this, since it's the only EGL-enabled driver so far
+ echo "USING_EGL = 0" >> ${HOSTCONF}
+
+ # Don't build EGL demos. EGL isn't ready for release, plus they produce a
+ # circular dependency with glut.
+ echo "PROGRAM_DIRS =" >> ${HOSTCONF}
+
+ # Documented in configs/default
+ if use motif; then
+ # Add -lXm
+ echo "GLW_LIB_DEPS += -lXm" >> ${HOSTCONF}
+ # Add GLwMDrawA.c
+ echo "GLW_SOURCES += GLwMDrawA.c" >> ${HOSTCONF}
+ fi
+}
+
+src_compile() {
+ emake -j1 ${CONFIG} || die "Build failed"
+}
+
+src_install() {
+ dodir /usr
+ make \
+ INSTALL_DIR="${D}/usr" \
+ DRI_DRIVER_INSTALL_DIR="${D}/usr/\$(LIB_DIR)/dri" \
+ INCLUDE_DIR="${D}/usr/include" \
+ install || die "Installation failed"
+
+ if ! use motif; then
+ rm ${D}/usr/include/GL/GLwMDrawA.h
+ fi
+
+ # Don't install private headers
+ rm ${D}/usr/include/GL/GLw*P.h
+
+ fix_opengl_symlinks
+ dynamic_libgl_install
+
+ # Install libtool archives
+ insinto /usr/$(get_libdir)
+ # (#67729) Needs to be lib, not $(get_libdir)
+ doins ${FILESDIR}/lib/libGLU.la
+ sed -e "s:\${libdir}:$(get_libdir):g" ${FILESDIR}/lib/libGL.la \
+ > ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
+
+ # On *BSD libcs dlopen() and similar functions are present directly in
+ # libc.so and does not require linking to libdl. portability eclass takes
+ # care of finding the needed library (if needed) witht the dlopen_lib
+ # function.
+ sed -i -e 's:-ldl:'$(dlopen_lib)':g' \
+ ${D}/usr/$(get_libdir)/libGLU.la \
+ ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
+
+ # Create the two-number versioned libs (.so.#.#), since only .so.# and
+ # .so.#.#.# were made
+ dosym libGLU.so.1.3.060502 /usr/$(get_libdir)/libGLU.so.1.3
+ dosym libGLw.so.1.0.0 /usr/$(get_libdir)/libGLw.so.1.0
+
+ # libGLU doesn't get the plain .so symlink either
+ dosym libGLU.so.1 /usr/$(get_libdir)/libGLU.so
+
+ # Figure out why libGL.so.1.5 is built (directfb), and why it's linked to
+ # as the default libGL.so.1
+}
+
+pkg_postinst() {
+ switch_opengl_implem
+}
+
+fix_opengl_symlinks() {
+ # Remove invalid symlinks
+ local LINK
+ for LINK in $(find ${D}/usr/$(get_libdir) \
+ -name libGL\.* -type l); do
+ rm -f ${LINK}
+ done
+ # Create required symlinks
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # FreeBSD doesn't use major.minor versioning, so the library is only
+ # libGL.so.1 and no libGL.so.1.2 is ever used there, thus only create
+ # libGL.so symlink and leave libGL.so.1 being the real thing
+ dosym libGL.so.1 /usr/$(get_libdir)/libGL.so
+ else
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so.1
+ fi
+}
+
+dynamic_libgl_install() {
+ # next section is to setup the dynamic libGL stuff
+ ebegin "Moving libGL and friends for dynamic switching"
+ dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include}
+ local x=""
+ for x in ${D}/usr/$(get_libdir)/libGL.so* \
+ ${D}/usr/$(get_libdir)/libGL.la \
+ ${D}/usr/$(get_libdir)/libGL.a; do
+ if [ -f ${x} -o -L ${x} ]; then
+ # libGL.a cause problems with tuxracer, etc
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib
+ fi
+ done
+ # glext.h added for #54984
+ for x in ${D}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include
+ fi
+ done
+ eend 0
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set --use-old ${OPENGL_DIR}
+}
+
+add_drivers() {
+ DRI_DRIVERS="${DRI_DRIVERS} $@"
+}