1 %define name XFree86-glx
4 %define mesaversion 3.2.1
7 %define prefix /usr/X11R6
11 Summary: OpenGL 1.2 compatible 3D graphics library
18 Group: System/Libraries
19 URL: http://www.mesa3d.org
20 Vendor: Brian Paul <brian_paul@mesa3d.org>
21 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
23 Source: ftp://ftp.mesa3d.org/pub/mesa/MesaLib-%{mesaversion}.tar.bz2
24 Source1: ftp://ftp.mesa3d.org/pub/mesa/MesaDemos-%{mesaversion}.tar.bz2
25 Source2: http://snow.ashlu.bc.ca/glx/snapshots/utah-glx-src-%{glx_ver}.tar.gz
26 Obsoletes: Mesa XFree86-OpenGL-core XFree86-OpenGL-libs
28 BuildPreReq: binutils >= 2.9.1.0.19a
29 Conflicts: XFree86 >= 3.3.6
32 This is an implementation of the Mesa 3D library and GLX with support
33 for hardware acceleration. GLX was developed by SGI as an extension to
34 the X window system to integrate OpenGL rendering functions.
35 This allows the Mesa 3D library to perform its 3D rendering functions
36 within the X server's process, rather than within the X client program.
37 This offers potential performance benefits, because the rendered image
38 does not have to be moved from the X client program to the X server.
39 (Only the commands required to render the image are sent.)
40 It also makes 3-D hardware acceleration much more practical (and fast). This
41 package includes a accelerated hardware drivers for video card
42 based on NVIDIA Riva series and ATI Rage Pro chipsets.
44 The Mesa 3D graphics library is a powerful and generic toolset for creating
45 hardware assisted computer graphics. To the extent that Mesa utilizes the
46 OpenGL command syntax or state machine, it is being used with authorization
47 from Silicon Graphics, Inc. However, the author (Brian Paul) makes no claim
48 that Mesa is in any way a compatible replacement for OpenGL or associated with
49 Silicon Graphics, Inc. Those who want a licensed implementation of OpenGL
50 should contact a licensed vendor. However, Mesa is very similar to OpenGL, and
51 you might find Mesa to be a valid alternative to OpenGL.
53 This package is based on Mesa %{mesaver} and utah glx-%{glxver}.
55 please see http://utah-glx.sourceforge.net/ for more information.
58 Summary: Development files for Mesa (OpenGL compatible 3D lib)
63 Mesa is an OpenGL 1.2 compatible 3D graphics library.
64 Headers needed to compile Mesa programs.
67 %setup -q -n %{mesaname}-%{mesaversion} -b1 -a2
68 [ -d glx-xf4 ] && ln -s glx-xf4 glx;
70 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS| sed 's/-m486 *//g'`; export RPM_OPT_FLAGS;
72 perl -p -i -e "s/-O3/$RPM_OPT_FLAGS/" Make-config
75 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS| sed 's/-m486 *//g'`; export RPM_OPT_FLAGS;
78 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
79 ./configure --prefix=%{prefix} \
80 --sysconfdir=/etc/X11 \
89 --enable-s3savage=no \
93 %ifarch i586 i686 k6 k7
94 CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \
95 ./configure --prefix=%{prefix} \
96 --sysconfdir=/etc/X11 \
103 --enable-s3virge=no \
104 --enable-s3savage=no \
107 %ifnarch i386 i486 i586 i686 k6 k7
108 ./configure --prefix=%{prefix} \
109 --sysconfdir=/etc/X11 \
116 --enable-s3virge=no \
117 --enable-s3savage=no \
123 %ifarch alpha sparc sparc64 ppc # Skip utah_glx for alpha - (fg) also skip it for
124 # sparc - (jb) also added skip for ppc
125 echo 'utah_glx skipped for alpha, powerpc and sparcs'
128 cp -fv ../config.sub ./
130 CFLAGS="$RPM_OPT_FLAGS" \
131 ./autogen.sh --with-chipset=both \
139 --sysconfdir=/etc/X11 \
142 --without-3dnow-asm \
147 --enable-s3virge=no \
148 --enable-s3savage=no \
151 # Arg docs sux ((Dadou) "are not OK", it's better ;)
153 cat <<EOF > config.cache
154 ac_cv_path_install=${ac_cv_path_install='/usr/bin/install -c'}
155 ac_cv_prog_CP=${ac_cv_prog_CP='cp -f'}
156 ac_cv_prog_LN_S=${ac_cv_prog_LN_S='ln -s'}
157 ac_cv_prog_MKDIR=${ac_cv_prog_MKDIR='mkdir -p'}
158 ac_cv_prog_MV=${ac_cv_prog_MV='mv -f'}
159 ac_cv_prog_RM=${ac_cv_prog_RM='rm -f'}
160 ac_cv_prog_have_dvips=${ac_cv_prog_have_dvips=no}
161 ac_cv_prog_have_jade=${ac_cv_prog_have_jade=no}
162 ac_cv_prog_have_jadetex=${ac_cv_prog_have_jadetex=no}
163 ac_cv_prog_have_lynx=${ac_cv_prog_have_lynx=no}
164 ac_cv_prog_have_ps2pdf=${ac_cv_prog_have_ps2pdf=no}
165 ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set=yes}
167 ./configure --enable-text --enable-html --enable-ps --enable-pdf
172 %endif # Skip glx for Alpha
175 [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
176 mkdir -p $RPM_BUILD_ROOT%{prefix}/include
177 mkdir -p $RPM_BUILD_ROOT%{prefix}/include/GL
178 mkdir -p $RPM_BUILD_ROOT%{prefix}/lib/modules/
179 make DESTDIR=$RPM_BUILD_ROOT install
180 cp include/GL/svgamesa.h $RPM_BUILD_ROOT%{prefix}/include/GL/
181 cp glx/servGL/libglx.so $RPM_BUILD_ROOT%{prefix}/lib/modules/
183 %ifarch alpha sparc sparc64 ppc
184 echo 'Skipping utah_glx'
186 mkdir -p $RPM_BUILD_ROOT/usr/bin
187 cat > $RPM_BUILD_ROOT/usr/bin/glx <<EOF
189 LD_PRELOAD=%{prefix}/lib/libGL.so.1.0 "\$@"
191 chmod +x $RPM_BUILD_ROOT/usr/bin/glx
195 mkdir -p $RPM_BUILD_ROOT/etc/X11
196 make DESTDIR=$RPM_BUILD_ROOT sysconfdir=/etc/X11 install
200 cd $RPM_BUILD_ROOT/%{prefix}/lib/
201 ln -sf libGL.so.1 libGL.so
202 ln -sf libGLU.so.1 libGLU.so
203 ln -sf libGLU.so.1 libGLU.so.3
204 ln -sf libglut.so.3 libglut.so
206 # (gc) add Mesa symlinks for compatibility
207 ln -sf libGL.so libMesaGL.so
208 ln -sf libGL.so.1 libMesaGL.so.1
209 ln -sf libGL.so.1.0 libMesaGL.so.1.0
210 ln -sf libGLU.so libMesaGLU.so
211 ln -sf libGLU.so.1 libMesaGLU.so.1
214 [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
216 %post -p /sbin/ldconfig
217 %postun -p /sbin/ldconfig
220 %defattr(-,root,root)
221 %doc docs/COPYRIGHT docs/README docs/README.X11 docs/COPYING
222 %doc glx/docs/README.i810 glx/docs/README.mach64 glx/docs/README.mga
223 %doc glx/docs/README.nv glx/docs/README.s3virge
224 %doc docs/COPYRIGHT docs/README docs/README.X11 docs/COPYING
225 %{prefix}/lib/libGL.so.*
226 %{prefix}/lib/libMesaGL.so.*
227 %{prefix}/lib/libGLU.so.*
228 %{prefix}/lib/libMesaGLU.so.*
229 %{prefix}/lib/libglut.so.*
230 %{prefix}/lib/modules/libglx.so
232 %ifarch i386 i486 i586 i686 k6 k7
234 # %{prefix}/lib/modules/*
235 %config /etc/X11/glx.conf
237 %config /etc/X11/mesa.conf
240 %defattr(-,root,root)
241 %doc docs/COPYRIGHT docs/README docs/README.X11 docs/COPYING docs/DEVINFO
242 %doc docs/CONFORM docs/VERSIONS
243 %doc docs/COPYRIGHT docs/README docs/README.X11 docs/COPYING
244 %dir %{prefix}/include/GL
245 %{prefix}/include/GL/glu.h
246 %{prefix}/include/GL/glu_mangle.h
247 %{prefix}/include/GL/glut.h
248 %{prefix}/lib/libGLU.so
249 %{prefix}/lib/libMesaGLU.so
250 %{prefix}/lib/libglut.so
251 %{prefix}/lib/libGL.la
252 %{prefix}/lib/libGLU.la
253 %{prefix}/lib/libglut.la
254 %{prefix}/include/GL/gl.h
255 %{prefix}/include/GL/gl_mangle.h
256 %{prefix}/include/GL/osmesa.h
257 %ifarch i386 i486 i586 i686 k6 k7
258 %{prefix}/include/GL/svgamesa.h
260 %{prefix}/include/GL/glx.h
261 %{prefix}/include/GL/glx_mangle.h
262 %{prefix}/include/GL/xmesa.h
263 %{prefix}/include/GL/xmesa_x.h
264 %{prefix}/include/GL/xmesa_xf86.h
265 %{prefix}/lib/libGL.so
266 %{prefix}/lib/libMesaGL.so