summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBertrand Jacquin <beber@meleeweb.net>2006-02-08 20:47:35 +0100
committerBertrand Jacquin <beber@meleeweb.net>2006-02-08 20:47:35 +0100
commit790151c2bd8997fed9fe63cd7dc1784d9d55cc04 (patch)
tree8cd75f226a1014fdcc51368f88003cb91e18d5d9
parentUpdate dependencies in azrael (diff)
downloadportage-790151c2bd8997fed9fe63cd7dc1784d9d55cc04.tar.xz
Add xgl stuff
From http://dev.gentoo.org/~hanno/
-rw-r--r--media-libs/glitz/Manifest2
-rw-r--r--media-libs/glitz/files/digest-glitz-0.5.0_alpha200601070
-rw-r--r--media-libs/glitz/glitz-0.5.0_alpha20060107.ebuild31
-rw-r--r--media-libs/mesa/Manifest12
-rw-r--r--media-libs/mesa/files/6.4-dont-install-gles-headers.patch11
-rw-r--r--media-libs/mesa/files/6.4-multilib-fix.patch27
-rw-r--r--media-libs/mesa/files/change-default-dri-driver-dir.patch11
-rw-r--r--media-libs/mesa/files/configurable-dri-dir.patch10
-rw-r--r--media-libs/mesa/files/digest-mesa-6.4.2_alpha200601210
-rw-r--r--media-libs/mesa/files/lib/libGL.la32
-rw-r--r--media-libs/mesa/files/lib/libGLU.la32
-rw-r--r--media-libs/mesa/files/mesa-glx-x11-get-drawable-attribs-fix-1.diff73
-rw-r--r--media-libs/mesa/files/mesa-glx-x11-glxproto-defines.diff12
-rw-r--r--media-libs/mesa/files/r200-copy-pixels-1.patch112
-rw-r--r--media-libs/mesa/files/xgl-mesa-stable-180106.diff217
-rw-r--r--media-libs/mesa/mesa-6.4.2_alpha20060121.ebuild221
-rw-r--r--sys-apps/portage/Manifest6
-rw-r--r--sys-apps/portage/files/05portage.envd1
-rw-r--r--sys-apps/portage/files/digest-portage-2.1_pre3-r11
-rw-r--r--sys-apps/portage/files/digest-portage-2.1_pre3-r21
-rw-r--r--sys-apps/portage/files/portage-2.1_pre3-distdir.patch14
-rw-r--r--sys-apps/portage/files/xterm-titles.patch24
-rw-r--r--sys-apps/portage/portage-2.1_pre3-r2.ebuild150
-rw-r--r--x11-base/xgl/Manifest8
-rw-r--r--x11-base/xgl/files/digest-xgl-200601181
-rw-r--r--x11-base/xgl/files/mesa-glx-x11-get-drawable-attribs-fix-1.diff73
-rw-r--r--x11-base/xgl/files/mesa-glx-x11-glxproto-defines.diff12
-rw-r--r--x11-base/xgl/files/r200-copy-pixels-1.patch112
-rw-r--r--x11-base/xgl/files/xgl-glxproto-defines.diff24
-rw-r--r--x11-base/xgl/files/xgl-mesa-stable-180106.diff217
-rw-r--r--x11-base/xgl/files/xgl-symlink-glapi.diff10
-rw-r--r--x11-base/xgl/xgl-20060118.ebuild66
-rw-r--r--x11-libs/cairo/Manifest2
-rw-r--r--x11-libs/cairo/cairo-1.1.1_alpha20060115.ebuild53
-rw-r--r--x11-libs/cairo/files/digest-cairo-1.1.1_alpha200601150
-rw-r--r--x11-misc/glitzinfo/Manifest2
-rw-r--r--x11-misc/glitzinfo/files/digest-glitzinfo-200601070
-rw-r--r--x11-misc/glitzinfo/glitzinfo-20060107.ebuild26
-rw-r--r--x11-misc/glxcompmgr/Manifest2
-rw-r--r--x11-misc/glxcompmgr/files/digest-glxcompmgr-200601190
-rw-r--r--x11-misc/glxcompmgr/glxcompmgr-20060119.ebuild29
-rw-r--r--xgl-overlay-200601212.tar.bz2bin0 -> 14173 bytes
42 files changed, 1637 insertions, 0 deletions
diff --git a/media-libs/glitz/Manifest b/media-libs/glitz/Manifest
new file mode 100644
index 00000000..d211b0b5
--- /dev/null
+++ b/media-libs/glitz/Manifest
@@ -0,0 +1,2 @@
+MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-glitz-0.5.0_alpha20060107 0
+MD5 8c8a68c83a73539134f6adc8eff96ea6 glitz-0.5.0_alpha20060107.ebuild 727
diff --git a/media-libs/glitz/files/digest-glitz-0.5.0_alpha20060107 b/media-libs/glitz/files/digest-glitz-0.5.0_alpha20060107
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/media-libs/glitz/files/digest-glitz-0.5.0_alpha20060107
diff --git a/media-libs/glitz/glitz-0.5.0_alpha20060107.ebuild b/media-libs/glitz/glitz-0.5.0_alpha20060107.ebuild
new file mode 100644
index 00000000..bc168d5b
--- /dev/null
+++ b/media-libs/glitz/glitz-0.5.0_alpha20060107.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/glitz/glitz-0.4.4.ebuild,v 1.6 2006/01/04 23:23:46 halcy0n Exp $
+
+inherit eutils cvs
+
+ECVS_SERVER="cvs.freedesktop.org:/cvs/cairo"
+ECVS_MODULE="glitz"
+S=${WORKDIR}/${ECVS_MODULE}
+
+
+DESCRIPTION="An OpenGL image compositing library"
+HOMEPAGE="http://www.freedesktop.org/Software/glitz"
+#SRC_URI="http://cairographics.org/snapshots/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+
+DEPEND="virtual/opengl"
+
+src_compile() {
+ ./autogen.sh
+ econf || die
+ emake || die
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+ dodoc AUTHORS ChangeLog README TODO
+}
diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest
new file mode 100644
index 00000000..cb4a1cae
--- /dev/null
+++ b/media-libs/mesa/Manifest
@@ -0,0 +1,12 @@
+MD5 ae36bba4e878c77dc2e823ce00e98869 files/6.4-dont-install-gles-headers.patch 421
+MD5 d6254b7a775480084efcd30d9fb4cbad files/6.4-multilib-fix.patch 535
+MD5 cdc08801bd33dadb19c29e4c91863c73 files/change-default-dri-driver-dir.patch 412
+MD5 445388fef1aaba316654749716f66086 files/configurable-dri-dir.patch 361
+MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-mesa-6.4.2_alpha20060121 0
+MD5 f0ebdc72043e76ad7eddc4ad91349927 files/lib/libGL.la 763
+MD5 9abdd26694e6f1d7bd93193f900acc6c files/lib/libGLU.la 752
+MD5 d7a1589b573e858f7feafdd6a8214975 files/mesa-glx-x11-get-drawable-attribs-fix-1.diff 1866
+MD5 66e2f35bb026673c9848dc43a22b0120 files/mesa-glx-x11-glxproto-defines.diff 392
+MD5 9a6eaed5ab1fd6748d543679a335f72c files/r200-copy-pixels-1.patch 2741
+MD5 4b3946e65a33435fc06db7b2040e4d5b files/xgl-mesa-stable-180106.diff 6310
+MD5 a6009cb030fe36621d4d3b3e0cddabcf mesa-6.4.2_alpha20060121.ebuild 6301
diff --git a/media-libs/mesa/files/6.4-dont-install-gles-headers.patch b/media-libs/mesa/files/6.4-dont-install-gles-headers.patch
new file mode 100644
index 00000000..5bdc0a11
--- /dev/null
+++ b/media-libs/mesa/files/6.4-dont-install-gles-headers.patch
@@ -0,0 +1,11 @@
+diff -urN Mesa-6.4.orig/bin/installmesa Mesa-6.4/bin/installmesa
+--- Mesa-6.4.orig/bin/installmesa 2005-09-13 06:36:17.000000000 -0700
++++ Mesa-6.4/bin/installmesa 2005-10-13 14:10:39.000000000 -0700
+@@ -60,7 +60,6 @@
+
+ mkdir ${INCLUDE_DIR}
+ mkdir ${INCLUDE_DIR}/GL
+-mkdir ${INCLUDE_DIR}/GLES
+ mkdir ${LIB_DIR}
+ cp -f ${TOP}/include/GL/*.h ${INCLUDE_DIR}/GL
+ # NOT YET: cp -f ${TOP}/include/GLES/*.h ${INCLUDE_DIR}/GLES
diff --git a/media-libs/mesa/files/6.4-multilib-fix.patch b/media-libs/mesa/files/6.4-multilib-fix.patch
new file mode 100644
index 00000000..8e16a955
--- /dev/null
+++ b/media-libs/mesa/files/6.4-multilib-fix.patch
@@ -0,0 +1,27 @@
+--- bin/installmesa.multilib-fix 2005-12-16 01:46:30.000000000 +0000
++++ bin/installmesa 2005-12-16 01:47:22.000000000 +0000
+@@ -9,8 +9,9 @@
+
+ TOP=.
+
+-INCLUDE_DIR="/usr/local/include"
+-LIB_DIR="/usr/local/lib"
++# Default to /usr/local if these aren't already set.
++INCLUDE_DIR="${INCLUDE_DIR:-/usr/local/include}"
++LIB_DIR="${LIB_DIR:-/usr/local/lib}"
+
+ if [ "x$#" = "x0" ] ; then
+ echo
+@@ -40,9 +41,9 @@
+
+ read INPUT
+
+-else
+-INCLUDE_DIR=$1/include
+-LIB_DIR=$1/lib
++#else
++#INCLUDE_DIR=$1/include
++#LIB_DIR=$1/lib
+ fi
+
+ # flags:
diff --git a/media-libs/mesa/files/change-default-dri-driver-dir.patch b/media-libs/mesa/files/change-default-dri-driver-dir.patch
new file mode 100644
index 00000000..36151d62
--- /dev/null
+++ b/media-libs/mesa/files/change-default-dri-driver-dir.patch
@@ -0,0 +1,11 @@
+--- Mesa-6.3.1.1.orig/src/glx/x11/dri_glx.c 2005-07-27 17:29:51.000000000 -0700
++++ Mesa-6.3.1.1/src/glx/x11/dri_glx.c 2005-08-14 11:09:54.000000000 -0700
+@@ -58,7 +58,7 @@
+
+ #ifndef DEFAULT_DRIVER_DIR
+ /* this is normally defined in the Imakefile */
+-#define DEFAULT_DRIVER_DIR "/usr/X11R6/lib/modules/dri"
++#define DEFAULT_DRIVER_DIR "/usr/lib/xorg/modules/dri"
+ #endif
+
+ static __DRIdriver *Drivers = NULL;
diff --git a/media-libs/mesa/files/configurable-dri-dir.patch b/media-libs/mesa/files/configurable-dri-dir.patch
new file mode 100644
index 00000000..3b0f65ae
--- /dev/null
+++ b/media-libs/mesa/files/configurable-dri-dir.patch
@@ -0,0 +1,10 @@
+--- Mesa-6.4/src/glx/x11/Makefile.modular 2005-08-19 16:20:03.000000000 -0400
++++ Mesa-6.4/src/glx/x11/Makefile 2005-11-20 15:32:47.000000000 -0500
+@@ -2,6 +2,7 @@
+ include $(TOP)/configs/current
+
+ DEFINES += -DXF86VIDMODE -D_REENTRANT -UIN_DRI_DRIVER
++DEFINES += -DDEFAULT_DRIVER_DIR='"$(DRI_DRIVER_DIR)"'
+
+ C_SOURCES = \
+ $(TOP)/src/mesa/glapi/glapi.c \
diff --git a/media-libs/mesa/files/digest-mesa-6.4.2_alpha20060121 b/media-libs/mesa/files/digest-mesa-6.4.2_alpha20060121
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/media-libs/mesa/files/digest-mesa-6.4.2_alpha20060121
diff --git a/media-libs/mesa/files/lib/libGL.la b/media-libs/mesa/files/lib/libGL.la
new file mode 100644
index 00000000..1a773c25
--- /dev/null
+++ b/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/lib -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/lib/opengl/xorg-x11/lib'
diff --git a/media-libs/mesa/files/lib/libGLU.la b/media-libs/mesa/files/lib/libGLU.la
new file mode 100644
index 00000000..cc76b4b1
--- /dev/null
+++ b/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/media-libs/mesa/files/mesa-glx-x11-get-drawable-attribs-fix-1.diff b/media-libs/mesa/files/mesa-glx-x11-get-drawable-attribs-fix-1.diff
new file mode 100644
index 00000000..a13b56d3
--- /dev/null
+++ b/media-libs/mesa/files/mesa-glx-x11-get-drawable-attribs-fix-1.diff
@@ -0,0 +1,73 @@
+diff -u -r1.5 glx_pbuffer.c
+--- src/glx/x11/glx_pbuffer.c 11 Aug 2005 14:18:53 -0000 1.5
++++ src/glx/x11/glx_pbuffer.c 30 Aug 2005 01:48:16 -0000
+@@ -200,6 +200,7 @@
+ GLboolean use_glx_1_3 = ((priv->majorVersion > 1)
+ || (priv->minorVersion >= 3));
+
++ *value = 0;
+
+ if ( (dpy == NULL) || (drawable == 0) ) {
+ return 0;
+@@ -230,32 +231,40 @@
+
+ _XReply(dpy, (xReply*) &reply, 0, False);
+
+- length = reply.length;
+- num_attributes = (use_glx_1_3) ? reply.numAttribs : length / 2;
+- data = (CARD32 *) Xmalloc( length * sizeof(CARD32) );
+- if ( data == NULL ) {
+- /* Throw data on the floor */
+- _XEatData(dpy, length);
+- } else {
+- _XRead(dpy, (char *)data, length * sizeof(CARD32) );
++ if (reply.type == X_Error)
++ {
++ UnlockDisplay(dpy);
++ SyncHandle();
++ return 0;
+ }
+
+- UnlockDisplay(dpy);
+- SyncHandle();
+-
+-
+- /* Search the set of returned attributes for the attribute requested by
+- * the caller.
+- */
++ length = reply.length;
++ if (length)
++ {
++ num_attributes = (use_glx_1_3) ? reply.numAttribs : length / 2;
++ data = (CARD32 *) Xmalloc( length * sizeof(CARD32) );
++ if ( data == NULL ) {
++ /* Throw data on the floor */
++ _XEatData(dpy, length);
++ } else {
++ _XRead(dpy, (char *)data, length * sizeof(CARD32) );
++
++ /* Search the set of returned attributes for the attribute requested by
++ * the caller.
++ */
++ for ( i = 0 ; i < num_attributes ; i++ ) {
++ if ( data[i*2] == attribute ) {
++ *value = data[ (i*2) + 1 ];
++ break;
++ }
++ }
+
+- for ( i = 0 ; i < num_attributes ; i++ ) {
+- if ( data[i*2] == attribute ) {
+- *value = data[ (i*2) + 1 ];
+- break;
+- }
++ Xfree( data );
++ }
+ }
+
+- Xfree( data );
++ UnlockDisplay(dpy);
++ SyncHandle();
+
+ return 0;
+ }
diff --git a/media-libs/mesa/files/mesa-glx-x11-glxproto-defines.diff b/media-libs/mesa/files/mesa-glx-x11-glxproto-defines.diff
new file mode 100644
index 00000000..c0835843
--- /dev/null
+++ b/media-libs/mesa/files/mesa-glx-x11-glxproto-defines.diff
@@ -0,0 +1,12 @@
+--- Mesa/src/glx/x11/glxcmds.c.1 2006-01-11 22:43:47.395961500 +0100
++++ Mesa/src/glx/x11/glxcmds.c 2006-01-11 22:44:12.717544000 +0100
+@@ -56,6 +56,9 @@
+ #include "glheader.h"
+ #include <sys/time.h>
+
++#define X_GLXvop_BindTexImageMESA 15
++#define X_GLXvop_ReleaseTexImageMESA 16
++
+ static const char __glXGLXClientVendorName[] = "SGI";
+ static const char __glXGLXClientVersion[] = "1.4";
+
diff --git a/media-libs/mesa/files/r200-copy-pixels-1.patch b/media-libs/mesa/files/r200-copy-pixels-1.patch
new file mode 100644
index 00000000..26463cd0
--- /dev/null
+++ b/media-libs/mesa/files/r200-copy-pixels-1.patch
@@ -0,0 +1,112 @@
+diff -u ../Mesa-6.4.1.old/src/mesa/drivers/dri/r200/r200_pixel.c ./src/mesa/drivers/dri/r200/r200_pixel.c
+--- ../Mesa-6.4.1.old/src/mesa/drivers/dri/r200/r200_pixel.c 2004-07-31 10:14:50.000000000 +0200
++++ ./src/mesa/drivers/dri/r200/r200_pixel.c 2005-12-21 15:19:24.000000000 +0100
+@@ -472,6 +472,98 @@
+ }
+
+
++void
++r200CopyPixels( GLcontext *ctx,
++ GLint srcx, GLint srcy, GLsizei width, GLsizei height,
++ GLint destx, GLint desty,
++ GLenum type )
++{
++ if (type == GL_COLOR &&
++ ctx->Pixel.ReadBuffer == GL_BACK &&
++ ctx->Color.DrawBuffer[0] == GL_FRONT &&
++ srcx == destx && srcy == desty &&
++ ctx->_ImageTransferState == 0 && /* no color tables, scale/bias, etc */
++ ctx->Pixel.ZoomX == 1.0 && /* no zooming */
++ ctx->Pixel.ZoomY == 1.0)
++ {
++ r200ContextPtr rmesa = R200_CONTEXT (ctx);
++ __DRIdrawablePrivate *dPriv = rmesa->dri.drawable;
++ GLint x, y, size;
++ GLint nbox, i, ret;
++
++ x = destx;
++ y = desty;
++
++ if (!clip_pixelrect (ctx, ctx->DrawBuffer, &x, &y, &width, &height,
++ &size))
++ {
++ if (R200_DEBUG & DEBUG_PIXEL)
++ fprintf (stderr, "%s totally clipped -- nothing to do\n",
++ __FUNCTION__);
++
++ return;
++ }
++
++ y = dPriv->h - y - height; /* convert from gl to hardware coords */
++ x += dPriv->x;
++ y += dPriv->y;
++
++ R200_FIREVERTICES( rmesa );
++
++ LOCK_HARDWARE( rmesa );
++
++ nbox = dPriv->numClipRects; /* must be in locked region */
++
++ for (i = 0; i < nbox; )
++ {
++ drm_clip_rect_t *box = dPriv->pClipRects;
++ drm_clip_rect_t *b = rmesa->sarea->boxes;
++ drm_clip_rect_t r;
++ GLint n = 0;
++
++ while (n < RADEON_NR_SAREA_CLIPRECTS && i < nbox)
++ {
++ r = box[i++];
++
++ if (r.x1 < x)
++ r.x1 = x;
++ if (r.y1 < y)
++ r.y1 = y;
++ if (r.x2 > x + width)
++ r.x2 = x + width;
++ if (r.y2 > y + height)
++ r.y2 = y + height;
++
++ if (r.x1 < r.x2 && r.y1 < r.y2)
++ {
++ *b++ = r;
++ n++;
++ }
++ }
++
++ if (n)
++ {
++ rmesa->sarea->nbox = n;
++
++ ret = drmCommandNone ( rmesa->dri.fd, DRM_RADEON_SWAP );
++
++ if ( ret ) {
++ fprintf( stderr, "DRM_R200_SWAP_BUFFERS: return = %d\n",
++ ret );
++ UNLOCK_HARDWARE( rmesa );
++ exit( 1 );
++ }
++ }
++ }
++
++ UNLOCK_HARDWARE( rmesa );
++ }
++ else
++ {
++ _swrast_CopyPixels (ctx, srcx, srcy, width, height, destx, desty, type);
++ }
++}
++
+
+ void r200InitPixelFuncs( GLcontext *ctx )
+ {
+@@ -485,7 +577,8 @@
+
+ if (!getenv("R200_NO_BLITS") && R200_CONTEXT(ctx)->dri.drmMinor >= 6) {
+ ctx->Driver.ReadPixels = r200ReadPixels;
+- ctx->Driver.DrawPixels = r200DrawPixels;
++ ctx->Driver.DrawPixels = r200DrawPixels;
++ ctx->Driver.CopyPixels = r200CopyPixels;
+ if (getenv("R200_HW_BITMAP"))
+ ctx->Driver.Bitmap = r200Bitmap;
+ }
diff --git a/media-libs/mesa/files/xgl-mesa-stable-180106.diff b/media-libs/mesa/files/xgl-mesa-stable-180106.diff
new file mode 100644
index 00000000..b370b558
--- /dev/null
+++ b/media-libs/mesa/files/xgl-mesa-stable-180106.diff
@@ -0,0 +1,217 @@
+Index: src/glx/x11/glxcmds.c
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/glx/x11/glxcmds.c,v
+retrieving revision 1.11
+diff -u -u -r1.11 glxcmds.c
+--- src/glx/x11/glxcmds.c 11 Aug 2005 14:18:53 -0000 1.11
++++ src/glx/x11/glxcmds.c 18 Jan 2006 07:22:19 -0000
+@@ -2589,7 +2589,88 @@
+ }
+ /*@}*/
+
++PUBLIC Bool glXBindTexImageMESA(Display *dpy,
++ GLXDrawable drawable,
++ int buffer)
++{
++ xGLXVendorPrivateReq *req;
++ GLXContext gc = __glXGetCurrentContext();
++ GLXDrawable *drawable_ptr;
++ int *buffer_ptr;
++ CARD8 opcode;
++
++ if (gc == NULL)
++ return False;
++
++#ifdef GLX_DIRECT_RENDERING
++ if (gc->isDirect)
++ return False;
++#endif
++
++ opcode = __glXSetupForCommand(dpy);
++ if (!opcode)
++ return False;
++
++ LockDisplay(dpy);
++ GetReqExtra(GLXVendorPrivate, sizeof(GLXDrawable)+sizeof(int),req);
++ req->reqType = opcode;
++ req->glxCode = X_GLXVendorPrivate;
++ req->vendorCode = X_GLXvop_BindTexImageMESA;
++ req->contextTag = gc->currentContextTag;
++
++ drawable_ptr = (GLXDrawable *) (req + 1);
++ buffer_ptr = (int *) (drawable_ptr + 1);
+
++ *drawable_ptr = drawable;
++ *buffer_ptr = buffer;
++
++ UnlockDisplay(dpy);
++ SyncHandle();
++
++ return True;
++}
++
++PUBLIC Bool glXReleaseTexImageMESA(Display *dpy,
++ GLXDrawable drawable,
++ int buffer)
++{
++ xGLXVendorPrivateReq *req;
++ GLXContext gc = __glXGetCurrentContext();
++ GLXDrawable *drawable_ptr;
++ int *buffer_ptr;
++ xGLXVendorPrivReply reply;
++ CARD8 opcode;
++
++ if (gc == NULL)
++ return False;
++
++#ifdef GLX_DIRECT_RENDERING
++ if (gc->isDirect)
++ return False;
++#endif
++
++ opcode = __glXSetupForCommand(dpy);
++ if (!opcode)
++ return False;
++
++ LockDisplay(dpy);
++ GetReqExtra(GLXVendorPrivate, sizeof(GLXDrawable)+sizeof(int),req);
++ req->reqType = opcode;
++ req->glxCode = X_GLXVendorPrivate;
++ req->vendorCode = X_GLXvop_ReleaseTexImageMESA;
++ req->contextTag = gc->currentContextTag;
++
++ drawable_ptr = (GLXDrawable *) (req + 1);
++ buffer_ptr = (int *) (drawable_ptr + 1);
++
++ *drawable_ptr = drawable;
++ *buffer_ptr = buffer;
++
++ UnlockDisplay(dpy);
++ SyncHandle();
++
++ return True;
++}
+
+ /**
+ * \c strdup is actually not a standard ANSI C or POSIX routine.
+@@ -2771,6 +2852,10 @@
+ GLX_FUNCTION( glXGetMscRateOML ),
+ GLX_FUNCTION( glXGetSyncValuesOML ),
+
++ /*** GLX_MESA_render_texture ***/
++ GLX_FUNCTION( glXBindTexImageMESA ),
++ GLX_FUNCTION( glXReleaseTexImageMESA ),
++
+ #ifdef GLX_DIRECT_RENDERING
+ /*** DRI configuration ***/
+ GLX_FUNCTION( glXGetScreenDriver ),
+Index: src/glx/x11/glxextensions.c
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/glx/x11/glxextensions.c,v
+retrieving revision 1.11
+diff -u -u -r1.11 glxextensions.c
+--- src/glx/x11/glxextensions.c 11 Aug 2005 14:18:53 -0000 1.11
++++ src/glx/x11/glxextensions.c 18 Jan 2006 07:22:19 -0000
+@@ -107,6 +107,7 @@
+ { GLX(SGIX_video_source), VER(0,0), N, N, N, N },
+ { GLX(SGIX_visual_select_group), VER(0,0), Y, Y, N, N },
+ { GLX(SUN_get_transparent_index), VER(0,0), N, N, N, N },
++ { GLX(MESA_render_texture), VER(0,0), Y, N, N, N },
+ { NULL }
+ };
+
+Index: src/glx/x11/glxextensions.h
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/glx/x11/glxextensions.h,v
+retrieving revision 1.8
+diff -u -u -r1.8 glxextensions.h
+--- src/glx/x11/glxextensions.h 26 Jul 2005 22:53:38 -0000 1.8
++++ src/glx/x11/glxextensions.h 18 Jan 2006 07:22:20 -0000
+@@ -69,7 +69,8 @@
+ SGIX_video_resize_bit,
+ SGIX_video_source_bit,
+ SGIX_visual_select_group_bit,
+- SUN_get_transparent_index_bit
++ SUN_get_transparent_index_bit,
++ MESA_render_texture_bit
+ };
+
+ enum {
+Index: src/mesa/glapi/glapi.c
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/mesa/glapi/glapi.c,v
+retrieving revision 1.95.2.1
+diff -u -u -r1.95.2.1 glapi.c
+--- src/mesa/glapi/glapi.c 11 Oct 2005 16:56:27 -0000 1.95.2.1
++++ src/mesa/glapi/glapi.c 18 Jan 2006 07:22:21 -0000
+@@ -343,7 +343,7 @@
+ }
+
+
+-#if !defined( USE_X86_ASM ) && !defined( XFree86Server )
++#if !defined( USE_X86_ASM ) && !defined( XFree86Server ) && !defined( XGLServer )
+ #define NEED_FUNCTION_POINTER
+ #endif
+
+@@ -388,7 +388,7 @@
+ }
+
+
+-#if !defined( XFree86Server )
++#if !defined( XFree86Server ) && !defined (XGLServer)
+ #ifdef USE_X86_ASM
+
+ #if defined( GLX_USE_TLS )
+@@ -763,13 +763,13 @@
+ /* Do some trivial validation on the name of the function.
+ */
+
+-#ifdef MANGLE
+- if (!function_names[i] || function_names[i][0] != 'm' || function_names[i][1] != 'g' || function_names[i][2] != 'l')
+- return GL_FALSE;
+-#else
+- if (!function_names[i] || function_names[i][0] != 'g' || function_names[i][1] != 'l')
+- return GL_FALSE;
+-#endif
++//#if 0//def USE_MGL_NAMESPACE
++// if (!function_names[i] || function_names[i][0] != 'm' || function_names[i][1] != 'g' || function_names[i][2] != 'l')
++// return GL_FALSE;
++//#else
++// if (!function_names[i] || function_names[i][0] != 'g' || function_names[i][1] != 'l')
++// return GL_FALSE;
++//#endif
+
+
+ /* Determine if the named function already exists. If the function does
+@@ -892,7 +892,7 @@
+ }
+ }
+
+-#if !defined( XFree86Server )
++#if !defined( XFree86Server ) && !defined( XGLServer )
+ /* search static functions */
+ {
+ const _glapi_proc func = get_static_proc_address(funcName);
+Index: src/mesa/glapi/glapi.h
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/mesa/glapi/glapi.h,v
+retrieving revision 1.29
+diff -u -u -r1.29 glapi.h
+--- src/mesa/glapi/glapi.h 10 Aug 2005 23:54:15 -0000 1.29
++++ src/mesa/glapi/glapi.h 18 Jan 2006 07:22:21 -0000
+@@ -50,6 +50,15 @@
+
+ typedef void (*_glapi_warning_func)(void *ctx, const char *str, ...);
+
++#if defined(USE_MGL_NAMESPACE)
++#define _glapi_set_dispatch _mglapi_set_dispatch
++#define _glapi_get_dispatch _mglapi_get_dispatch
++#define _glapi_set_context _mglapi_set_context
++#define _glapi_get_context _mglapi_get_context
++#define _glapi_Context _mglapi_Context
++#define _glapi_Dispatch _mglapi_Dispatch
++#endif
++
+
+ #if defined (GLX_USE_TLS)
+
diff --git a/media-libs/mesa/mesa-6.4.2_alpha20060121.ebuild b/media-libs/mesa/mesa-6.4.2_alpha20060121.ebuild
new file mode 100644
index 00000000..73239256
--- /dev/null
+++ b/media-libs/mesa/mesa-6.4.2_alpha20060121.ebuild
@@ -0,0 +1,221 @@
+# 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.4.1-r1.ebuild,v 1.3 2005/12/26 13:49:10 stefaan Exp $
+
+inherit eutils toolchain-funcs multilib cvs
+
+ECVS_SERVER="pdx.freedesktop.org:/cvs/mesa"
+ECVS_MODULE="Mesa"
+S=${WORKDIR}/${ECVS_MODULE}
+
+# Arches that need to define their own sets of DRI drivers, please do so in
+# a variable up here, and use that variable below. This helps us to separate the
+# data from the code.
+DRI_DRIVERS_SPARC="ffb mach64 mga radeon savage"
+
+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="~x86 ~amd64"
+IUSE="motif"
+
+RDEPEND="dev-libs/expat
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ x11-libs/libXi
+ x11-libs/libXmu
+ >=x11-libs/libdrm-1.0.5
+ x11-libs/libICE
+ app-admin/eselect-opengl
+ motif? ( virtual/motif )
+ !<=x11-base/xorg-x11-6.9"
+DEPEND="${RDEPEND}
+ x11-misc/makedepend
+ x11-proto/xf86vidmodeproto
+ >=x11-proto/glproto-1.4-r1
+ motif? ( x11-proto/printproto )
+ !=sys-apps/portage-2.1_pre3-r1"
+
+PROVIDE="virtual/opengl virtual/glu"
+
+# Think about: ggi, svga, fbcon, no-X configs
+
+pkg_setup() {
+ if [[ ${KERNEL} == "FreeBSD" ]]; then
+ CONFIG="freebsd"
+ 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}"
+
+ cvs_src_unpack
+ cd ${S}
+
+# epatch ${FILESDIR}/makedepend-location.patch
+ epatch ${FILESDIR}/6.4-dont-install-gles-headers.patch
+ # Don't change it but make it configurable and set it below - Herbs
+ #epatch ${FILESDIR}/change-default-dri-driver-dir.patch
+ epatch ${FILESDIR}/configurable-dri-dir.patch
+ epatch ${FILESDIR}/6.4-multilib-fix.patch
+# epatch ${FILESDIR}/6.4.1-amd64-include-assyntax.patch
+
+ epatch ${FILESDIR}/mesa-glx-x11-get-drawable-attribs-fix-1.diff
+ epatch ${FILESDIR}/r200-copy-pixels-1.patch
+ epatch ${FILESDIR}/xgl-mesa-stable-180106.diff
+ epatch ${FILESDIR}/mesa-glx-x11-glxproto-defines.diff
+
+ # Set default dri drivers directory
+ echo "DRI_DRIVER_DIR = /usr/$(get_libdir)/xorg/modules/dri" >> ${HOSTCONF}
+
+ # Set up linux-dri configs
+ if use sparc; then
+ einfo "Define the sparc DRI drivers."
+ echo "DRI_DIRS = ${DRI_DRIVERS_SPARC}" >> ${HOSTCONF}
+ einfo "Explicitly note that sparc assembly code is not working."
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ fi
+
+ # Kill this; we don't want /usr/X11R6/lib ever to be searched in this
+ # build.
+ echo "EXTRA_LIB_PATH =" >> ${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 \
+ DESTDIR=${D}/usr \
+ INCLUDE_DIR=${D}/usr/include \
+ LIB_DIR=${D}/usr/$(get_libdir) \
+ install || die "Installation failed"
+
+ ##
+ # Install the actual drivers --- 'make install' doesn't install them
+ # anywhere.
+ dodir /usr/$(get_libdir)/xorg/modules/dri
+ exeinto /usr/$(get_libdir)/xorg/modules/dri
+ einfo "Installing drivers to ${EXEDESTTREE}."
+ find ${S}/lib* -name '*_dri.so' | xargs doexe
+
+ insinto /usr/include/GL
+ doins ${S}/src/glw/GLwDrawA.h
+ if use motif; then
+ doins ${S}/src/glw/GLwMDrawA.h
+ fi
+
+ 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
+ insinto /usr/$(get_libdir)/opengl/xorg-x11/lib
+ doins ${FILESDIR}/lib/libGL.la
+
+ # Create the two-number versioned libs (.so.#.#), since only .so.# and
+ # .so.#.#.# were made
+ dosym libGLU.so.1.3.060401 /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
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so.1
+}
+
+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}
+}
diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
new file mode 100644
index 00000000..24871f23
--- /dev/null
+++ b/sys-apps/portage/Manifest
@@ -0,0 +1,6 @@
+MD5 d5d5b818347fd87b290ecb0b17516b34 files/05portage.envd 34
+MD5 27384bf8f13f5f4f633f79c735c98dba files/digest-portage-2.1_pre3-r1 69
+MD5 27384bf8f13f5f4f633f79c735c98dba files/digest-portage-2.1_pre3-r2 69
+MD5 1524065828d71747d1a6159a6690be1d files/portage-2.1_pre3-distdir.patch 757
+MD5 9e669b11a86a57aa8d2a452531085bb6 files/xterm-titles.patch 1115
+MD5 cf5cef659f39315a2b7002f97185d380 portage-2.1_pre3-r2.ebuild 4511
diff --git a/sys-apps/portage/files/05portage.envd b/sys-apps/portage/files/05portage.envd
new file mode 100644
index 00000000..e55d2d8f
--- /dev/null
+++ b/sys-apps/portage/files/05portage.envd
@@ -0,0 +1 @@
+PYTHONPATH="/usr/lib/portage/pym"
diff --git a/sys-apps/portage/files/digest-portage-2.1_pre3-r1 b/sys-apps/portage/files/digest-portage-2.1_pre3-r1
new file mode 100644
index 00000000..3ba10b0e
--- /dev/null
+++ b/sys-apps/portage/files/digest-portage-2.1_pre3-r1
@@ -0,0 +1 @@
+MD5 e64ac58e6e6a71f60eac3fc547379032 portage-2.1_pre3.tar.bz2 248017
diff --git a/sys-apps/portage/files/digest-portage-2.1_pre3-r2 b/sys-apps/portage/files/digest-portage-2.1_pre3-r2
new file mode 100644
index 00000000..3ba10b0e
--- /dev/null
+++ b/sys-apps/portage/files/digest-portage-2.1_pre3-r2
@@ -0,0 +1 @@
+MD5 e64ac58e6e6a71f60eac3fc547379032 portage-2.1_pre3.tar.bz2 248017
diff --git a/sys-apps/portage/files/portage-2.1_pre3-distdir.patch b/sys-apps/portage/files/portage-2.1_pre3-distdir.patch
new file mode 100644
index 00000000..9c0e9192
--- /dev/null
+++ b/sys-apps/portage/files/portage-2.1_pre3-distdir.patch
@@ -0,0 +1,14 @@
+Index: portage.py
+===================================================================
+--- pym/portage.py (revision 2542)
++++ pym/portage.py (revision 2543)
+@@ -2809,7 +2809,8 @@
+ # will be executed, either that or forced N doebuild calls instead of a single set of phase calls.
+ if (mydo not in ("setup", "clean", "postinst", "preinst", "prerm", "fetch", "digest", "manifest") and
+ "noauto" not in features) or mydo == "unpack":
+- orig_distdir = mysettings["DISTDIR"]
++ # remove PORTAGE_ACTUAL_DISTDIR once cvs/svn is supported via SRC_URI
++ mysettings["PORTAGE_ACTUAL_DISTDIR"] = orig_distdir = mysettings["DISTDIR"]
+ edpath = mysettings["DISTDIR"] = os.path.join(mysettings["PORTAGE_BUILDDIR"], "distdir")
+ if os.path.exists(edpath):
+ try:
diff --git a/sys-apps/portage/files/xterm-titles.patch b/sys-apps/portage/files/xterm-titles.patch
new file mode 100644
index 00000000..0667960f
--- /dev/null
+++ b/sys-apps/portage/files/xterm-titles.patch
@@ -0,0 +1,24 @@
+diff -uNr portage-2.1_pre3/pym/output.py portage-2.1_pre3-r1/pym/output.py
+--- portage-2.1_pre3/pym/output.py 2005-12-31 15:23:23.000000000 +0900
++++ portage-2.1_pre3-r1/pym/output.py 2006-01-01 14:44:53.000000000 +0900
+@@ -102,7 +102,7 @@
+ sys.stderr.flush()
+ break
+
+-prompt_command = os.getenv("PROMPT_COMMAND", 'echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"')
++prompt_command = os.getenv("PROMPT_COMMAND", 'echo -ne "${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}"')
+ default_xterm_title = commands.getoutput(prompt_command)
+ del prompt_command
+
+diff -uNr portage-2.1_pre3/pym/portage.py portage-2.1_pre3-r1/pym/portage.py
+--- portage-2.1_pre3/pym/portage.py 2005-12-31 15:24:24.000000000 +0900
++++ portage-2.1_pre3-r1/pym/portage.py 2006-01-01 14:45:01.000000000 +0900
+@@ -4,7 +4,7 @@
+ # $Id: /var/cvsroot/gentoo-src/portage/pym/portage.py,v 1.524.2.76 2005/05/29 12:40:08 jstubbs Exp $
+
+
+-VERSION="2.1_pre3"
++VERSION="2.1_pre3-r1"
+
+ # ===========================================================================
+ # START OF IMPORTS -- START OF IMPORTS -- START OF IMPORTS -- START OF IMPORT
diff --git a/sys-apps/portage/portage-2.1_pre3-r2.ebuild b/sys-apps/portage/portage-2.1_pre3-r2.ebuild
new file mode 100644
index 00000000..523d2fc5
--- /dev/null
+++ b/sys-apps/portage/portage-2.1_pre3-r2.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/portage/portage-2.1_pre3-r1.ebuild,v 1.1 2006/01/01 05:55:29 jstubbs Exp $
+
+inherit toolchain-funcs eutils
+
+DESCRIPTION="The Portage Package Management System. The primary package management and distribution system for Gentoo."
+HOMEPAGE="http://www.gentoo.org/"
+SRC_URI="mirror://gentoo/${PN}-${PV}.tar.bz2 http://dev.gentoo.org/~jstubbs/releases/${PN}-${PV}.tar.bz2"
+LICENSE="GPL-2"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86"
+
+SLOT="0"
+IUSE="build doc selinux"
+DEPEND=">=dev-lang/python-2.3"
+RDEPEND="!build? ( >=sys-apps/sed-4.0.5 dev-python/python-fchksum >=dev-lang/python-2.3 userland_GNU? ( sys-apps/debianutils ) >=app-shells/bash-2.05a ) !userland_Darwin? ( app-misc/pax-utils sys-apps/sandbox ) selinux? ( >=dev-python/python-selinux-2.15 )"
+PDEPEND="doc? ( app-portage/portage-manpages )"
+PROVIDE="virtual/portage"
+
+S=${WORKDIR}/${PN}-${PV}
+
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ patch -p1 < ${FILESDIR}/xterm-titles.patch
+ epatch ${FILESDIR}/portage-2.1_pre3-distdir.patch
+}
+
+src_compile() {
+ python -O -c "import compileall; compileall.compile_dir('${S}/pym')"
+
+ cd "${S}"/src
+ $(tc-getCC) ${CFLAGS} -o tbz2tool tbz2tool.c
+
+ if ! use userland_Darwin; then
+ cd "${S}"/src/python-missingos
+ chmod +x setup.py
+ ./setup.py build || die "Failed to build missingos module"
+ fi
+
+ if use elibc_FreeBSD; then
+ cd "${S}"/src/bsd-flags
+ chmod +x setup.py
+ ./setup.py build || die "Failed to install bsd-chflags module"
+ fi
+}
+
+src_install() {
+ cd "${S}"/cnf
+ insinto /etc
+ doins etc-update.conf dispatch-conf.conf make.globals
+ if [ -f "make.conf.${ARCH}" ]; then
+ newins make.conf.${ARCH} make.conf.example
+ else
+ eerror ""
+ eerror "Portage does not have an arch-specific configuration for this arch."
+ eerror "Please notify the arch maintainer about this issue. Using generic."
+ eerror ""
+ newins make.conf make.conf.example
+ fi
+
+ if ! use userland_Darwin; then
+ cd "${S}"/src/python-missingos
+ ./setup.py install --root ${D} || die "Failed to install missingos module"
+ fi
+
+ if use elibc_FreeBSD; then
+ cd "${S}"/src/bsd-flags
+ ./setup.py install --root ${D} || die "Failed to install bsd-chflags module"
+ fi
+
+ dodir /usr/lib/portage/bin
+ exeinto /usr/lib/portage/bin
+ cd "${S}"/bin
+ doexe *
+ doexe "${S}"/src/tbz2tool
+ dosym newins /usr/lib/portage/bin/donewins
+
+ dodir /usr/lib/portage/pym
+ insinto /usr/lib/portage/pym
+ cd "${S}"/pym
+ doins *
+
+ dodir /usr/lib/portage/pym/cache
+ insinto /usr/lib/portage/pym/cache
+ cd "${S}"/pym/cache
+ doins *
+
+ dodir /usr/lib/portage/pym/elog_modules
+ insinto /usr/lib/portage/pym/elog_modules
+ cd "${S}"/pym/elog_modules
+ doins *
+
+ doman "${S}"/man/*.[0-9]
+ dodoc "${S}"/ChangeLog
+
+ dodir /usr/bin
+ for x in ebuild emerge portageq repoman tbz2tool xpak; do
+ dosym ../lib/portage/bin/${x} /usr/bin/${x}
+ done
+
+ dodir /usr/sbin
+ for x in archive-conf dispatch-conf emaint emerge-webrsync env-update etc-update fixpackages quickpkg regenworld; do
+ dosym ../lib/portage/bin/${x} /usr/sbin/${x}
+ done
+
+ dodir /etc/portage
+ keepdir /etc/portage
+
+ doenvd ${FILESDIR}/05portage.envd
+}
+
+pkg_preinst() {
+ if has livecvsportage ${FEATURES} && [ "${ROOT}" = "/" ]; then
+ rm -rf ${IMAGE}/usr/lib/portage/pym/*
+ mv ${IMAGE}/usr/lib/portage/bin/tbz2tool ${T}
+ rm -rf ${IMAGE}/usr/lib/portage/bin/*
+ mv ${T}/tbz2tool ${IMAGE}/usr/lib/portage/bin/
+ else
+ rm /usr/lib/portage/pym/*.pyc >& /dev/null
+ rm /usr/lib/portage/pym/*.pyo >& /dev/null
+ fi
+}
+
+pkg_postinst() {
+ local x
+
+ if [ ! -f "${ROOT}/var/lib/portage/world" ] &&
+ [ -f ${ROOT}/var/cache/edb/world ] &&
+ [ ! -h ${ROOT}/var/cache/edb/world ]; then
+ mv ${ROOT}/var/cache/edb/world ${ROOT}/var/lib/portage/world
+ ln -s ../../lib/portage/world /var/cache/edb/world
+ fi
+
+ for x in ${ROOT}etc/._cfg????_make.globals; do
+ # Overwrite the globals file automatically.
+ [ -e "${x}" ] && mv -f "${x}" "${ROOT}etc/make.globals"
+ done
+
+ ewarn "This series contains a completely rewritten caching framework."
+ ewarn "If you are using any cache modules (such as the CDB cache"
+ ewarn "module) portage will not work until they have been disabled."
+ ewarn "For reference, they are configured at /etc/portage/modules."
+ echo
+ einfo "The default cache format has changed beginning with this"
+ einfo "version. Before using emerge, run \`emerge --metadata\` to"
+ einfo "restore portage's local cache."
+}
diff --git a/x11-base/xgl/Manifest b/x11-base/xgl/Manifest
new file mode 100644
index 00000000..dfc7fa76
--- /dev/null
+++ b/x11-base/xgl/Manifest
@@ -0,0 +1,8 @@
+MD5 063dc3bc1f6634ab506e9c8ca8bb05c0 files/digest-xgl-20060118 67
+MD5 d7a1589b573e858f7feafdd6a8214975 files/mesa-glx-x11-get-drawable-attribs-fix-1.diff 1866
+MD5 66e2f35bb026673c9848dc43a22b0120 files/mesa-glx-x11-glxproto-defines.diff 392
+MD5 9a6eaed5ab1fd6748d543679a335f72c files/r200-copy-pixels-1.patch 2741
+MD5 fd9d83283d2b6ce25cd86542df63925b files/xgl-glxproto-defines.diff 945
+MD5 4b3946e65a33435fc06db7b2040e4d5b files/xgl-mesa-stable-180106.diff 6310
+MD5 f18e3d02affd6bc0dcbafde514e36438 files/xgl-symlink-glapi.diff 297
+MD5 1f2f08b8d79e3e26a65e97c79d1b585b xgl-20060118.ebuild 1702
diff --git a/x11-base/xgl/files/digest-xgl-20060118 b/x11-base/xgl/files/digest-xgl-20060118
new file mode 100644
index 00000000..0f4cbf1e
--- /dev/null
+++ b/x11-base/xgl/files/digest-xgl-20060118
@@ -0,0 +1 @@
+MD5 ea148c828ec6f645526451db1b8556f1 MesaLib-6.4.1.tar.bz2 2913887
diff --git a/x11-base/xgl/files/mesa-glx-x11-get-drawable-attribs-fix-1.diff b/x11-base/xgl/files/mesa-glx-x11-get-drawable-attribs-fix-1.diff
new file mode 100644
index 00000000..a13b56d3
--- /dev/null
+++ b/x11-base/xgl/files/mesa-glx-x11-get-drawable-attribs-fix-1.diff
@@ -0,0 +1,73 @@
+diff -u -r1.5 glx_pbuffer.c
+--- src/glx/x11/glx_pbuffer.c 11 Aug 2005 14:18:53 -0000 1.5
++++ src/glx/x11/glx_pbuffer.c 30 Aug 2005 01:48:16 -0000
+@@ -200,6 +200,7 @@
+ GLboolean use_glx_1_3 = ((priv->majorVersion > 1)
+ || (priv->minorVersion >= 3));
+
++ *value = 0;
+
+ if ( (dpy == NULL) || (drawable == 0) ) {
+ return 0;
+@@ -230,32 +231,40 @@
+
+ _XReply(dpy, (xReply*) &reply, 0, False);
+
+- length = reply.length;
+- num_attributes = (use_glx_1_3) ? reply.numAttribs : length / 2;
+- data = (CARD32 *) Xmalloc( length * sizeof(CARD32) );
+- if ( data == NULL ) {
+- /* Throw data on the floor */
+- _XEatData(dpy, length);
+- } else {
+- _XRead(dpy, (char *)data, length * sizeof(CARD32) );
++ if (reply.type == X_Error)
++ {
++ UnlockDisplay(dpy);
++ SyncHandle();
++ return 0;
+ }
+
+- UnlockDisplay(dpy);
+- SyncHandle();
+-
+-
+- /* Search the set of returned attributes for the attribute requested by
+- * the caller.
+- */
++ length = reply.length;
++ if (length)
++ {
++ num_attributes = (use_glx_1_3) ? reply.numAttribs : length / 2;
++ data = (CARD32 *) Xmalloc( length * sizeof(CARD32) );
++ if ( data == NULL ) {
++ /* Throw data on the floor */
++ _XEatData(dpy, length);
++ } else {
++ _XRead(dpy, (char *)data, length * sizeof(CARD32) );
++
++ /* Search the set of returned attributes for the attribute requested by
++ * the caller.
++ */
++ for ( i = 0 ; i < num_attributes ; i++ ) {
++ if ( data[i*2] == attribute ) {
++ *value = data[ (i*2) + 1 ];
++ break;
++ }
++ }
+
+- for ( i = 0 ; i < num_attributes ; i++ ) {
+- if ( data[i*2] == attribute ) {
+- *value = data[ (i*2) + 1 ];
+- break;
+- }
++ Xfree( data );
++ }
+ }
+
+- Xfree( data );
++ UnlockDisplay(dpy);
++ SyncHandle();
+
+ return 0;
+ }
diff --git a/x11-base/xgl/files/mesa-glx-x11-glxproto-defines.diff b/x11-base/xgl/files/mesa-glx-x11-glxproto-defines.diff
new file mode 100644
index 00000000..c0835843
--- /dev/null
+++ b/x11-base/xgl/files/mesa-glx-x11-glxproto-defines.diff
@@ -0,0 +1,12 @@
+--- Mesa/src/glx/x11/glxcmds.c.1 2006-01-11 22:43:47.395961500 +0100
++++ Mesa/src/glx/x11/glxcmds.c 2006-01-11 22:44:12.717544000 +0100
+@@ -56,6 +56,9 @@
+ #include "glheader.h"
+ #include <sys/time.h>
+
++#define X_GLXvop_BindTexImageMESA 15
++#define X_GLXvop_ReleaseTexImageMESA 16
++
+ static const char __glXGLXClientVendorName[] = "SGI";
+ static const char __glXGLXClientVersion[] = "1.4";
+
diff --git a/x11-base/xgl/files/r200-copy-pixels-1.patch b/x11-base/xgl/files/r200-copy-pixels-1.patch
new file mode 100644
index 00000000..26463cd0
--- /dev/null
+++ b/x11-base/xgl/files/r200-copy-pixels-1.patch
@@ -0,0 +1,112 @@
+diff -u ../Mesa-6.4.1.old/src/mesa/drivers/dri/r200/r200_pixel.c ./src/mesa/drivers/dri/r200/r200_pixel.c
+--- ../Mesa-6.4.1.old/src/mesa/drivers/dri/r200/r200_pixel.c 2004-07-31 10:14:50.000000000 +0200
++++ ./src/mesa/drivers/dri/r200/r200_pixel.c 2005-12-21 15:19:24.000000000 +0100
+@@ -472,6 +472,98 @@
+ }
+
+
++void
++r200CopyPixels( GLcontext *ctx,
++ GLint srcx, GLint srcy, GLsizei width, GLsizei height,
++ GLint destx, GLint desty,
++ GLenum type )
++{
++ if (type == GL_COLOR &&
++ ctx->Pixel.ReadBuffer == GL_BACK &&
++ ctx->Color.DrawBuffer[0] == GL_FRONT &&
++ srcx == destx && srcy == desty &&
++ ctx->_ImageTransferState == 0 && /* no color tables, scale/bias, etc */
++ ctx->Pixel.ZoomX == 1.0 && /* no zooming */
++ ctx->Pixel.ZoomY == 1.0)
++ {
++ r200ContextPtr rmesa = R200_CONTEXT (ctx);
++ __DRIdrawablePrivate *dPriv = rmesa->dri.drawable;
++ GLint x, y, size;
++ GLint nbox, i, ret;
++
++ x = destx;
++ y = desty;
++
++ if (!clip_pixelrect (ctx, ctx->DrawBuffer, &x, &y, &width, &height,
++ &size))
++ {
++ if (R200_DEBUG & DEBUG_PIXEL)
++ fprintf (stderr, "%s totally clipped -- nothing to do\n",
++ __FUNCTION__);
++
++ return;
++ }
++
++ y = dPriv->h - y - height; /* convert from gl to hardware coords */
++ x += dPriv->x;
++ y += dPriv->y;
++
++ R200_FIREVERTICES( rmesa );
++
++ LOCK_HARDWARE( rmesa );
++
++ nbox = dPriv->numClipRects; /* must be in locked region */
++
++ for (i = 0; i < nbox; )
++ {
++ drm_clip_rect_t *box = dPriv->pClipRects;
++ drm_clip_rect_t *b = rmesa->sarea->boxes;
++ drm_clip_rect_t r;
++ GLint n = 0;
++
++ while (n < RADEON_NR_SAREA_CLIPRECTS && i < nbox)
++ {
++ r = box[i++];
++
++ if (r.x1 < x)
++ r.x1 = x;
++ if (r.y1 < y)
++ r.y1 = y;
++ if (r.x2 > x + width)
++ r.x2 = x + width;
++ if (r.y2 > y + height)
++ r.y2 = y + height;
++
++ if (r.x1 < r.x2 && r.y1 < r.y2)
++ {
++ *b++ = r;
++ n++;
++ }
++ }
++
++ if (n)
++ {
++ rmesa->sarea->nbox = n;
++
++ ret = drmCommandNone ( rmesa->dri.fd, DRM_RADEON_SWAP );
++
++ if ( ret ) {
++ fprintf( stderr, "DRM_R200_SWAP_BUFFERS: return = %d\n",
++ ret );
++ UNLOCK_HARDWARE( rmesa );
++ exit( 1 );
++ }
++ }
++ }
++
++ UNLOCK_HARDWARE( rmesa );
++ }
++ else
++ {
++ _swrast_CopyPixels (ctx, srcx, srcy, width, height, destx, desty, type);
++ }
++}
++
+
+ void r200InitPixelFuncs( GLcontext *ctx )
+ {
+@@ -485,7 +577,8 @@
+
+ if (!getenv("R200_NO_BLITS") && R200_CONTEXT(ctx)->dri.drmMinor >= 6) {
+ ctx->Driver.ReadPixels = r200ReadPixels;
+- ctx->Driver.DrawPixels = r200DrawPixels;
++ ctx->Driver.DrawPixels = r200DrawPixels;
++ ctx->Driver.CopyPixels = r200CopyPixels;
+ if (getenv("R200_HW_BITMAP"))
+ ctx->Driver.Bitmap = r200Bitmap;
+ }
diff --git a/x11-base/xgl/files/xgl-glxproto-defines.diff b/x11-base/xgl/files/xgl-glxproto-defines.diff
new file mode 100644
index 00000000..36bcd15c
--- /dev/null
+++ b/x11-base/xgl/files/xgl-glxproto-defines.diff
@@ -0,0 +1,24 @@
+--- xgl-xorg/GL/glx/glxcmds.c.1 2006-01-21 00:47:33.466284000 +0100
++++ xgl-xorg/GL/glx/glxcmds.c 2006-01-21 00:48:49.579040750 +0100
+@@ -57,6 +57,9 @@
+ #include "glthread.h"
+ #include "dispatch.h"
+
++#define X_GLXvop_BindTexImageMESA 15
++#define X_GLXvop_ReleaseTexImageMESA 16
++
+ /************************************************************************/
+
+ void GlxSetRenderTables (struct _glapi_table *table)
+--- xgl-xorg/GL/glx/glxcmdsswap.c.1 2006-01-21 00:50:57.467033250 +0100
++++ xgl-xorg/GL/glx/glxcmdsswap.c 2006-01-21 00:51:05.979565250 +0100
+@@ -55,6 +55,9 @@
+ #include "glthread.h"
+ #include "dispatch.h"
+
++#define X_GLXvop_BindTexImageMESA 15
++#define X_GLXvop_ReleaseTexImageMESA 16
++
+ static int __glXSwapGetFBConfigsSGIX(__GLXclientState *cl, GLbyte *pc);
+ static int __glXSwapCreateContextWithConfigSGIX(__GLXclientState *cl, GLbyte *pc);
+ static int __glXSwapCreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc);
diff --git a/x11-base/xgl/files/xgl-mesa-stable-180106.diff b/x11-base/xgl/files/xgl-mesa-stable-180106.diff
new file mode 100644
index 00000000..b370b558
--- /dev/null
+++ b/x11-base/xgl/files/xgl-mesa-stable-180106.diff
@@ -0,0 +1,217 @@
+Index: src/glx/x11/glxcmds.c
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/glx/x11/glxcmds.c,v
+retrieving revision 1.11
+diff -u -u -r1.11 glxcmds.c
+--- src/glx/x11/glxcmds.c 11 Aug 2005 14:18:53 -0000 1.11
++++ src/glx/x11/glxcmds.c 18 Jan 2006 07:22:19 -0000
+@@ -2589,7 +2589,88 @@
+ }
+ /*@}*/
+
++PUBLIC Bool glXBindTexImageMESA(Display *dpy,
++ GLXDrawable drawable,
++ int buffer)
++{
++ xGLXVendorPrivateReq *req;
++ GLXContext gc = __glXGetCurrentContext();
++ GLXDrawable *drawable_ptr;
++ int *buffer_ptr;
++ CARD8 opcode;
++
++ if (gc == NULL)
++ return False;
++
++#ifdef GLX_DIRECT_RENDERING
++ if (gc->isDirect)
++ return False;
++#endif
++
++ opcode = __glXSetupForCommand(dpy);
++ if (!opcode)
++ return False;
++
++ LockDisplay(dpy);
++ GetReqExtra(GLXVendorPrivate, sizeof(GLXDrawable)+sizeof(int),req);
++ req->reqType = opcode;
++ req->glxCode = X_GLXVendorPrivate;
++ req->vendorCode = X_GLXvop_BindTexImageMESA;
++ req->contextTag = gc->currentContextTag;
++
++ drawable_ptr = (GLXDrawable *) (req + 1);
++ buffer_ptr = (int *) (drawable_ptr + 1);
+
++ *drawable_ptr = drawable;
++ *buffer_ptr = buffer;
++
++ UnlockDisplay(dpy);
++ SyncHandle();
++
++ return True;
++}
++
++PUBLIC Bool glXReleaseTexImageMESA(Display *dpy,
++ GLXDrawable drawable,
++ int buffer)
++{
++ xGLXVendorPrivateReq *req;
++ GLXContext gc = __glXGetCurrentContext();
++ GLXDrawable *drawable_ptr;
++ int *buffer_ptr;
++ xGLXVendorPrivReply reply;
++ CARD8 opcode;
++
++ if (gc == NULL)
++ return False;
++
++#ifdef GLX_DIRECT_RENDERING
++ if (gc->isDirect)
++ return False;
++#endif
++
++ opcode = __glXSetupForCommand(dpy);
++ if (!opcode)
++ return False;
++
++ LockDisplay(dpy);
++ GetReqExtra(GLXVendorPrivate, sizeof(GLXDrawable)+sizeof(int),req);
++ req->reqType = opcode;
++ req->glxCode = X_GLXVendorPrivate;
++ req->vendorCode = X_GLXvop_ReleaseTexImageMESA;
++ req->contextTag = gc->currentContextTag;
++
++ drawable_ptr = (GLXDrawable *) (req + 1);
++ buffer_ptr = (int *) (drawable_ptr + 1);
++
++ *drawable_ptr = drawable;
++ *buffer_ptr = buffer;
++
++ UnlockDisplay(dpy);
++ SyncHandle();
++
++ return True;
++}
+
+ /**
+ * \c strdup is actually not a standard ANSI C or POSIX routine.
+@@ -2771,6 +2852,10 @@
+ GLX_FUNCTION( glXGetMscRateOML ),
+ GLX_FUNCTION( glXGetSyncValuesOML ),
+
++ /*** GLX_MESA_render_texture ***/
++ GLX_FUNCTION( glXBindTexImageMESA ),
++ GLX_FUNCTION( glXReleaseTexImageMESA ),
++
+ #ifdef GLX_DIRECT_RENDERING
+ /*** DRI configuration ***/
+ GLX_FUNCTION( glXGetScreenDriver ),
+Index: src/glx/x11/glxextensions.c
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/glx/x11/glxextensions.c,v
+retrieving revision 1.11
+diff -u -u -r1.11 glxextensions.c
+--- src/glx/x11/glxextensions.c 11 Aug 2005 14:18:53 -0000 1.11
++++ src/glx/x11/glxextensions.c 18 Jan 2006 07:22:19 -0000
+@@ -107,6 +107,7 @@
+ { GLX(SGIX_video_source), VER(0,0), N, N, N, N },
+ { GLX(SGIX_visual_select_group), VER(0,0), Y, Y, N, N },
+ { GLX(SUN_get_transparent_index), VER(0,0), N, N, N, N },
++ { GLX(MESA_render_texture), VER(0,0), Y, N, N, N },
+ { NULL }
+ };
+
+Index: src/glx/x11/glxextensions.h
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/glx/x11/glxextensions.h,v
+retrieving revision 1.8
+diff -u -u -r1.8 glxextensions.h
+--- src/glx/x11/glxextensions.h 26 Jul 2005 22:53:38 -0000 1.8
++++ src/glx/x11/glxextensions.h 18 Jan 2006 07:22:20 -0000
+@@ -69,7 +69,8 @@
+ SGIX_video_resize_bit,
+ SGIX_video_source_bit,
+ SGIX_visual_select_group_bit,
+- SUN_get_transparent_index_bit
++ SUN_get_transparent_index_bit,
++ MESA_render_texture_bit
+ };
+
+ enum {
+Index: src/mesa/glapi/glapi.c
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/mesa/glapi/glapi.c,v
+retrieving revision 1.95.2.1
+diff -u -u -r1.95.2.1 glapi.c
+--- src/mesa/glapi/glapi.c 11 Oct 2005 16:56:27 -0000 1.95.2.1
++++ src/mesa/glapi/glapi.c 18 Jan 2006 07:22:21 -0000
+@@ -343,7 +343,7 @@
+ }
+
+
+-#if !defined( USE_X86_ASM ) && !defined( XFree86Server )
++#if !defined( USE_X86_ASM ) && !defined( XFree86Server ) && !defined( XGLServer )
+ #define NEED_FUNCTION_POINTER
+ #endif
+
+@@ -388,7 +388,7 @@
+ }
+
+
+-#if !defined( XFree86Server )
++#if !defined( XFree86Server ) && !defined (XGLServer)
+ #ifdef USE_X86_ASM
+
+ #if defined( GLX_USE_TLS )
+@@ -763,13 +763,13 @@
+ /* Do some trivial validation on the name of the function.
+ */
+
+-#ifdef MANGLE
+- if (!function_names[i] || function_names[i][0] != 'm' || function_names[i][1] != 'g' || function_names[i][2] != 'l')
+- return GL_FALSE;
+-#else
+- if (!function_names[i] || function_names[i][0] != 'g' || function_names[i][1] != 'l')
+- return GL_FALSE;
+-#endif
++//#if 0//def USE_MGL_NAMESPACE
++// if (!function_names[i] || function_names[i][0] != 'm' || function_names[i][1] != 'g' || function_names[i][2] != 'l')
++// return GL_FALSE;
++//#else
++// if (!function_names[i] || function_names[i][0] != 'g' || function_names[i][1] != 'l')
++// return GL_FALSE;
++//#endif
+
+
+ /* Determine if the named function already exists. If the function does
+@@ -892,7 +892,7 @@
+ }
+ }
+
+-#if !defined( XFree86Server )
++#if !defined( XFree86Server ) && !defined( XGLServer )
+ /* search static functions */
+ {
+ const _glapi_proc func = get_static_proc_address(funcName);
+Index: src/mesa/glapi/glapi.h
+===================================================================
+RCS file: /cvs/mesa/Mesa/src/mesa/glapi/glapi.h,v
+retrieving revision 1.29
+diff -u -u -r1.29 glapi.h
+--- src/mesa/glapi/glapi.h 10 Aug 2005 23:54:15 -0000 1.29
++++ src/mesa/glapi/glapi.h 18 Jan 2006 07:22:21 -0000
+@@ -50,6 +50,15 @@
+
+ typedef void (*_glapi_warning_func)(void *ctx, const char *str, ...);
+
++#if defined(USE_MGL_NAMESPACE)
++#define _glapi_set_dispatch _mglapi_set_dispatch
++#define _glapi_get_dispatch _mglapi_get_dispatch
++#define _glapi_set_context _mglapi_set_context
++#define _glapi_get_context _mglapi_get_context
++#define _glapi_Context _mglapi_Context
++#define _glapi_Dispatch _mglapi_Dispatch
++#endif
++
+
+ #if defined (GLX_USE_TLS)
+
diff --git a/x11-base/xgl/files/xgl-symlink-glapi.diff b/x11-base/xgl/files/xgl-symlink-glapi.diff
new file mode 100644
index 00000000..1a4181a5
--- /dev/null
+++ b/x11-base/xgl/files/xgl-symlink-glapi.diff
@@ -0,0 +1,10 @@
+--- xgl-xorg/GL/symlink-mesa.sh.1 2006-01-21 02:06:26.546083000 +0100
++++ xgl-xorg/GL/symlink-mesa.sh 2006-01-21 02:05:57.448264500 +0100
+@@ -64,6 +64,7 @@
+
+ action dispatch.h
+ action glapi.h
++ action glapi.c
+ action glapioffsets.h
+ action glapitable.h
+ action glapitemp.h
diff --git a/x11-base/xgl/xgl-20060118.ebuild b/x11-base/xgl/xgl-20060118.ebuild
new file mode 100644
index 00000000..dab7cbb1
--- /dev/null
+++ b/x11-base/xgl/xgl-20060118.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit cvs eutils
+
+ECVS_SERVER="cvs.freedesktop.org:/cvs/xorg"
+ECVS_MODULE="xserver/xorg"
+ECVS_BRANCH="xgl-0-0-1"
+ECVS_LOCALNAME="xgl-xorg"
+S=${WORKDIR}/${ECVS_LOCALNAME}
+
+MESA_SRC=MesaLib-6.4.1.tar.bz2
+SRC_URI="mirror://sourceforge/mesa3d/${MESA_SRC}"
+
+DESCRIPTION="XGL X server"
+HOMEPAGE="http://xorg.freedesktop.org/"
+LICENSE="X11"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+DEPEND=">=media-libs/glitz-0.5.0_alpha0
+ >=media-libs/mesa-6.4.2_alpha0"
+
+src_compile() {
+ use amd64 && CFLAGS="${CFLAGS} -D_XSERVER64"
+
+ unpack ${MESA_SRC}
+ pushd Mesa-6.4.1
+ epatch ${FILESDIR}/mesa-glx-x11-get-drawable-attribs-fix-1.diff
+ epatch ${FILESDIR}/r200-copy-pixels-1.patch
+ epatch ${FILESDIR}/xgl-mesa-stable-180106.diff
+ epatch ${FILESDIR}/mesa-glx-x11-glxproto-defines.diff
+ popd
+
+ epatch ${FILESDIR}/xgl-glxproto-defines.diff
+ epatch ${FILESDIR}/xgl-symlink-glapi.diff
+# ln -s `pwd`/Mesa-6.4.1/src/mesa/glapi/glapi.c GL/mesa/glapi/glapi.c
+
+ ./autogen.sh --host=${CHOST} \
+ --prefix=/usr \
+ --infodir=/usr/share/info \
+ --mandir=/usr/share/man \
+ --with-fontdir=/usr/share/fonts \
+ --enable-glx \
+ --enable-dri \
+ --disable-xkb \
+ --enable-xgl \
+ --enable-xglx \
+ --disable-xorg \
+ --disable-xprint \
+ --disable-dmx \
+ --disable-xvfb \
+ --disable-xnest \
+ --with-mesa-source=${S}/Mesa-6.4.1 || die "econf failed"
+ # --enable-xkb
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR=${D} install || die
+ rm ${D}/usr/share/aclocal/xorg-server.m4 \
+ ${D}/usr/lib/xserver/SecurityPolicy \
+ ${D}/usr/lib/pkgconfig/xorg-server.pc \
+ ${D}/usr/share/man/man1/Xserver.1x
+}
diff --git a/x11-libs/cairo/Manifest b/x11-libs/cairo/Manifest
new file mode 100644
index 00000000..13baa050
--- /dev/null
+++ b/x11-libs/cairo/Manifest
@@ -0,0 +1,2 @@
+MD5 e5aaf2a9f3e0750348375dd86ad22587 cairo-1.1.1_alpha20060115.ebuild 1399
+MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-cairo-1.1.1_alpha20060115 0
diff --git a/x11-libs/cairo/cairo-1.1.1_alpha20060115.ebuild b/x11-libs/cairo/cairo-1.1.1_alpha20060115.ebuild
new file mode 100644
index 00000000..9adb30bc
--- /dev/null
+++ b/x11-libs/cairo/cairo-1.1.1_alpha20060115.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/cairo/cairo-1.0.2.ebuild,v 1.13 2006/01/15 01:30:12 vapier Exp $
+
+inherit eutils cvs
+
+ECVS_SERVER="cvs.cairographics.org:/cvs/cairo"
+ECVS_MODULE="cairo"
+S=${WORKDIR}/${ECVS_MODULE}
+
+DESCRIPTION="A vector graphics library with cross-device output support"
+HOMEPAGE="http://cairographics.org/"
+#SRC_URI="http://cairographics.org/releases/${P}.tar.gz"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="doc glitz png X"
+
+RDEPEND="media-libs/fontconfig
+ >=media-libs/freetype-2.1
+ sys-libs/zlib
+ X? ( || ( ( x11-libs/libXrender
+ x11-libs/libXt )
+ virtual/x11 )
+ virtual/xft )
+ glitz? ( >=media-libs/glitz-0.4.4 )
+ png? ( media-libs/libpng )
+ !<x11-libs/cairo-0.2"
+
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.9
+ doc? ( >=dev-util/gtk-doc-1.3
+ ~app-text/docbook-xml-dtd-4.2 )"
+
+src_compile() {
+ ./autogen.sh
+ local myconf="$(use_with X x) \
+ $(use_enable X xlib) \
+ $(use_enable png) \
+ $(use_enable doc gtk-doc) \
+ $(use_enable glitz)"
+
+ econf $myconf || die "./configure failed"
+ emake || die "Compilation failed"
+}
+
+
+src_install() {
+ make DESTDIR="${D}" install || die "Installation failed"
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+}
diff --git a/x11-libs/cairo/files/digest-cairo-1.1.1_alpha20060115 b/x11-libs/cairo/files/digest-cairo-1.1.1_alpha20060115
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/x11-libs/cairo/files/digest-cairo-1.1.1_alpha20060115
diff --git a/x11-misc/glitzinfo/Manifest b/x11-misc/glitzinfo/Manifest
new file mode 100644
index 00000000..3bbea325
--- /dev/null
+++ b/x11-misc/glitzinfo/Manifest
@@ -0,0 +1,2 @@
+MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-glitzinfo-20060107 0
+MD5 773d1ba51d7b523079c15bacce64d966 glitzinfo-20060107.ebuild 586
diff --git a/x11-misc/glitzinfo/files/digest-glitzinfo-20060107 b/x11-misc/glitzinfo/files/digest-glitzinfo-20060107
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/x11-misc/glitzinfo/files/digest-glitzinfo-20060107
diff --git a/x11-misc/glitzinfo/glitzinfo-20060107.ebuild b/x11-misc/glitzinfo/glitzinfo-20060107.ebuild
new file mode 100644
index 00000000..daa4f46f
--- /dev/null
+++ b/x11-misc/glitzinfo/glitzinfo-20060107.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/glitz/glitz-0.4.4.ebuild,v 1.6 2006/01/04 23:23:46 halcy0n Exp $
+
+inherit eutils cvs
+
+ECVS_SERVER="cvs.freedesktop.org:/cvs/cairo"
+ECVS_MODULE="glitzinfo"
+S=${WORKDIR}/${ECVS_MODULE}
+
+DESCRIPTION="Glitz info tool"
+HOMEPAGE="http://www.freedesktop.org/Software/glitz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+
+DEPEND="media-libs/glitz"
+
+src_compile() {
+ emake -f Makefile.glx || die
+}
+
+src_install() {
+ dobin glitzinfo
+}
diff --git a/x11-misc/glxcompmgr/Manifest b/x11-misc/glxcompmgr/Manifest
new file mode 100644
index 00000000..78af9912
--- /dev/null
+++ b/x11-misc/glxcompmgr/Manifest
@@ -0,0 +1,2 @@
+MD5 d41d8cd98f00b204e9800998ecf8427e files/digest-glxcompmgr-20060119 0
+MD5 240dae1026af936e4488e25482753fb7 glxcompmgr-20060119.ebuild 620
diff --git a/x11-misc/glxcompmgr/files/digest-glxcompmgr-20060119 b/x11-misc/glxcompmgr/files/digest-glxcompmgr-20060119
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/x11-misc/glxcompmgr/files/digest-glxcompmgr-20060119
diff --git a/x11-misc/glxcompmgr/glxcompmgr-20060119.ebuild b/x11-misc/glxcompmgr/glxcompmgr-20060119.ebuild
new file mode 100644
index 00000000..54e3a497
--- /dev/null
+++ b/x11-misc/glxcompmgr/glxcompmgr-20060119.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/glitz/glitz-0.4.4.ebuild,v 1.6 2006/01/04 23:23:46 halcy0n Exp $
+
+inherit eutils cvs
+
+ECVS_SERVER="cvs.freedesktop.org:/cvs/xorg"
+ECVS_MODULE="app/glxcompmgr"
+S=${WORKDIR}/${ECVS_MODULE}
+
+
+DESCRIPTION="Glxcompmgr composite manager"
+HOMEPAGE="http://xorg.freedesktop.org"
+LICENSE="X11"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+
+DEPEND="media-libs/mesa"
+
+src_compile() {
+ ./autogen.sh
+ econf || die
+ emake || die
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die
+}
diff --git a/xgl-overlay-200601212.tar.bz2 b/xgl-overlay-200601212.tar.bz2
new file mode 100644
index 00000000..b24011cf
--- /dev/null
+++ b/xgl-overlay-200601212.tar.bz2
Binary files differ