# - resurrect static if it's useful
#
# Conditional build:
+%bcond_without demos # don't build demos
%bcond_without motif # build static libGLw without Motif interface
+%bcond_without gallium
+%bcond_with gallium_intel # gallium i915 driver (but doesn't work with AIGLX)
%bcond_with multigl # package libGL in a way allowing concurrent install with nvidia/fglrx drivers
%bcond_with static
#
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 7.4.2
-Release: 1%{?with_multigl:.mgl}
+Version: 7.5
+Release: 8%{?with_multigl:.mgl}
License: MIT (core), SGI (GLU,libGLw) and others - see license.html file
Group: X11/Libraries
Source0: http://dl.sourceforge.net/mesa3d/%{name}Lib-%{version}.tar.bz2
-# Source0-md5: b10a76e32bde4645cfc34ea0416d7d8b
+# Source0-md5: 459f332551f6ebb86f384d21dd15e1f0
Source1: http://dl.sourceforge.net/mesa3d/%{name}Demos-%{version}.tar.bz2
-# Source1-md5: bf559a0485667a3bfa4513a23501579b
+# Source1-md5: 398ee8801814a00e47f6c2314e3dfddc
Source2: http://www.archlinux.org/~jgc/gl-manpages-1.0.1.tar.bz2
# Source2-md5: 6ae05158e678f4594343f32c2ca50515
Patch0: %{name}-realclean.patch
+Patch1: %{name}-noveau-abi-0.0.15.patch
+Patch2: %{name}-sparc64.patch
+Patch3: %{name}-git.patch
URL: http://www.mesa3d.org/
BuildRequires: expat-devel
-BuildRequires: libdrm-devel >= 2.4.5
+%{?with_demos:BuildRequires: glew-devel}
+BuildRequires: libdrm-devel >= 2.4.12-3
BuildRequires: libselinux-devel
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 2:1.4d
%{?with_motif:BuildRequires: motif-devel}
-BuildRequires: OpenGL-glut-devel
BuildRequires: rpmbuild(macros) >= 1.470
BuildRequires: sed >= 4.0
BuildRequires: xorg-lib-libXdamage-devel
+BuildRequires: xorg-lib-libXext-devel >= 1.0.5
BuildRequires: xorg-lib-libXt-devel
BuildRequires: xorg-lib-libXxf86vm-devel
BuildRequires: xorg-proto-dri2proto-devel >= 1.99.3
BuildRequires: xorg-util-makedepend
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%if %{without gallium}
+%undefine with_gallium_intel
+%endif
+
%description
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL(R). To the extent that Mesa utilizes the OpenGL command
# loose dependency on libGL to use with other libGL binaries
Requires: OpenGL >= 1.5
Requires: xorg-lib-libX11-devel
-Provides: OpenGL-devel = 2.1
Provides: OpenGL-GLX-devel = 1.4
+Provides: OpenGL-devel = 2.1
Obsoletes: Mesa-devel
Obsoletes: X11-OpenGL-devel < 1:7.0.0
Obsoletes: X11-OpenGL-devel-base < 1:7.0.0
%description dri-driver-matrox -l pl.UTF-8
Sterowniki X.org DRI dla rodziny kart Matrox G.
+%package dri-driver-nouveau
+Summary: X.org DRI driver for NVIDIA card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart NVIDIA
+License: MIT
+Group: X11/Libraries
+Requires: xorg-driver-video-nouveau
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
+
+%description dri-driver-nouveau
+X.org DRI drivers for NVIDIA card family.
+
+%description dri-driver-nouveau -l pl.UTF-8
+Sterowniki X.org DRI dla rodziny kart NVIDIA.
+
%package dri-driver-s3virge
Summary: X.org DRI driver for S3 Virge card family
Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart S3 Virge
%prep
%setup -q -b1 -a2
%patch0 -p0
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
# fix demos
find progs -type f|xargs sed -i -e "s,\.\./images/,%{_examplesdir}/%{name}-%{version}/images/,g"
%build
-dri_drivers="i810 i915 i965 mach64 mga r128 r200 r300 radeon savage s3v trident \
+[ ! -f configure ] && ./autogen.sh
+
+dri_drivers="i810 i965 mach64 mga r128 r200 r300 radeon savage s3v trident \
+%if %{without gallium_intel}
+i915 \
+%endif
%ifarch sparc sparcv9 sparc64
ffb \
%endif
common_flags="\
--enable-shared \
--enable-selinux \
- --enable-pic"
+ --enable-pic \
+ --enable-glx-tls \
+ --disable-egl \
+ --with%{!?with_demos:out}-demos"
# osmesa variants
%configure $common_flags \
--enable-glu \
--enable-glw \
--disable-glut \
+%if %{with gallium}
+ --enable-gallium \
+ --%{?with_gallium_intel:en}%{!?with_gallium_intel:dis}able-gallium-intel \
+ --enable-gallium-nouveau \
+ --with-state-trackers=dri \
+%else
+ --disable-gallium \
+%endif
--with-driver=dri \
--with-dri-drivers=${dri_drivers} \
--with-dri-driverdir=%{_libdir}/xorg/modules/dri
%{__make}
%{__make} -C progs/xdemos glxgears glxinfo
+%if %{with demos}
%{__make} -C progs/demos
+%endif
cd gl-manpages-*
%configure
# strip out undesirable headers
olddir=$(pwd)
-cd $RPM_BUILD_ROOT%{_includedir}/GL
+cd $RPM_BUILD_ROOT%{_includedir}/GL
rm [a-fh-np-wyz]*.h gg*.h glf*.h
+cd $RPM_BUILD_ROOT%{_libdir}
cd $olddir
%if %{with multigl}
%{_includedir}/GL/internal/dri_interface.h
%{_pkgconfigdir}/dri.pc
%{_pkgconfigdir}/gl.pc
-%{_datadir}/man/man3/gl[^uX]*.3gl*
-%{_datadir}/man/man3/glX*.3gl*
+%{_mandir}/man3/gl[^uX]*.3gl*
+%{_mandir}/man3/glX*.3gl*
%if %{with static}
%files libGL-static
%{_includedir}/GL/glu.h
%{_includedir}/GL/glu_mangle.h
%{_pkgconfigdir}/glu.pc
-%{_datadir}/man/man3/glu*.3gl*
+%{_mandir}/man3/glu*.3gl*
%if %{with static}
%files libGLU-static
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/mga_dri.so
+%if %{with gallium}
+%files dri-driver-nouveau
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/nouveau_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/nouveau_dri2.so
+%endif
+
%files dri-driver-s3virge
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/s3v_dri.so
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/unichrome_dri.so
+%if %{with demos}
%files demos
%defattr(644,root,root,755)
%{_examplesdir}/%{name}-%{version}
+%endif