summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Jackson <ajax@fedoraproject.org>2006-08-18 19:52:19 +0000
committerAdam Jackson <ajax@fedoraproject.org>2006-08-18 19:52:19 +0000
commit182f8fe633bed6042af5c0fa8f89f5769e9f88f4 (patch)
tree57228effeba86e7e521d98bdea947716fc8bef96
parentc0ee800858687243671c937d07e99dad38a44802 (diff)
downloadmesa-182f8fe633bed6042af5c0fa8f89f5769e9f88f4.tar.gz
mesa-182f8fe633bed6042af5c0fa8f89f5769e9f88f4.tar.xz
mesa-182f8fe633bed6042af5c0fa8f89f5769e9f88f4.zip
auto-import mesa-6.5-22.20060818cvs.fc6 on branch devel from
mesa-6.5-22.20060818cvs.fc6.src.rpm
-rw-r--r--.cvsignore5
-rw-r--r--mesa-6.5-dont-libglut-me-harder-ok-thx-bye.patch2
-rw-r--r--mesa-6.5.1-build-config.patch141
-rw-r--r--mesa-6.5.1-selinux-awareness.patch186
-rw-r--r--mesa.spec156
-rw-r--r--sources4
6 files changed, 416 insertions, 78 deletions
diff --git a/.cvsignore b/.cvsignore
index 8ca93f2..73d4130 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,3 +1,2 @@
-*.tar.bz2
-*.tar.gz
-clog \ No newline at end of file
+MesaDemos-6.5.1.tar.bz2
+MesaLib-6.5.1.tar.bz2
diff --git a/mesa-6.5-dont-libglut-me-harder-ok-thx-bye.patch b/mesa-6.5-dont-libglut-me-harder-ok-thx-bye.patch
index 9281a80..ac76a60 100644
--- a/mesa-6.5-dont-libglut-me-harder-ok-thx-bye.patch
+++ b/mesa-6.5-dont-libglut-me-harder-ok-thx-bye.patch
@@ -10,7 +10,7 @@
+ $(CC) $(CFLAGS) glxgears.c -lGL -o $@
+
+glxinfo:
-+ $(CC) $(CFLAGS) -I$(INCDIR) glxinfo.c -lGL -lGLU -o $@
++ $(CC) $(CFLAGS) -I$(INCDIR) glxinfo.c -L$(TOP)/lib -L$(TOP)/lib64 -lGL -lGLU -o $@
+
pbinfo: pbinfo.o pbutil.o
$(CC) $(CFLAGS) pbinfo.o pbutil.o $(APP_LIB_DEPS) -o $@
diff --git a/mesa-6.5.1-build-config.patch b/mesa-6.5.1-build-config.patch
new file mode 100644
index 0000000..c68ee32
--- /dev/null
+++ b/mesa-6.5.1-build-config.patch
@@ -0,0 +1,141 @@
+--- mesa-cvs/configs/linux-dri-ppc.build-config 2005-08-19 16:20:03.000000000 -0400
++++ mesa-cvs/configs/linux-dri-ppc 2006-08-14 13:44:40.000000000 -0400
+@@ -5,7 +5,7 @@
+
+ CONFIG_NAME = linux-dri-ppc
+
+-OPT_FLAGS = -Os -mcpu=603
++OPT_FLAGS ?= -Os -mcpu=603
+ PIC_FLAGS = -fPIC
+
+ ASM_FLAGS = -DUSE_PPC_ASM -DUSE_VMX_ASM
+--- mesa-cvs/configs/linux-dri-x86.build-config 2005-09-12 11:19:19.000000000 -0400
++++ mesa-cvs/configs/linux-dri-x86 2006-08-14 13:44:40.000000000 -0400
+@@ -6,7 +6,7 @@
+ CONFIG_NAME = linux-dri-x86
+
+ # Unnecessary on x86, generally.
+-PIC_FLAGS =
++# PIC_FLAGS =
+
+ # Add -m32 to CFLAGS:
+ ARCH_FLAGS = -m32
+--- mesa-cvs/configs/linux-osmesa16.build-config 2006-07-12 22:50:27.000000000 -0400
++++ mesa-cvs/configs/linux-osmesa16 2006-08-14 13:44:40.000000000 -0400
+@@ -17,7 +17,7 @@
+
+
+ # Directories
+-SRC_DIRS = mesa glu
++SRC_DIRS = mesa
+ DRIVER_DIRS = osmesa
+ PROGRAM_DIRS =
+
+--- mesa-cvs/configs/linux.build-config 2005-10-28 09:11:00.000000000 -0400
++++ mesa-cvs/configs/linux 2006-08-14 13:44:40.000000000 -0400
+@@ -8,7 +8,9 @@
+ CC = gcc
+ CXX = g++
+
+-OPT_FLAGS = -O3 -g
++MKDEP = true
++
++OPT_FLAGS ?= -O3 -g
+ PIC_FLAGS = -fPIC
+
+ # Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support. Add -m32
+--- mesa-cvs/configs/linux-dri.build-config 2006-08-09 15:14:05.000000000 -0400
++++ mesa-cvs/configs/linux-dri 2006-08-14 13:44:40.000000000 -0400
+@@ -12,8 +12,9 @@
+ #MKDEP = /usr/X11R6/bin/makedepend
+ #MKDEP = gcc -M
+ #MKDEP_OPTIONS = -MF depend
++MKDEP = true
+
+-OPT_FLAGS = -O -g
++OPT_FLAGS ?= -O -g
+ PIC_FLAGS = -fPIC
+
+ # Add '-DGLX_USE_TLS' to ARCH_FLAGS to enable TLS support.
+@@ -24,8 +25,6 @@
+ -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER \
+ -DGLX_DIRECT_RENDERING -DHAVE_ALIAS
+
+-X11_INCLUDES = -I/usr/X11R6/include
+-
+ CFLAGS = -Wall -Wmissing-prototypes -std=c99 -ffast-math \
+ $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)
+
+@@ -35,7 +34,7 @@
+ ASM_SOURCES =
+
+ # Library/program dependencies
+-EXTRA_LIB_PATH=-L/usr/X11R6/lib
++EXTRA_LIB_PATH =
+
+ LIBDRM_LIB = `pkg-config --libs libdrm`
+ DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
+@@ -64,4 +63,4 @@
+ # gamma are missing because they have not been converted to use the new
+ # interface.
+ DRI_DIRS = i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
+- savage sis tdfx trident unichrome ffb
++ savage tdfx trident unichrome ffb # sis
+--- mesa-cvs/configs/linux-osmesa32.build-config 2006-07-12 22:50:27.000000000 -0400
++++ mesa-cvs/configs/linux-osmesa32 2006-08-14 13:44:40.000000000 -0400
+@@ -17,7 +17,7 @@
+
+
+ # Directories
+-SRC_DIRS = mesa glu
++SRC_DIRS = mesa
+ DRIVER_DIRS = osmesa
+ PROGRAM_DIRS =
+
+--- mesa-cvs/configs/default.build-config 2006-07-20 00:34:36.000000000 -0400
++++ mesa-cvs/configs/default 2006-08-14 13:46:03.000000000 -0400
+@@ -55,11 +55,11 @@
+
+ # GLw widget sources (Append "GLwMDrawA.c" here and add -lXm to GLW_LIB_DEPS in
+ # order to build the Motif widget too)
+-GLW_SOURCES = GLwDrawA.c
++GLW_SOURCES = GLwDrawA.c GLwMDrawA.c
+
+
+ # Directories to build
+-LIB_DIR = lib
++LIB_DIR ?= lib
+ SRC_DIRS = mesa glu glut/glx glw
+ GLU_DIRS = sgi
+ DRIVER_DIRS = x11 osmesa
+@@ -73,14 +73,14 @@
+ OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB)
+ GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
+ GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
+-GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
++GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lXm $(EXTRA_LIB_PATH) -lXt -lX11
+ APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
+
+
+
+ # Installation directories (for make install)
+ INSTALL_DIR = /usr/local
+-DRI_DRIVER_INSTALL_DIR = /usr/X11R6/lib/modules/dri
++DRI_DRIVER_INSTALL_DIR = $(DRI_DRIVER_DIR)
+
+ # Where libGL will look for DRI hardware drivers
+ DRI_DRIVER_SEARCH_DIR = $(DRI_DRIVER_INSTALL_DIR)
+--- mesa-cvs/configs/linux-osmesa.build-config 2006-07-12 22:50:27.000000000 -0400
++++ mesa-cvs/configs/linux-osmesa 2006-08-14 13:44:40.000000000 -0400
+@@ -14,9 +14,9 @@
+
+
+ # Directories
+-SRC_DIRS = mesa glu
++SRC_DIRS = mesa
+ DRIVER_DIRS = osmesa
+-PROGRAM_DIRS = osdemos
++PROGRAM_DIRS =
+
+
+ # Dependencies
diff --git a/mesa-6.5.1-selinux-awareness.patch b/mesa-6.5.1-selinux-awareness.patch
new file mode 100644
index 0000000..fe381c4
--- /dev/null
+++ b/mesa-6.5.1-selinux-awareness.patch
@@ -0,0 +1,186 @@
+--- mesa-cvs/configs/linux-dri.selinux-awareness 2006-08-10 16:39:55.000000000 -0400
++++ mesa-cvs/configs/linux-dri 2006-08-10 16:39:55.000000000 -0400
+@@ -38,7 +38,8 @@
+
+ LIBDRM_CFLAGS = `pkg-config --cflags libdrm`
+ LIBDRM_LIB = `pkg-config --libs libdrm`
+-DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB)
++DRI_LIB_DEPS = $(EXTRA_LIB_PATH) -lm -lpthread -lexpat -ldl $(LIBDRM_LIB) \
++ -lselinux
+ GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXxf86vm -lm -lpthread -ldl \
+ $(LIBDRM_LIB)
+
+--- mesa-cvs/src/mesa/main/execmem.c.selinux-awareness 2006-05-10 05:00:16.000000000 -0400
++++ mesa-cvs/src/mesa/main/execmem.c 2006-08-10 16:39:55.000000000 -0400
+@@ -36,7 +36,7 @@
+
+
+
+-#if defined(__linux__) && !defined(XFree86Server)
++#if defined(__linux__)
+
+ /*
+ * Allocate a large block of memory which can hold code then dole it out
+@@ -46,6 +46,7 @@
+ #include <unistd.h>
+ #include <sys/mman.h>
+ #include "mm.h"
++#include <selinux/selinux.h>
+
+ #define EXEC_HEAP_SIZE (10*1024*1024)
+
+@@ -55,9 +56,16 @@
+ static unsigned char *exec_mem = NULL;
+
+
+-static void
++static int
+ init_heap(void)
+ {
++
++ if (is_selinux_enabled()) {
++ if (!security_get_boolean_active("allow_execmem") ||
++ !security_get_boolean_pending("allow_execmem"))
++ return 0;
++ }
++
+ if (!exec_heap)
+ exec_heap = mmInit( 0, EXEC_HEAP_SIZE );
+
+@@ -65,6 +73,8 @@
+ exec_mem = (unsigned char *) mmap(0, EXEC_HEAP_SIZE,
+ PROT_EXEC | PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
++
++ return (exec_mem != NULL);
+ }
+
+
+@@ -76,7 +86,8 @@
+
+ _glthread_LOCK_MUTEX(exec_mutex);
+
+- init_heap();
++ if (!init_heap())
++ return NULL;
+
+ if (exec_heap) {
+ size = (size + 31) & ~31;
+--- mesa-cvs/src/mesa/drivers/dri/r200/r200_context.c.selinux-awareness 2006-06-09 20:51:54.000000000 -0400
++++ mesa-cvs/src/mesa/drivers/dri/r200/r200_context.c 2006-08-10 16:39:55.000000000 -0400
+@@ -546,8 +546,12 @@
+ }
+
+ if (rmesa->r200Screen->chip_flags & RADEON_CHIPSET_TCL) {
+- if (tcl_mode >= DRI_CONF_TCL_VTXFMT)
+- r200VtxfmtInit( ctx, tcl_mode >= DRI_CONF_TCL_CODEGEN );
++ void *test = NULL;
++ if ((test = _mesa_exec_malloc(64)))
++ if (tcl_mode >= DRI_CONF_TCL_VTXFMT)
++ r200VtxfmtInit( ctx, tcl_mode >= DRI_CONF_TCL_CODEGEN );
++ if (test)
++ _mesa_exec_free(test);
+
+ _tnl_need_dlist_norm_lengths( ctx, GL_FALSE );
+ }
+--- mesa-cvs/src/mesa/drivers/dri/radeon/radeon_context.c.selinux-awareness 2006-04-09 13:48:28.000000000 -0400
++++ mesa-cvs/src/mesa/drivers/dri/radeon/radeon_context.c 2006-08-10 16:39:55.000000000 -0400
+@@ -471,8 +471,12 @@
+ }
+
+ if (rmesa->radeonScreen->chip_flags & RADEON_CHIPSET_TCL) {
+- if (tcl_mode >= DRI_CONF_TCL_VTXFMT)
+- radeonVtxfmtInit( ctx, tcl_mode >= DRI_CONF_TCL_CODEGEN );
++ void *test = NULL;
++ if ((test = _mesa_exec_malloc(64)))
++ if (tcl_mode >= DRI_CONF_TCL_VTXFMT)
++ radeonVtxfmtInit( ctx, tcl_mode >= DRI_CONF_TCL_CODEGEN );
++ if (test)
++ _mesa_exec_free(test);
+
+ _tnl_need_dlist_norm_lengths( ctx, GL_FALSE );
+ }
+--- mesa-cvs/src/mesa/shader/slang/slang_execute_x86.c.selinux-awareness 2006-08-09 16:05:26.000000000 -0400
++++ mesa-cvs/src/mesa/shader/slang/slang_execute_x86.c 2006-08-10 16:41:07.000000000 -0400
+@@ -666,7 +666,8 @@
+ * The built-in library occupies 450K, so we can be safe for now.
+ * It is going to change in the future, when we get assembly analysis running.
+ */
+- x86_init_func_size (&G.f, 1048576);
++ if (!x86_init_func_size (&G.f, 1048576))
++ return 0;
+ G.r_eax = x86_make_reg (file_REG32, reg_AX);
+ G.r_ecx = x86_make_reg (file_REG32, reg_CX);
+ G.r_edx = x86_make_reg (file_REG32, reg_DX);
+--- mesa-cvs/src/mesa/x86/rtasm/x86sse.c.selinux-awareness 2006-08-09 16:05:26.000000000 -0400
++++ mesa-cvs/src/mesa/x86/rtasm/x86sse.c 2006-08-10 16:42:21.000000000 -0400
+@@ -1063,15 +1063,17 @@
+ }
+
+
+-void x86_init_func( struct x86_function *p )
++int x86_init_func( struct x86_function *p )
+ {
+- x86_init_func_size(p, 1024);
++ return x86_init_func_size(p, 1024);
+ }
+
+-void x86_init_func_size( struct x86_function *p, GLuint code_size )
++int x86_init_func_size( struct x86_function *p, GLuint code_size )
+ {
+ p->store = _mesa_exec_malloc(code_size);
+ p->csr = p->store;
++
++ return (p->store != NULL);
+ }
+
+ void x86_release_func( struct x86_function *p )
+--- mesa-cvs/src/mesa/x86/rtasm/x86sse.h.selinux-awareness 2006-08-09 16:05:26.000000000 -0400
++++ mesa-cvs/src/mesa/x86/rtasm/x86sse.h 2006-08-10 16:42:43.000000000 -0400
+@@ -80,8 +80,8 @@
+ */
+
+
+-void x86_init_func( struct x86_function *p );
+-void x86_init_func_size( struct x86_function *p, GLuint code_size );
++int x86_init_func( struct x86_function *p );
++int x86_init_func_size( struct x86_function *p, GLuint code_size );
+ void x86_release_func( struct x86_function *p );
+ void (*x86_get_func( struct x86_function *p ))( void );
+
+--- mesa-cvs/src/mesa/tnl/t_vb_arbprogram_sse.c.selinux-awareness 2006-06-01 18:56:40.000000000 -0400
++++ mesa-cvs/src/mesa/tnl/t_vb_arbprogram_sse.c 2006-08-10 16:39:55.000000000 -0400
+@@ -1298,7 +1298,8 @@
+ p->compiled_func = NULL;
+ }
+
+- x86_init_func(&cp.func);
++ if (!x86_init_func(&cp.func))
++ return GL_FALSE;
+
+ cp.fpucntl = RESTORE_FPU;
+
+--- mesa-cvs/src/mesa/tnl/t_vertex_sse.c.selinux-awareness 2005-09-16 14:14:25.000000000 -0400
++++ mesa-cvs/src/mesa/tnl/t_vertex_sse.c 2006-08-10 16:39:55.000000000 -0400
+@@ -348,7 +348,8 @@
+ struct x86_reg vp1 = x86_make_reg(file_XMM, 2);
+ GLubyte *fixup, *label;
+
+- x86_init_func(&p->func);
++ if (!x86_init_func(&p->func))
++ return GL_FALSE;
+
+ /* Push a few regs?
+ */
+@@ -646,7 +647,10 @@
+ p.identity = x86_make_reg(file_XMM, 6);
+ p.chan0 = x86_make_reg(file_XMM, 7);
+
+- x86_init_func(&p.func);
++ if (!x86_init_func(&p.func)) {
++ vtx->codegen_emit = NULL;
++ return;
++ }
+
+ if (build_vertex_emit(&p)) {
+ _tnl_register_fastpath( vtx, GL_TRUE );
diff --git a/mesa.spec b/mesa.spec
index b7210c0..833432b 100644
--- a/mesa.spec
+++ b/mesa.spec
@@ -35,76 +35,42 @@
%define with_dri 0
%endif
-# FIXME: libOSMesa does not build when DRI is enabled for some reason. It
-# seems next to impossible using the totally broken Mesa buildsystem to build
-# both DRI drivers and OSMesa in a single build. If someone feels like fixing
-# all this to build on all 7 architectures, be my guest.
-#
-# DOUBLE FIXME: OSMesa is only ever built when trying to build the 'linux'
-# target, but we now only build linux-indirect. We need a separate build pass
-# now on _all_ architectures.
-%if %{with_dri}
-%define with_OSMesa 0
-%else
-%define with_OSMesa 0
-%endif
-
# NOTE: Allow libGLw to be disabled since nothing in Fedora Core uses it
# anymore, and we're planning on having it moved into Fedora Extras soon.
%define with_libGLw 1
-%if %{with_libGLw}
-# NOTE: This option enables motif support in libGLw for bug #175251
-%define with_motif 1
-%else
-%define with_motif 0
-%endif
-
#-- END DRI Build Configuration ------------------------------------------
-%define snapshot 20060808
+%define snapshot 20060818
Summary: Mesa graphics libraries
Name: mesa
Version: 6.5
-Release: 21.%{snapshot}cvs%{?dist}
+Release: 22.%{snapshot}cvs%{?dist}
License: MIT/X11
Group: System Environment/Libraries
URL: http://www.mesa3d.org
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Source0: http://internap.dl.sourceforge.net/sourceforge/mesa3d/MesaLib-cvs%{snapshot}.tar.bz2
-# MesaDemos is included here just for glxinfo and glxgears, as they were
-# previously supplied in X.Org sources, whereas the rest of the demos were not.
-# It would be in it's own separate package if there was a way of sanely building
-# it outside of Mesa.
-Source1: http://internap.dl.sourceforge.net/sourceforge/mesa3d/MesaDemos-cvs%{snapshot}.tar.bz2
+#Source0: http://internap.dl.sourceforge.net/sourceforge/mesa3d/MesaLib-%{version}.tar.bz2
+#Source1: http://internap.dl.sourceforge.net/sourceforge/mesa3d/MesaDemos-%{version}.tar.bz2
+Source0: http://internap.dl.sourceforge.net/sourceforge/mesa3d/MesaLib-6.5.1.tar.bz2
+Source1: http://internap.dl.sourceforge.net/sourceforge/mesa3d/MesaDemos-6.5.1.tar.bz2
Source10: redhat-mesa-target
Source11: redhat-mesa-driver-install
Source12: redhat-mesa-source-filelist-generator
# Patches 0-9 reserved for mesa Makefiles/config fixes
-Patch0: mesa-6.5-build-config.patch
-#Patch1: mesa-6.5-glx-use-tls.patch
-Patch2: mesa-6.5-fix-opt-flags-bug197640.patch
-Patch3: mesa-6.4.1-libGLw-enable-motif-support.patch
+Patch0: mesa-6.5.1-build-config.patch
Patch4: mesa-6.5-dont-libglut-me-harder-ok-thx-bye.patch
-Patch5: mesa-6.5-fix-linux-indirect-build.patch
-Patch6: mesa-6.5-fix-glxinfo-link.patch
-Patch10: mesa-6.3.2-fix-installmesa.patch
Patch11: mesa-6.4-multilib-fix.patch
Patch12: mesa-modular-dri-dir.patch
Patch14: mesa-6.5-drop-static-inline.patch
-Patch15: mesa-6.5-noexecstack.patch
-Patch16: mesa-6.5-force-r300.patch
-Patch17: mesa-6.5-fix-pbuffer-dispatch.patch
-Patch18: mesa-6.5-selinux-awareness.patch
-Patch19: mesa-6.5-r300-free-gart-mem.patch
+Patch18: mesa-6.5.1-selinux-awareness.patch
# General patches from upstream go here:
-
# Red Hat custom patches, feature development
Patch200: mesa-6.5-texture-from-pixmap-fixes.patch
Patch201: mesa-6.4.1-radeon-use-right-texture-format.patch
@@ -121,21 +87,19 @@ BuildRequires: libXt-devel
BuildRequires: makedepend
BuildRequires: libselinux-devel
-%if %{with_motif}
+# FIXME: remove this when libGLw hits extras.
BuildRequires: openmotif-devel
-%endif
%description
Mesa
#-- libGL ------------------------------------------------------------
%package libGL
-Summary: Mesa libGL runtime libraries and DRI drivers.
+Summary: Mesa libGL runtime libraries and DRI drivers
Group: System Environment/Libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
-Requires: libselinux
# NOTE: This libGL virtual provide is intentionally non-versioned, and is
# intended to be used as a generic dependency in other packages which require
# _any_ implementation and version of libGL. If a particular software
@@ -294,6 +258,29 @@ Obsoletes: xorg-x11-devel
%description libGLw-devel
Mesa libGLw development package
+
+#-- libOSMesa -----------------------------------------------------------
+%package libOSMesa
+Summary: Mesa offscreen rendering libraries
+Group: System Environment/Libraries
+
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+
+Provides: libOSMesa
+
+%description libOSMesa
+Mesa offscreen rendering libraries
+
+#-- libOSMesa-devel -----------------------------------------------------
+%package libOSMesa-devel
+Summary: Mesa offscreen rendering development package
+Group: Development/Libraries
+Requires: mesa-libOSMesa = %{version}-%{release}
+
+%description libOSMesa-devel
+Mesa offscreen rendering development package
+
#-- source -----------------------------------------------------------
%package source
Summary: Mesa source code required to build X server
@@ -313,30 +300,19 @@ The glx-utils package provides the glxinfo and glxgears utilities.
#-- prep -------------------------------------------------------------
%prep
-%setup -q -n Mesa-cvs%{snapshot} -b1
+# %setup -q -n Mesa-%{version} -b1
+%setup -q -n mesa-cvs -b1
# Copy Red Hat Mesa build/install simplificomplication scripts into build dir.
install -m 755 %{SOURCE10} ./
install -m 755 %{SOURCE11} ./
install -m 755 %{SOURCE12} ./
-%patch0 -p0 -b .build-config
-#%patch1 -p0 -b .glx-use-tls
-#%patch2 -p1 -b .fix-opt-flags-bug197640
-#%if %{with_motif}
-#%patch3 -p0 -b .libGLw-enable-motif-support
-#%endif
+%patch0 -p1 -b .build-config
%patch4 -p0 -b .dont-libglut-me-harder-ok-thx-bye
-%patch5 -p1 -b .linux-indirect
-%patch6 -p1 -b .glxinfo
-#%patch10 -p0 -b .fix-installmesa
%patch11 -p0 -b .multilib-fix
-#%patch12 -p1 -b .modular
%patch14 -p0 -b .drop-static-inline
-#%patch15 -p0 -b .noexecstack
-%patch16 -p0 -b .force-r300
-#%patch17 -p0 -b .fix-pbuffer-dispatch
-#%patch18 -p1 -b .selinux-awareness
+%patch18 -p1 -b .selinux-awareness
# According to Adam, this patch makes metacity's compositing
# manager noticeably faster, but also may be a little too big of
@@ -361,9 +337,33 @@ export DRI_DRIVER_DIR="%{_libdir}/dri"
MESATARGET="$(./redhat-mesa-target %{with_dri} %{_arch})"
#DRIVER_DIRS="dri osmesa"
-echo -e "********************\nMESATARGET=$MESATARGET\n********************\n"
+mkdir preserve
+export LIB_DIR=$( basename %{_libdir} )
+
+echo "Building osmesa"
+make linux-osmesa
+mv ${LIB_DIR}/* preserve
+make -s realclean
+
+echo "Building osmesa16"
+make linux-osmesa16
+mv ${LIB_DIR}/* preserve
+make -s realclean
+
+echo "Building osmesa32"
+make linux-osmesa32
+mv ${LIB_DIR}/* preserve
+make -s realclean
+
+echo "Building $MESATARGET"
make ${MESATARGET}
make -C progs/xdemos glxgears glxinfo
+mv preserve/* ${LIB_DIR}
+cd ${LIB_DIR}
+ln -s libOSMesa.so.6 libOSMesa.so
+ln -s libOSMesa16.so.6 libOSMesa16.so
+ln -s libOSMesa32.so.6 libOSMesa32.so
+cd ..
#-- Install ----------------------------------------------------------
%install
@@ -418,6 +418,8 @@ rm -rf $RPM_BUILD_ROOT
%postun libGLU -p /sbin/ldconfig
%post libGLw -p /sbin/ldconfig
%postun libGLw -p /sbin/ldconfig
+%post libOSMesa -p /sbin/ldconfig
+%postun libOSMesa -p /sbin/ldconfig
%files libGL
%defattr(-,root,root,-)
@@ -451,12 +453,6 @@ rm -rf $RPM_BUILD_ROOT
#%{_libdir}/dri/trident_dri.so
#%{_libdir}/dri/unichrome_dri.so
%endif
-%if %{with_OSMesa}
-# NOTE: This is the software rasterizer only. Why it is 1.5.* is not clear
-# to me currently, but it is a change from Xorg 6.8.2's Mesa.
-#%{_libdir}/libGL.so.1.5.060400
-%{_libdir}/libOSMesa.so.6*
-%endif
%files libGL-devel
%defattr(-,root,root,-)
@@ -474,7 +470,6 @@ rm -rf $RPM_BUILD_ROOT
%{_includedir}/GL/glxext.h
%{_includedir}/GL/mesa_wgl.h
%{_includedir}/GL/mglmesa.h
-%{_includedir}/GL/osmesa.h
%{_includedir}/GL/svgamesa.h
#%{_includedir}/GL/uglglutshapes.h
%{_includedir}/GL/uglmesa.h
@@ -484,9 +479,6 @@ rm -rf $RPM_BUILD_ROOT
%{_includedir}/GL/xmesa_x.h
%{_includedir}/GL/xmesa_xf86.h
%{_libdir}/libGL.so
-%if %{with_OSMesa}
-%{_libdir}/libOSMesa.so
-%endif
%files libGLU
%defattr(-,root,root,-)
@@ -512,6 +504,22 @@ rm -rf $RPM_BUILD_ROOT
%{_includedir}/GL/GLwMDrawA.h
%{_includedir}/GL/GLwMDrawAP.h
+%files libOSMesa
+%defattr(-,root,root,-)
+%{_libdir}/libOSMesa.so.6
+%{_libdir}/libOSMesa.so.6.5.1
+%{_libdir}/libOSMesa16.so.6
+%{_libdir}/libOSMesa16.so.6.5.1
+%{_libdir}/libOSMesa32.so.6
+%{_libdir}/libOSMesa32.so.6.5.1
+
+%files libOSMesa-devel
+%defattr(-,root,root,-)
+%{_includedir}/GL/osmesa.h
+%{_libdir}/libOSMesa.so
+%{_libdir}/libOSMesa16.so
+%{_libdir}/libOSMesa32.so
+
%files source -f mesa-source-rpm-filelist.lst
%defattr(-,root,root,-)
@@ -521,6 +529,10 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/glxinfo
%changelog
+* Fri Aug 18 2006 Adam Jackson <ajackson@redhat.com> 6.5-22.20060818cvs.fc6
+- Update to pre-6.5.1 snapshot.
+- Re-add libOSMesa{,16,32}. (#186366)
+
* Sun Aug 13 2006 Florian La Roche <laroche@redhat.com> 6.5-21.fc6
- fix one Requires: to use the correct mesa-libGLw name
diff --git a/sources b/sources
index 882ffab..0d5aa98 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-ab95b590dcd640726a2d89e62068c66e MesaDemos-6.5.tar.bz2
-61beda590bfc5b4a12e979d5f2d70d7a MesaLib-6.5.tar.bz2
+a22b2444ee379b4a00e9c5167da3299c MesaDemos-6.5.1.tar.bz2
+c63c9536d92f1bf5ec07db5ceea5b556 MesaLib-6.5.1.tar.bz2