%define dri_libglver 1.2 %define libgl_majver %(echo %version | cut -d. -f 1) %define pkgver %(echo %version | sed s/\.rc/-rc/) Name: Mesa Epoch: 1 Version: 7.10 Release: 1mamba Summary: A 3-D graphics library with an API which is very similar to that of OpenGL Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://mesa3d.sourceforge.net/ Source: ftp://ftp.freedesktop.org/pub/mesa/%{version}/MesaLib-%{version}.tar.bz2 #Source: http://www.mesa3d.org/beta/MesaLib-%{pkgver}.tar.gz #Source1: ftp://ftp.freedesktop.org/pub/mesa/%{version}/MesaDemos-%{version}.tar.bz2 #Source1: http://www.mesa3d.org/beta/MesaDemos-%{pkgver}.tar.gz Source2: ftp://ftp.freedesktop.org/pub/mesa/%{version}/MesaGLUT-%{version}.tar.bz2 #Source2: http://www.mesa3d.org/beta/MesaGLUT-%{pkgver}.tar.gz Source3: Mesa-7.0.3-libGL.la Patch0: %{name}-6.5.2-demos_dont_use_glut.patch Patch1: %{name}-6.5.2-Makefile_realclean.patch Patch2: %{name}-7.0.3-radeon_compiz_titlebar.patch Patch3: %{name}-7.8.2-unconditionally_update_renderbuffers.patch Patch4: %{name}-7.8.2-nouveau-update-libdrm-2.4.22.patch License: MIT Provides: libgl ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libdrm BuildRequires: libdrm-devel BuildRequires: libexpat-devel BuildRequires: libgcc BuildRequires: libstdc++6-devel BuildRequires: libtalloc-devel BuildRequires: libX11-devel BuildRequires: libxcb-devel BuildRequires: libXdamage-devel BuildRequires: libXext-devel BuildRequires: libXfixes-devel BuildRequires: libXi-devel BuildRequires: libXmu-devel BuildRequires: libXt-devel BuildRequires: libXxf86vm-devel BuildRequires: udev-devel ## AUTOBUILDREQ-END BuildRequires: xproto-devel >= 7.1 BuildRequires: dri2proto-devel BuildRequires: glproto-devel BuildRequires: makedepend >= 1.0.0 BuildRequires: llvm-devel BuildRequires: libudis86-devel BuildRoot: %{_tmppath}/%{name}-%{version}-root %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. %package -n libGL-Mesa-dri Summary: Mesa implementation of the OpenGL 3-D graphics library Group: System/Libraries Provides: libGL.so.1 Obsoletes: libGL-Mesa-X11 Obsoletes: libGL-Mesa-fbdev Provides: libGL-Mesa-X11 Provides: xorglibGL %description -n libGL-Mesa-dri Mesa implementation of the OpenGL 3-D graphics library. %package -n libGL-Mesa-fbdev Summary: Mesa implementation of the OpenGL 3-D graphics library Group: System/Libraries Provides: libGL.so.1 %description -n libGL-Mesa-fbdev Mesa implementation of the OpenGL 3-D graphics library. %package -n Mesa-tools Summary: Utilities and demos for the Mesa GL libraries Group: System/Tools %description -n Mesa-tools Utilities and demos for the Mesa GL libraries. %package -n libGL-devel Summary: Mesa implementation of the OpenGL 3-D graphics library Group: Development/Libraries Obsoletes: libGL-Mesa-X11-devel %description -n libGL-devel Mesa implementation of the OpenGL 3-D graphics library. This package contains the headers and other files needed for development. %package -n libGL-Mesa-indirect-devel Summary: Mesa implementation of the OpenGL 3-D graphics library Group: Development/Libraries Obsoletes: libGL-Mesa-X11-devel %description -n libGL-Mesa-indirect-devel Mesa implementation of the OpenGL 3-D graphics library. This package contains the headers and other files needed for development. %package -n libGLU Summary: Mesa implementation of the OpenGL 3-D graphics library Group: System/Libraries Obsoletes: libXorg %description -n libGLU Mesa implementation of the OpenGL 3-D graphics library. %package -n libGLU-devel Summary: Mesa implementation of the OpenGL 3-D graphics library Group: Development/Libraries Requires: libGLU == %{?epoch:%epoch:}%{version}-%{release} Obsoletes: libXorg-devel %description -n libGLU-devel An OpenGL 3-D graphics library using Linux Framebuffer device. This package contains the headers and other files needed for development. %package -n libGLUT Summary: GLUT is the OpenGL Utility Toolkit Group: System/Libraries Obsoletes: libXorg Obsoletes: libglut Provides: libglut == %{?epoch:%epoch:}%{version}-%{release} %description -n libGLUT GLUT (pronounced like the glut in gluttony) is the OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs. It implements a simple windowing application programming interface (API) for OpenGL. GLUT makes it considerably easier to learn about and explore OpenGL programming. GLUT provides a portable API so you can write a single OpenGL program that works on both Win32 PCs and X11 workstations. %package -n libGLUT-devel Summary: Development files for GLUT, the OpenGL Utility Toolkit Group: Development/Libraries Requires: libGLUT == %{?epoch:%epoch:}%{version}-%{release} Obsoletes: libXorg-devel Obsoletes: libglut-devel Provides: libglut-devel == %{?epoch:%epoch:}%{version}-%{release} %description -n libGLUT-devel GLUT (pronounced like the glut in gluttony) is the OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs. It implements a simple windowing application programming interface (API) for OpenGL. GLUT makes it considerably easier to learn about and explore OpenGL programming. GLUT provides a portable API so you can write a single OpenGL program that works on both Win32 PCs and X11 workstations. This package contains the headers and other files needed for development. %package -n libGLw Summary: Mesa implementation of the OpenGL 3-D graphics library Group: System/Libraries %description -n libGLw Mesa implementation of the OpenGL 3-D graphics library. %package -n libGLw-devel Summary: Mesa implementation of the OpenGL 3-D graphics library Group: Development/Libraries Requires: libGLw == %{?epoch:%epoch:}%{version}-%{release} %description -n libGLw-devel Mesa implementation of the OpenGL 3-D graphics library. This package contains the headers and other files needed for development. %package -n libEGL Summary: Mesa implementation of the EGL graphics library Group: System/Libraries %description -n libEGL Mesa implementation of the OpenGL ES 1.0 graphics library. %package -n libEGL-devel Summary: Mesa implementation of the EGL graphics library Group: Development/Libraries Requires: libEGL == %{?epoch:%epoch:}%{version}-%{release} %description -n libEGL-devel Mesa implementation of the OpenGL EGL graphics library. This package contains the headers and other files needed for development. %package -n libGLESv1 Summary: Mesa implementation of the OpenGL ES 1.0 graphics library Group: System/Libraries %description -n libGLESv1 Mesa implementation of the OpenGL ES 1.0 graphics library. %package -n libGLESv1-devel Summary: Mesa implementation of the OpenGL ES 1.0 graphics library Group: Development/Libraries Requires: libGLESv1 == %{?epoch:%epoch:}%{version}-%{release} %description -n libGLESv1-devel Mesa implementation of the OpenGL ES 1.0 graphics library. This package contains the headers and other files needed for development. %package -n libGLESv2 Summary: Mesa implementation of the OpenGL ES 2.0 graphics library Group: System/Libraries %description -n libGLESv2 Mesa implementation of the OpenGL ES 2.0 graphics library. %package -n libGLESv2-devel Summary: Mesa implementation of the OpenGL ES 2.0 graphics library Group: Development/Libraries Requires: libGLESv2 == %{?epoch:%epoch:}%{version}-%{release} %description -n libGLESv2-devel Mesa implementation of the OpenGL ES 2.0 graphics library. This package contains the headers and other files needed for development. %package -n libOSMesa Summary: Mesa implementation of the OpenGL 3-D graphics library Group: System/Libraries %description -n libOSMesa Mesa implementation of the OpenGL 3-D graphics library. %package -n libOSMesa-devel Summary: Mesa implementation of the OpenGL 3-D graphics library Group: Development/Libraries Requires: libOSMesa == %{?epoch:%epoch:}%{version}-%{release} %description -n libOSMesa-devel Mesa implementation of the OpenGL 3-D graphics library. This package contains the headers and other files needed for development. # FIXME: %package -n xorg-drv-video-Mesa Summary: Mesa graphics drivers for X.org Group: System/X11 Provides: xorg-drv-video %description -n xorg-drv-video-Mesa Mesa graphics drivers for X.org. %prep %setup -c -q -b2 -D -T #cd Mesa-%{version} #%patch1 -p1 #%patch2 -p1 #%patch0 -p1 #%patch3 -p1 #%patch4 -p1 #cd .. #rm -rf probs/demos %build mkdir -p preserve cd %{name}-%{pkgver} :<< _EOF #make linux-osmesa #mv lib/* preserve #make -s realclean #% make linux-fbdev #mv lib/* preserve #make -s realclean %configure \ --disable-driglx-direct \ --with-driver=xlib \ --enable-static \ --disable-shared # --with-demos=no #echo "MKLIB_OPTIONS = -static" >> configs/linux-indirect %make #linux-indirect USING_EGL=1 mv lib/libGL.a ../preserve/libGL-indirect.a mv lib/libGLU.a ../preserve/libGLU-indirect.a mv lib/libglut.a ../preserve/libglut-indirect.a mv lib/libGLw.a ../preserve/libGLw-indirect.a make -s realclean %configure \ --enable-driglx-direct \ --with-driver=dri \ --enable-gl-osmesa \ %ifnarch arm --enable-gallium-egl \ --enable-gallium-llvm \ --enable-gallium-svga \ --enable-gallium-i915 \ --enable-gallium-i965 \ --enable-gallium-radeon \ --enable-gallium-r600 \ --enable-gallium-nouveau \ --enable-gallium-swrast \ --enable-gles-overlay \ %else --disable-gallium \ --with-dri-drivers="swrast" %endif %make _EOF # --with-state-trackers= \ #linux-dri-x86 DRI_DRIVER_INSTALL_DIR=%{_libdir}/dri/ #make -C progs/xdemos glxgears glxinfo %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" cd %{name}-%{pkgver} install -d %{buildroot}%{_libdir} %{buildroot}%{_bindir} #cp -a lib/libOSMesa.* preserve/libGL.* %{buildroot}%{_libdir} install -m 755 \ ../preserve/libGL-indirect.a ../preserve/libGLU-indirect.a \ ../preserve/libglut-indirect.a ../preserve/libGLw-indirect.a \ %{buildroot}%{_libdir}/ %makeinstall \ INSTALL_DIR=%{_prefix} \ DRI_DRIVER_INSTALL_DIR=%{_libdir}/dri/ #install -m 755 progs/xdemos/glxgears progs/xdemos/glxinfo %{buildroot}%{_bindir} mv %{buildroot}%{_libdir}/libGL.so.%{dri_libglver} \ %{buildroot}%{_libdir}/libGL_so.%{dri_libglver} ##remove the include that conflicts with liglew #pushd %{buildroot}%{_includedir}/GL #rm wglew.h glew.h glxew.h #popd #[ -L %{buildroot}%{_libdir}/libGL.so ] && rm -f %{buildroot}%{_libdir}/libGL.so #ln -s libGL_so.%{dri_libglver} %{buildroot}%{_libdir}/libGL.so # install libGL.la required for build install -m 0755 %{SOURCE3} %{buildroot}%{_libdir}/libGL.la # remove libGL.so.1 symlink to manage it with alternatives rm -f %{buildroot}%{_libdir}/libGL.so.1 %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %post -n libGL-Mesa-dri /usr/sbin/update-alternatives \ --remove libGL.so.1 %{_libdir}/libGL.so.%{dri_libglver} 2>/dev/null /usr/sbin/update-alternatives \ --install %{_libdir}/libGL.so.1 libGL.so.1 \ %{_libdir}/libGL_so.%{dri_libglver} 50 exit 0 %preun -n libGL-Mesa-dri if [ $1 -eq 0 ]; then /usr/sbin/update-alternatives --remove libGL.so.1 \ %{_libdir}/libGL_so.%{dri_libglver} fi exit 0 %post -n libGLU -p /sbin/ldconfig %postun -n libGLU -p /sbin/ldconfig %post -n libGLUT -p /sbin/ldconfig %postun -n libGLUT -p /sbin/ldconfig %post -n libGLw -p /sbin/ldconfig %postun -n libGLw -p /sbin/ldconfig %post -n libGLESv1 -p /sbin/ldconfig %postun -n libGLESv1 -p /sbin/ldconfig %post -n libGLESv2 -p /sbin/ldconfig %postun -n libGLESv2 -p /sbin/ldconfig %post -n libOSMesa -p /sbin/ldconfig %postun -n libOSMesa -p /sbin/ldconfig #%files -n Mesa-tools #%defattr(-,root,root) #%{_bindir}/glxgears #%{_bindir}/glxinfo %files -n libEGL %defattr(-,root,root) %{_libdir}/libEGL.so.* %{_libdir}/egl/egl_*.so %{_libdir}/egl/pipe_i915.so %{_libdir}/egl/pipe_i965.so %{_libdir}/egl/pipe_nouveau.so %{_libdir}/egl/pipe_r300.so %{_libdir}/egl/pipe_r600.so %{_libdir}/egl/pipe_swrast.so %{_libdir}/egl/pipe_vmwgfx.so %{_libdir}/egl/st_GL.so %{_libdir}/egl/st_GLESv1_CM.so %{_libdir}/egl/st_GLESv2.so %files -n libEGL-devel %defattr(-,root,root) %{_libdir}/pkgconfig/egl.pc %files -n libGL-Mesa-dri %defattr(-,root,root) %{_libdir}/libGL_so.%{dri_libglver} %ifnarch arm %dir %{_libdir}/dri %{_libdir}/dri/*.so %else %{_libdir}/dri/swrast_dri.so %endif #%ifnarch arm #%{_libdir}/xorg/modules/drivers/modesetting_drv.so #%endif #%files -n libGL-Mesa-fbdev #%defattr(-,root,root) ##%{_libdir}/libGL.so.%{libgl_majver} ##%{_libdir}/libGL.so.%{version} ##%{_libdir}/libGLw.so.* ##%{_libdir}/libGLw.soMesa implementation of the OpenGL 3-D graphics library ##%{_libdir}/libOSMesa.so.* ##%{_libdir}/libOSMesa.so %files -n libGL-Mesa-indirect-devel %defattr(-,root,root) %{_libdir}/libGL-indirect.a %{_libdir}/libGLU-indirect.a %{_libdir}/libglut-indirect.a %{_libdir}/libGLw-indirect.a %files -n libGL-devel %defattr(-,root,root) #%{_includedir}/GL/amesa.h #%%{_includedir}/GL/dmesa.h #%{_includedir}/GL/directfbgl.h #%{_includedir}/GL/fxmesa.h #%{_includedir}/GL/foomesa.h #%{_includedir}/GL/ggimesa.h %dir %{_includedir}/EGL %{_includedir}/EGL/*.h %dir %{_includedir}/KHR %{_includedir}/KHR/*.h %dir %{_includedir}/GL %{_includedir}/GL/gl.h %{_includedir}/GL/gl_mangle.h %{_includedir}/GL/glext.h %{_includedir}/GL/glfbdev.h %{_includedir}/GL/glx.h %{_includedir}/GL/glx_mangle.h %{_includedir}/GL/glxext.h %{_includedir}/GL/mesa_wgl.h #%{_includedir}/GL/mglmesa.h #%{_includedir}/GL/miniglx.h #%{_includedir}/GL/svgamesa.h #%{_includedir}/GL/uglmesa.h %{_includedir}/GL/vms_x_fix.h %{_includedir}/GL/wmesa.h #%{_includedir}/GL/xmesa.h #%{_includedir}/GL/xmesa_x.h #%{_includedir}/GL/xmesa_xf86.h %dir %{_includedir}/GL/internal %{_includedir}/GL/internal/dri_interface.h %{_includedir}/GL/wglext.h #%{_includedir}/GL/glew.h #%{_includedir}/GL/glxew.h #%{_includedir}/GL/wglew.h %{_libdir}/libGL.la %{_libdir}/libGL.so %{_libdir}/libEGL.so %{_libdir}/pkgconfig/gl.pc %{_libdir}/pkgconfig/dri.pc %files -n libGLU %defattr(-,root,root) %{_libdir}/libGLU.so.* %files -n libGLU-devel %defattr(-,root,root) %{_includedir}/GL/glu.h %{_includedir}/GL/glu_mangle.h #%{_includedir}/GL/uglglutshapes.h %{_libdir}/libGLU.so %{_libdir}/pkgconfig/glu.pc %files -n libGLUT %defattr(-,root,root) %{_libdir}/libglut.so.* %files -n libGLUT-devel %defattr(-,root,root) %{_libdir}/libglut.so %{_includedir}/GL/glut.h %{_includedir}/GL/glutf90.h %{_libdir}/pkgconfig/glut.pc %files -n libGLw %defattr(-,root,root) %{_libdir}/libGLw.so.* %files -n libGLw-devel %defattr(-,root,root) %{_includedir}/GL/GLwDrawA.h %{_includedir}/GL/GLwDrawAP.h %{_includedir}/GL/GLwMDrawA.h %{_includedir}/GL/GLwMDrawAP.h %{_libdir}/libGLw.so %{_libdir}/pkgconfig/glw.pc %files -n libGLESv1 %defattr(-,root,root) %{_libdir}/libGLESv1_CM.so.* %files -n libGLESv1-devel %defattr(-,root,root) %dir %{_includedir}/GLES %{_includedir}/GLES/*.h %{_libdir}/libGLESv1_CM.so %{_libdir}/pkgconfig/glesv1_cm.pc %files -n libGLESv2 %defattr(-,root,root) %{_libdir}/libGLESv2.so.* %files -n libGLESv2-devel %defattr(-,root,root) %dir %{_includedir}/GLES2 %{_includedir}/GLES2/*.h %{_libdir}/libGLESv2.so %{_libdir}/pkgconfig/glesv2.pc %files -n libOSMesa %defattr(-,root,root) %{_libdir}/libOSMesa.so.* %files -n libOSMesa-devel %defattr(-,root,root) %{_includedir}/GL/osmesa.h %{_libdir}/libOSMesa.so %{_libdir}/pkgconfig/osmesa.pc %files -n xorg-drv-video-Mesa %defattr(-,root,root) %{_libdir}/xorg/modules/drivers/i965g_drv.so %{_libdir}/xorg/modules/drivers/modesetting_drv.so %{_libdir}/xorg/modules/drivers/radeon_drv.so %{_libdir}/xorg/modules/drivers/vmwgfx_drv.so %changelog * Sat Feb 05 2011 Silvan Calarco 7.10-1mamba - update to 7.10 * Thu Nov 25 2010 Silvan Calarco 7.8.2-4mamba - rebuilt with GLES overlay enabled; added libGLESv1 and libGLESv2 packages * Tue Oct 05 2010 Silvan Calarco 7.8.2-3mamba - rebuilt with --enable-gallium-nouveau * Tue Aug 24 2010 Silvan Calarco 7.8.2-2mamba - added patch to fix refresh issues with intel driver (see https://bugs.freedesktop.org/show_bug.cgi?id=27420) * Sat Jul 03 2010 Automatic Build System 7.8.2-1mamba - automatic update to 7.8.2 by autodist * Thu Apr 08 2010 Silvan Calarco 7.6.1-1mamba - update to 7.6.1 * Fri Jan 01 2010 Ercole 'ercolinux' Carpanetto 7.5.2-2mamba - rebuild removing glew files that conflict with libglew package * Sat Dec 05 2009 Silvan Calarco 7.5.2-1mamba - update to 7.5.2 * Sat Jul 18 2009 Silvan Calarco 7.5-1mamba - update to 7.5 * Sun Jun 21 2009 Silvan Calarco 7.5.rc3-1mamba - update to 7.5.rc3 * Sat Jun 20 2009 Silvan Calarco 7.4.3-1mamba - update to 7.4.3 * Wed Apr 15 2009 Silvan Calarco 7.4-1mamba - update to 7.4 * Wed Apr 15 2009 Silvan Calarco 7.2-1mamba - automatic update to 7.2 by autodist * Tue Dec 23 2008 Silvan Calarco 7.0.4-1mamba - update to 7.0.4 * Thu Nov 13 2008 Silvan Calarco 7.0.3-4mamba - radeon: add a patch that fixes a white titlebar whit compiz and maximized windows * Wed Jun 11 2008 Silvan Calarco 7.0.3-3mamba - libGL.la: remove reference to missing libGL.a * Fri Jun 06 2008 Silvan Calarco 7.0.3-2mamba - libGL-devel: added /usr/lib/libGL.la * Fri May 23 2008 Silvan Calarco 7.0.3-1mamba - update to 7.0.3 * Thu Oct 18 2007 Silvan Calarco 7.0.1-4mamba - reverted previous patch: it is not necessary, libGL.so linked to nvidia library works if /usr/lib/libnvidia-tls.so.1 is present and correct * Thu Oct 18 2007 Silvan Calarco 7.0.1-3mamba - make libGL.so point to Mesa libGL and require the package too * Mon Sep 10 2007 Silvan Calarco 7.0.1-2mamba - remove .so extension from libGL to avoid ldconfig reconfiguration * Thu Aug 16 2007 Silvan Calarco 7.0.1-1mamba - update to 7.0.1 * Sun May 27 2007 Silvan Calarco 6.5.3-2mamba - libGL-Mesa-dri: set alternatives for libGL.so.1 - libOSMesa: fix for 'libOSMesa.so.6 is not a symlink' * Fri May 11 2007 Silvan Calarco 6.5.3-1mamba - update to 6.5.3 * Fri Mar 16 2007 Silvan Calarco 6.5.2.git20070315-2qilnx - set DRI_DRIVER_INSTALL_DIR during make too * Thu Mar 15 2007 Silvan Calarco 6.5.2.git20070315-1qilnx - update to version 6.5.2.git20070315 by autospec - rename source and patches from libMesa to Mesa - build with USING_EGL=1 to fix undefined symbols * Fri Jan 05 2007 Silvan Calarco 6.5.2-8qilnx - fix make realclean patch for .so symlinks * Fri Jan 05 2007 Silvan Calarco 6.5.2-7qilnx - rebuilt * Sun Dec 31 2006 Silvan Calarco 6.5.2-6qilnx - move dri drivers back to /usr/lib/dri * Fri Dec 29 2006 Silvan Calarco 6.5.2-5qilnx - rebuild with MesaGLUT - add glxinfo and glxgears applications * Thu Dec 28 2006 Silvan Calarco 6.5.2-4qilnx - libGL-devel: obsolete libGL-Mesa-X11-devel * Wed Dec 27 2006 Silvan Calarco 6.5.2-3qilnx - libGL-Mesa-dri: provide xorglibGL and obsolete libGL-Mesa-X11 * Wed Dec 20 2006 Silvan Calarco 6.5.2-2qilnx - rebuild and repackage for Xorg 7.1 * Mon Dec 18 2006 Silvan Calarco 6.5.2-1qilnx - update to version 6.5.2 by autospec * Wed Oct 25 2006 Silvan Calarco 6.5.1-1qilnx - package created by autospec