#
# TODO:
# - subpackage with non-dri libGL for use with X-servers with missing GLX extension?
-# - package OpenGL man pages (from monolith or SGI) somewhere
+# - resurrect static if it's useful
+# - subpackage egl?
#
# Conditional build:
+%bcond_without demos # don't build demos
+%bcond_with egl # don't build egl
+%bcond_without gallium # don't build gallium
+%bcond_with gallium_intel # gallium i915 driver (but doesn't work with AIGLX)
+%bcond_with gallium_nouveau # doesn't build due to libdrm API changes (fixed in Mesa 7.8)
%bcond_without motif # build static libGLw without Motif interface
%bcond_with multigl # package libGL in a way allowing concurrent install with nvidia/fglrx drivers
-%bcond_with nouveau # build nouveau DRI driver
+%bcond_without osmesa # don't build osmesa
+%bcond_with static
#
-%define snap rc1
+# minimal supported xserver version
+%define xserver_ver 1.5.0
+# glapi version (glapi tables in dri drivers and libglx must be in sync);
+# set to current Mesa version on ABI break, when xserver tables get regenerated
+# (until they start to be somehow versioned themselves)
+%define glapi_ver 7.1.0
+#
+%define libdrm_ver 2.4.18
+%define dri2proto_ver 1.99.3
#
Summary: Free OpenGL implementation
Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 7.1
-Release: 0.%{?with_multigl:mgl.}%{snap}.1
+Version: 7.7
+Release: 3%{?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: http://www.mesa3d.org/beta/%{name}Lib-%{version}-%{snap}.tar.gz
-# Source0-md5: 94afea4c826badcb5e69e38935a56212
-# Source1: http://dl.sourceforge.net/mesa3d/%{name}Demos-%{version}.tar.bz2
-Source1: http://www.mesa3d.org/beta/%{name}Demos-%{version}-%{snap}.tar.gz
-# Source1-md5: e3df10e4efa3ff3fc3b2572f8af06f12
-Source2: nouveau_drm.h
+Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar.bz2
+# Source0-md5: e3fa64a1508bc23dd9de9dd2cea7cfb1
+Source1: ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Demos-%{version}.tar.bz2
+# Source1-md5: 6fd616b27b9826d0faa23e08e05d9435
Patch0: %{name}-realclean.patch
-Patch1: %{name}-libdrm.patch
+Patch1: %{name}-tgsi_dump.patch
URL: http://www.mesa3d.org/
+%{?with_demos:BuildRequires: OpenGL-glut-devel >= 3.8}
+BuildRequires: autoconf
+BuildRequires: automake
BuildRequires: expat-devel
-#%if %{with nouveau}
-# needs nouveau_drm.h patchlevel=6 and matching kernel driver
-#BuildRequires: libdrm-devel = 2.3.1.xxxxxxxx
-#%else
-BuildRequires: libdrm-devel >= 2.3.0
-#%endif
+%{?with_demos:BuildRequires: glew-devel}
+BuildRequires: libdrm-devel >= %{libdrm_ver}
+BuildRequires: libselinux-devel
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 2:1.4d
%{?with_motif:BuildRequires: motif-devel}
+BuildRequires: pkgconfig
+BuildRequires: python
+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 >= %{dri2proto_ver}
BuildRequires: xorg-proto-glproto-devel
BuildRequires: xorg-proto-printproto-devel
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
Summary(pl.UTF-8): Wolnodostępna implementacja Mesa3D biblioteki libGL ze standardu OpenGL
License: MIT
Group: X11/Libraries
-Requires: libdrm >= 2.2.0
+Requires: libdrm >= %{libdrm_ver}
Provides: OpenGL = 2.1
# reports version 1.3, but supports glXGetProcAddress() from 1.4
Provides: OpenGL-GLX = 1.4
Group: X11/Development/Libraries
# loose dependency on libGL to use with other libGL binaries
Requires: OpenGL >= 1.5
+Requires: libdrm-devel >= %{libdrm_ver}
Requires: xorg-lib-libX11-devel
-Provides: OpenGL-devel = 2.1
+Requires: xorg-lib-libXdamage-devel
+Requires: xorg-lib-libXext-devel
+Requires: xorg-lib-libXxf86vm-devel
+Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
+Suggests: OpenGL-doc-man
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
%package libGLU
Summary: SGI implementation of libGLU OpenGL library
Summary(pl.UTF-8): Implementacja SGI biblioteki libGLU ze standardu OpenGL
-License: SGI Free Software License B v1.1
+License: SGI Free Software License B v2.0 (MIT-like)
Group: Libraries
# loose dependency on libGL.so.1 to use with other libGL binaries
Requires: OpenGL >= 1.2
%package libGLU-devel
Summary: Header files for SGI libGLU library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki SGI libGLU
-License: SGI Free Software License B v1.1
+License: SGI Free Software License B v2.0 (MIT-like)
Group: Development/Libraries
Requires: %{name}-libGLU = %{version}-%{release}
Requires: OpenGL-devel >= 1.2
%package libGLU-static
Summary: Static SGI libGLU library
Summary(pl.UTF-8): Statyczna biblioteka SGI libGLU
-License: SGI Free Software License B v1.1
+License: SGI Free Software License B v2.0 (MIT-like)
Group: Development/Libraries
Requires: %{name}-libGLU-devel = %{version}-%{release}
Provides: OpenGL-GLU-static = 1.3
Kod źródłowy programów demonstracyjnych dla bibliotek Mesa.
%package dri-driver-ati-mach64
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for ATI Mach64 card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI Mach64
License: MIT
Group: X11/Libraries
-Requires: xorg-driver-video-ati
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-driver-video-mach64
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
%description dri-driver-ati-mach64
-X.org DRI drivers for ATI mach64 card family.
+X.org DRI driver for ATI Mach64 card family.
%description dri-driver-ati-mach64 -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart ATI mach64.
+Sterownik X.org DRI dla rodziny kart ATI Mach64.
%package dri-driver-ati-radeon-R100
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for ATI R100 card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R100
License: MIT
Group: X11/Libraries
Requires: xorg-driver-video-ati
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: X11-driver-radeon-dri < 1:7.0.0
%description dri-driver-ati-radeon-R100
-X.org DRI drivers for ATI R100 card family (Radeon 7000-7500).
+X.org DRI driver for ATI R100 card family (Radeon 7000-7500).
%description dri-driver-ati-radeon-R100 -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart ATI R100 (Radeon 7000-7500).
+Sterownik X.org DRI dla rodziny kart ATI R100 (Radeon 7000-7500).
%package dri-driver-ati-radeon-R200
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for ATI R200 card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R200
License: MIT
Group: X11/Libraries
Requires: xorg-driver-video-ati
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: X11-driver-radeon-dri < 1:7.0.0
%description dri-driver-ati-radeon-R200
-X.org DRI drivers for ATI R200 card family (Radeon 8500-92xx)
+X.org DRI driver for ATI R200 card family (Radeon 8500-92xx)
%description dri-driver-ati-radeon-R200 -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart ATI R200 (Radeon 8500-92xx).
+Sterownik X.org DRI dla rodziny kart ATI R200 (Radeon 8500-92xx).
%package dri-driver-ati-radeon-R300
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for ATI R300 card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R300
License: MIT
Group: X11/Libraries
Requires: xorg-driver-video-ati
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: X11-driver-radeon-dri < 1:7.0.0
%description dri-driver-ati-radeon-R300
-X.org DRI drivers for ATI R300 card family.
+X.org DRI driver for ATI R300 card family.
%description dri-driver-ati-radeon-R300 -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart ATI R300.
+Sterownik X.org DRI dla rodziny kart ATI R300.
-%package dri-driver-ati-rage128
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+%package dri-driver-ati-radeon-R600
+Summary: X.org DRI driver for ATI R600 card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R600
License: MIT
Group: X11/Libraries
+Requires: radeon-ucode
Requires: xorg-driver-video-ati
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
+
+%description dri-driver-ati-radeon-R600
+X.org DRI driver for ATI R600 card family.
+
+%description dri-driver-ati-radeon-R600 -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart ATI R600.
+
+%package dri-driver-ati-rage128
+Summary: X.org DRI driver for ATI Rage128 card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI Rage128
+License: MIT
+Group: X11/Libraries
+Requires: xorg-driver-video-r128
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: X11-driver-r128-dri < 1:7.0.0
%description dri-driver-ati-rage128
-X.org DRI drivers for ATI rage128 card family.
+X.org DRI driver for ATI Rage128 card family.
%description dri-driver-ati-rage128 -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart ATI rage128.
+Sterownik X.org DRI dla rodziny kart ATI Rage128.
%package dri-driver-ffb
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for Sun FFB card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Sun FFB
License: MIT
Group: X11/Libraries
Requires: xorg-driver-video-sunffb
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
%description dri-driver-ffb
-X.org DRI drivers for SUN Creator3D and Elite3D card family.
+X.org DRI driver for SUN Creator3D and Elite3D card family.
%description dri-driver-ffb -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart SUN Creator3D and Elite3D.
+Sterownik X.org DRI dla rodziny kart SUN Creator3D i Elite3D.
%package dri-driver-glint
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for GLINT/Permedia card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart GLINT/Permedia
License: MIT
Group: X11/Libraries
Requires: xorg-driver-video-glint
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: X11-driver-glint-dri < 1:7.0.0
%description dri-driver-glint
-X.org DRI drivers for GLINT/Permedia card family.
+X.org DRI driver for GLINT/Permedia card family.
%description dri-driver-glint -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart GLINT/Permedia.
+Sterownik X.org DRI dla rodziny kart GLINT/Permedia.
%package dri-driver-intel-i810
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for Intel i810 card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel i810
License: MIT
Group: X11/Libraries
-Requires: xorg-driver-video-i810
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-driver-video-intel
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: X11-driver-i810-dri < 1:7.0.0
%description dri-driver-intel-i810
-X.org DRI drivers for Intel i810 card family.
+X.org DRI driver for Intel i810 card family.
%description dri-driver-intel-i810 -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart i810.
+Sterownik X.org DRI dla rodziny kart Intel i810.
%package dri-driver-intel-i915
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for Intel i915 card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel i915
License: MIT
Group: X11/Libraries
-Requires: xorg-driver-video-i810
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-driver-video-intel
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: Mesa-dri-driver-intel-i830
Obsoletes: X11-driver-i810-dri < 1:7.0.0
%description dri-driver-intel-i915
-X.org DRI drivers for Intel i915 card family.
+X.org DRI driver for Intel i915 card family.
%description dri-driver-intel-i915 -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart i915.
+Sterownik X.org DRI dla rodziny kart Intel i915.
%package dri-driver-intel-i965
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for Intel i965 card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel i965
License: MIT
Group: X11/Libraries
-Requires: xorg-driver-video-i810
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-driver-video-intel
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: Mesa-dri-driver-intel-i830
Obsoletes: X11-driver-i810-dri < 1:7.0.0
%description dri-driver-intel-i965
-X.org DRI drivers for Intel i965 card family.
+X.org DRI driver for Intel i965 card family.
%description dri-driver-intel-i965 -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart i965.
+Sterownik X.org DRI dla rodziny kart Intel i965.
%package dri-driver-matrox
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for Matrox G card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Matrox G
License: MIT
Group: X11/Libraries
Requires: xorg-driver-video-mga
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: X11-driver-mga-dri < 1:7.0.0
%description dri-driver-matrox
Sterowniki X.org DRI dla rodziny kart Matrox G.
%package dri-driver-nouveau
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+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) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
%description dri-driver-nouveau
-X.org DRI drivers for NVidia adapters.
+X.org DRI drivers for NVIDIA card family.
%description dri-driver-nouveau -l pl.UTF-8
-Sterowniki X.org DRI dla kart NVidia.
-
-%package dri-driver-s3virge
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
-License: MIT
-Group: X11/Libraries
-Requires: xorg-driver-video-s3virge
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
-
-%description dri-driver-s3virge
-X.org DRI drivers for S3 Virge card family.
-
-%description dri-driver-s3virge -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart S3 Virge.
+Sterowniki X.org DRI dla rodziny kart NVIDIA.
%package dri-driver-savage
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for S3 Savage card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart S3 Savage
License: MIT
Group: X11/Libraries
Requires: xorg-driver-video-savage
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
%description dri-driver-savage
-X.org DRI drivers for S3 Savage card family.
+X.org DRI driver for S3 Savage card family.
%description dri-driver-savage -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart S3 Savage.
+Sterownik X.org DRI dla rodziny kart S3 Savage.
%package dri-driver-sis
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for SiS card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart SiS
License: MIT
Group: X11/Libraries
Requires: xorg-driver-video-sis
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: X11-driver-sis-dri < 1:7.0.0
%description dri-driver-sis
-X.org DRI drivers for SiS card family.
+X.org DRI driver for SiS card family.
%description dri-driver-sis -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart SiS.
+Sterownik X.org DRI dla rodziny kart SiS.
%package dri-driver-swrast
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI software rasterizer driver
+Summary(pl.UTF-8): Sterownik X.org DRI obsługujący rysowanie programowe
License: MIT
Group: X11/Libraries
-Provides: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
%description dri-driver-swrast
-DRI software rasterizer driver for X.org.
+X.org DRI software rasterizer driver.
%description dri-driver-swrast -l pl.UTF-8
-DRI software rasterizer driver for X.org.
+Sterownik X.org DRI obsługujący rysowanie programowe.
%package dri-driver-tdfx
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+Summary: X.org DRI driver for 3DFX Voodoo card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart 3DFX Voodoo
License: MIT
Group: X11/Libraries
Requires: Glide3-DRI
Requires: xorg-driver-video-tdfx
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
Obsoletes: X11-driver-tdfx-dri < 1:7.0.0
%description dri-driver-tdfx
-X.org DRI drivers for 3DFX Voodoo card family (Voodoo 3,4,5, Banshee
+X.org DRI driver for 3DFX Voodoo card family (Voodoo 3,4,5, Banshee
and Velocity 100/200).
%description dri-driver-tdfx -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart 3DFX Voodoo. (Voodoo 3,4,5,
-Banshee and Velocity 100/200).
+Sterownik X.org DRI dla rodziny kart 3DFX Voodoo. (Voodoo 3,4,5,
+Banshee i Velocity 100/200).
-%package dri-driver-trident
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+%package dri-driver-via-unichrome
+Summary: X.org DRI driver for VIA Unichrome card family
+Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart VIA Unichrome
License: MIT
Group: X11/Libraries
-Requires: xorg-driver-video-trident
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-driver-video-openchrome
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
-%description dri-driver-trident
-X.org DRI drivers for Trident card family.
+%description dri-driver-via-unichrome
+X.org DRI driver for VIA Unichrome card family.
-%description dri-driver-trident -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart Trident.
+%description dri-driver-via-unichrome -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart VIA Unichrome.
-%package dri-driver-via-unichrome
-Summary: X.org DRI drivers
-Summary(pl.UTF-8): Sterowniki DRI dla X.org
+%package dri-driver-vmwgfx
+Summary: X.org DRI driver for VMware
+Summary(pl.UTF-8): Sterownik X.org DRI dla VMware
License: MIT
Group: X11/Libraries
-Requires: xorg-driver-video-via
-Requires: xorg-xserver-libglx(glapi) = %{version}
-Requires: xorg-xserver-server
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
-%description dri-driver-via-unichrome
-X.org DRI drivers for VIA Unichrome card family.
+%description dri-driver-vmwgfx
+X.org DRI driver for VMWare.
-%description dri-driver-via-unichrome -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart VIA Unichrome.
+%description dri-driver-vmwgfx -l pl.UTF-8
+Sterownik X.org DRI dla VMware.
%prep
-%setup -q -b1 -n %{name}-%{version}-%{snap}
+%setup -q -b1
%patch0 -p0
%patch1 -p1
-# until new libdrm release and Mesa update for nouveau_drm patchlevel
-[ -f src/mesa/drivers/dri/nouveau/nouveau_drm.h ] && exit 1
-cp %{SOURCE2} src/mesa/drivers/dri/nouveau
-
# fix demos
find progs -type f|xargs sed -i -e "s,\.\./images/,%{_examplesdir}/%{name}-%{version}/images/,g"
-# s3v, sis, trident missing there - don't override list from linux-dri
-sed -i -e '/^DRI_DIRS/d' configs/linux-dri-x86-64
-
-sed -i -e 's/ i810 / swrast i810 /' configs/linux-dri
+%build
+%{__aclocal}
+%{__autoconf}
-%if %{with nouveau}
-sed -i -e 's/ ffb$/ ffb nouveau/' configs/linux-dri
+dri_drivers="i810 i965 mach64 mga r128 r200 r300 r600 radeon savage \
+%if %{without gallium_intel}
+i915 \
%endif
-
-%ifnarch sparc sparcv9 sparc64
-# for sunffb driver - useful on sparc only
-sed -i -e 's/ ffb\>//' configs/linux-dri
+%ifarch sparc sparcv9 sparc64
+ffb \
%endif
-
-%ifnarch %{ix86} %{x8664}
-# sis needs write-memory barrier
-sed -i -e 's/ sis / /' configs/linux-dri
+%ifarch %{ix86} %{x8664}
+sis \
+%endif
+swrast tdfx unichrome"
+
+dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',')
+
+common_flags="\
+ --enable-shared \
+ --enable-selinux \
+ --enable-pic \
+ --enable-glx-tls \
+ --%{?with_egl:en}%{!?with_egl:dis}able-egl \
+ --with%{!?with_demos:out}-demos"
+
+%if %{with osmesa}
+# osmesa variants
+%configure $common_flags \
+ --with-driver=osmesa \
+ --disable-asm \
+ --with-osmesa-bits=8
+%{__make} \
+ SRC_DIRS=mesa
+mv %{_lib} osmesa8
+%{__make} clean
+
+%configure $common_flags \
+ --with-driver=osmesa \
+ --disable-asm \
+ --with-osmesa-bits=16
+%{__make} \
+ SRC_DIRS=mesa
+mv %{_lib} osmesa16
+%{__make} clean
+
+%configure $common_flags \
+ --with-driver=osmesa \
+ --disable-asm \
+ --with-osmesa-bits=32
+%{__make} \
+ SRC_DIRS=mesa
+mv %{_lib} osmesa32
+%{__make} clean
%endif
-%build
-# use $lib, not %{_lib} as Mesa uses lib64 only for *-x86-64* targets
-%ifarch %{x8664}
-targ=-x86-64
-lib=lib64
-%else
-lib=lib
-%ifarch %{ix86}
-targ=-x86
+%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-svga \
+ --%{?with_gallium_nouveau:en}%{!?with_gallium_nouveau:dis}able-gallium-nouveau \
+ --with-state-trackers=dri \
%else
-targ=""
+ --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
-%{__make} linux${targ}-static \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- OPT_FLAGS="%{rpmcflags} -fno-strict-aliasing" \
- XLIB_DIR=%{_libdir} \
- GLW_SOURCES="GLwDrawA.c%{?with_motif: GLwMDrawA.c}" \
- SRC_DIRS="mesa glu glw" \
- PROGRAM_DIRS=
-mv -f ${lib} lib-static
-%{__make} realclean
-
-%{__make} linux-osmesa \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- OPT_FLAGS="%{rpmcflags} -fno-strict-aliasing" \
- XLIB_DIR=%{_libdir} \
- SRC_DIRS="mesa" \
- PROGRAM_DIRS=
-mv -f lib lib-osmesa
-%{__make} realclean
-
-%{__make} linux-dri${targ} \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- MKDEP=makedepend \
- OPT_FLAGS="%{rpmcflags} -fno-strict-aliasing" \
- XLIB_DIR=%{_libdir} \
- DRI_DRIVER_SEARCH_DIR=%{_libdir}/xorg/modules/dri \
- SRC_DIRS="glx/x11 mesa glu glw" \
- PROGRAM_DIRS=
-
-%{__make} -C progs/xdemos \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- OPT_FLAGS="%{rpmcflags}" \
- XLIB_DIR=%{_libdir} \
- PROGS="glxgears" \
- APP_LIB_DEPS="-L../../${lib} -lGL"
-
-%{__make} -C progs/xdemos \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- OPT_FLAGS="%{rpmcflags}" \
- XLIB_DIR=%{_libdir} \
- PROGS="glxinfo" \
- APP_LIB_DEPS="-L../../${lib} -lGL -lGLU"
-
-mv -f ${lib} lib-dri
-
-for d in mesa glu glw ; do
- %{__make} -C src/$d `basename src/$d/*.pc.in .in` \
- INSTALL_DIR=%{_prefix} \
- LIB_DIR=%{_lib}
-done
-
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/GL,%{_pkgconfigdir},%{_examplesdir}/%{name}-%{version}}
-install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri
-cp -df lib-static/lib* $RPM_BUILD_ROOT%{_libdir}
-cp -df lib-osmesa/libOSMesa* $RPM_BUILD_ROOT%{_libdir}
-cp -df lib-dri/lib* $RPM_BUILD_ROOT%{_libdir}
-cp -rf include/GL/{gl[!f]*,osmesa.h,xmesa*} src/glw/GLw*.h $RPM_BUILD_ROOT%{_includedir}/GL
-cp -df lib-dri/*_dri.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_examplesdir}/%{name}-%{version}}
+
+# libs without drivers
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
-install src/mesa/gl.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
-install src/glu/glu.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
-install src/glw/glw.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
+%if %{with osmesa}
+install osmesa*/* $RPM_BUILD_ROOT%{_libdir}
+%endif
install progs/xdemos/{glxgears,glxinfo} $RPM_BUILD_ROOT%{_bindir}
# work on copy to keep -bi --short-circuit working
done
rm -rf $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/*/{.deps,CVS,Makefile.{BeOS*,win,cygnus,DJ,dja}}
+# strip out undesirable headers
+olddir=$(pwd)
+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}
install -d $RPM_BUILD_ROOT{%{_libdir}/Mesa,%{_sysconfdir}/ld.so.conf.d}
%{_includedir}/GL/glx.h
%{_includedir}/GL/glxext.h
%{_includedir}/GL/glx_mangle.h
+%dir %{_includedir}/GL/internal
+%{_includedir}/GL/internal/dri_interface.h
+%{_pkgconfigdir}/dri.pc
%{_pkgconfigdir}/gl.pc
+%if %{with static}
%files libGL-static
%defattr(644,root,root,755)
%{_libdir}/libGL.a
-# x11 (non-dri) Mesa API
-%{_includedir}/GL/xmesa.h
-%{_includedir}/GL/xmesa_x.h
-%{_includedir}/GL/xmesa_xf86.h
+%endif
%files libGLU
%defattr(644,root,root,755)
%{_includedir}/GL/glu_mangle.h
%{_pkgconfigdir}/glu.pc
+%if %{with static}
%files libGLU-static
%defattr(644,root,root,755)
%{_libdir}/libGLU.a
+%endif
%files libGLw
%defattr(644,root,root,755)
%{_includedir}/GL/GLwMDrawAP.h
%{_pkgconfigdir}/glw.pc
+%if %{with static}
%files libGLw-static
%defattr(644,root,root,755)
%{_libdir}/libGLw.a
+%endif
+%if %{with osmesa}
%files libOSMesa
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libOSMesa.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libOSMesa.so.[0-9]
+%attr(755,root,root) %{_libdir}/libOSMesa*.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libOSMesa*.so.[0-9]
%files libOSMesa-devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libOSMesa.so
+%attr(755,root,root) %{_libdir}/libOSMesa*.so
%{_includedir}/GL/osmesa.h
+%if %{with static}
%files libOSMesa-static
%defattr(644,root,root,755)
-%{_libdir}/libOSMesa.a
+%{_libdir}/libOSMesa*.a
+%endif
+%endif
%files utils
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/r300_dri.so
+%files dri-driver-ati-radeon-R600
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/r600_dri.so
+
%files dri-driver-ati-rage128
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/r128_dri.so
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/mga_dri.so
-%if %{with nouveau}
+%if %{with gallium}
+%if %{with gallium_nouveau}
%files dri-driver-nouveau
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/nouveau_dri.so
%endif
-
-%files dri-driver-s3virge
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/xorg/modules/dri/s3v_dri.so
+%endif
%files dri-driver-savage
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/tdfx_dri.so
-%files dri-driver-trident
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/xorg/modules/dri/trident_dri.so
-
%files dri-driver-via-unichrome
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/unichrome_dri.so
+%if %{with gallium}
+%files dri-driver-vmwgfx
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/vmwgfx_dri.so
+%endif
+
+%if %{with demos}
%files demos
%defattr(644,root,root,755)
%{_examplesdir}/%{name}-%{version}
+%endif