# # spec file for package Mesa # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild %define enable_nouveau_gallium 1 %define enable_radeon_gallium 1 %define _version 7.10.2 Version: 7.10.2 Release: 12 Name: Mesa BuildRequires: gcc-c++ libdrm-devel libexpat-devel pkgconfig python-base xorg-x11-devel BuildRequires: bison flex libtalloc-devel libxml2-python %if 0%{?suse_version} > 1020 BuildRequires: fdupes %endif Url: http://www.mesa3d.org License: MIT License (or similar) Group: System/Libraries Provides: xorg-x11-Mesa = %{version} intel-i810-Mesa = %{version} Mesa7 = %{version} Obsoletes: xorg-x11-Mesa < %{version} intel-i810-Mesa < %{version} Mesa7 < %{version} AutoReqProv: on # bug437293 %ifarch ppc64 Obsoletes: XFree86-Mesa-64bit < %{version} Mesa-64bit < %{version} Provides: XFree86-Mesa-64bit = %{version} Mesa-64bit < %{version} %endif # Summary: System for rendering interactive 3-D graphics Source: MesaLib-%{_version}.tar.bz2 Source2: baselibs.conf Source3: README.updates Source4: manual-pages.tar.bz2 Source5: drirc # to be upstreamed Patch8: egl-buildfix.diff Patch9: u_GLX-SWrast-Make-GLX-with-SWrast-enabled-work-on-olde.patch Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch # already upstream BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL.* To the extent that Mesa utilizes the OpenGL command syntax or state machine, it is being used with authorization from Silicon Graphics, Inc.(SGI). However, the author does not possess an OpenGL license from SGI, and makes no claim that Mesa is in any way a compatible replacement for OpenGL or associated with SGI. Those who want a licensed implementation of OpenGL should contact a licensed vendor. Please do not refer to the library as MesaGL (for legal reasons). It's just Mesa or The Mesa 3-D graphics library. * OpenGL is a trademark of Silicon Graphics Incorporated. Authors: -------- Brian Paul %package devel License: MIT License (or similar) Requires: Mesa = %version xorg-x11-devel libdrm-devel Summary: Libraries, includes and more to develop Mesa applications Group: Development/Libraries/X11 # bug437293 %ifarch ppc64 Obsoletes: XFree86-Mesa-devel-64bit < %{version} Mesa-devel-64bit < %{version} Provides: XFree86-Mesa-devel-64bit = %{version} Mesa-devel-64bit = %{version} %endif # Provides: xorg-x11-Mesa-devel = %{version} Mesa-devel-static = %{version} Obsoletes: xorg-x11-Mesa-devel < %{version} Mesa-devel-static < %{version} %description devel Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL.* To the extent that Mesa utilizes the OpenGL command syntax or state machine, it is being used with authorization from Silicon Graphics, Inc.(SGI). However, the author does not possess an OpenGL license from SGI, and makes no claim that Mesa is in any way a compatible replacement for OpenGL or associated with SGI. Those who want a licensed implementation of OpenGL should contact a licensed vendor. Please do not refer to the library as MesaGL (for legal reasons). It's just Mesa or The Mesa 3-D graphics library. * OpenGL is a trademark of Silicon Graphics Incorporated. Authors: -------- Brian Paul %package nouveau3d License: MIT License (or similar) Requires: Mesa = %version xorg-x11-driver-video-nouveau Summary: Experimental 3D driver for nouveau driver Group: System/Libraries %description nouveau3d This is the 3D driver for open source nouveau driver. It uses Gallium3d architecture within Mesa. Note: This driver is in a very experimental state. So it is not recommend that you use it. Bug reports using this driver are not supported by developers. Authors: -------- Brian Paul Pekka Paalanen Ben Skeggs Francisco Jerez %prep %setup -n %{name}-%{_version} -b4 -q # no need to build (GLUT-)Demos rm -rf src/glut progs/{demos,redbook,samples,xdemos,glsl} # we use freeglut rm -f include/GL/{glut.h,uglglutshapes.h,glutf90.h} # remove some docs rm -rf docs/README.{VMS,WIN32,OS2} %patch8 %patch9 -p1 %patch11 -p1 %build %install rm -f src/mesa/depend export TALLOC_LIBS=-ltalloc export TALLOC_CFLAGS="-I/usr/include" autoreconf -fi ### libGL (disable savage/mga, bnc #402132/#403071; reenable mga, bnc #466635) %configure --disable-glw \ --enable-gles2 \ --with-driver=dri \ --with-dri-searchpath=/usr/%{_lib}/dri/updates:/usr/%{_lib}/dri \ %ifarch %ix86 x86_64 %if 0%{?suse_version} >= 1130 --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,sis,tdfx,unichrome,swrast,nouveau,mga \ %else --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,sis,tdfx,unichrome,swrast \ %endif %if %enable_nouveau_gallium --enable-gallium-nouveau \ %endif %if %enable_radeon_gallium --enable-gallium-radeon \ --enable-gallium-r600 \ %endif %endif %ifarch ppc %sparc hppa %if 0%{?suse_version} >= 1130 --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,tdfx,unichrome,swrast,nouveau \ %else --with-dri-drivers=i810,i915,i965,mach64,r128,r200,r300,r600,radeon,tdfx,unichrome,swrast \ %endif %if %enable_nouveau_gallium --enable-gallium-nouveau \ %endif %endif %ifarch s390 s390x --with-dri-drivers=swrast \ %endif %ifarch %arm --with-dri-drivers=swrast \ %endif --disable-glut \ CFLAGS="$RPM_OPT_FLAGS -DNDEBUG" make %{?jobs:-j%jobs} make install DESTDIR=$RPM_BUILD_ROOT # build and install Indirect Rendering only libGL make realclean %configure --with-driver=xlib \ --disable-glu \ --disable-glw \ --disable-glut \ --disable-gallium \ CFLAGS="$RPM_OPT_FLAGS -DNDEBUG" sed -i 's/GL_LIB = .*/GL_LIB = IndirectGL/g' configs/autoconf make %{?jobs:-j%jobs} cp -a %{_lib}/libIndirectGL.so.* %{_lib}/libOSMesa.so* \ $RPM_BUILD_ROOT/usr/%{_lib} for dir in ../xc/doc/man/{GL/gl,GL/glx,GLU}; do pushd $dir xmkmf -a make %{?jobs:-j%jobs}; make install.man DESTDIR=$RPM_BUILD_ROOT MANPATH=%{_mandir} LIBMANSUFFIX=3gl popd done # DRI driver update mechanism mkdir -p $RPM_BUILD_ROOT/usr/%{_lib}/dri/updates install -m 644 $RPM_SOURCE_DIR/README.updates \ $RPM_BUILD_ROOT/usr/%{_lib}/dri/updates # global drirc file mkdir -p $RPM_BUILD_ROOT/etc install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc %if 0%{?suse_version} > 1020 %fdupes -s $RPM_BUILD_ROOT/%_mandir %endif %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root) %doc docs/README* docs/COPYING %config /etc/drirc %{_libdir}/lib*.so.* %{_libdir}/dri/ %{_libdir}/egl/ %exclude %{_libdir}/dri/nouveau_dri.so %if 0%{?suse_version} >= 1130 %exclude %{_libdir}/dri/nouveau_vieux_dri.so %endif %files devel %defattr(-,root,root) %doc docs/*.html docs/*.spec %{_includedir}/GL %{_includedir}/GLES %{_includedir}/GLES2 %{_includedir}/EGL %{_includedir}/KHR %{_libdir}/libGL.so %{_libdir}/libGLU.so %{_libdir}/libOSMesa.so %{_libdir}/libEGL.so %{_libdir}/libGLESv1_CM.so %{_libdir}/libGLESv2.so %{_libdir}/pkgconfig/dri.pc %{_libdir}/pkgconfig/egl.pc %{_libdir}/pkgconfig/gl.pc %{_libdir}/pkgconfig/glu.pc %{_libdir}/pkgconfig/glesv1_cm.pc %{_libdir}/pkgconfig/glesv2.pc %{_mandir}/man3/* %files nouveau3d %defattr(-,root,root) %{_libdir}/dri/nouveau_dri.so %if 0%{?suse_version} >= 1130 %{_libdir}/dri/nouveau_vieux_dri.so %endif %changelog