#
# TODO:
+# - consider:
+# --enable-shared-glapi (for libGL; required if the same app uses GL and GLES)
+# --enable-shared-dricore
# - 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
#
# Conditional build:
-%bcond_with glide # with GLIDE (broken now)
+%bcond_without egl # build egl
+%bcond_without gallium # don't build gallium
+%bcond_with gallium_intel # gallium i915 driver (but doesn't work with AIGLX)
+%bcond_without gallium_radeon # gallium radeon driver
+%bcond_without gallium_nouveau # gallium nouveau driver
%bcond_without motif # build static libGLw without Motif interface
+%bcond_without osmesa # don't build osmesa
+%bcond_with static_libs # static libraries
+#
+# 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.25
+%define dri2proto_ver 2.6
+%define glproto_ver 1.4.11
+#
+%define rel 1
#
Summary: Free OpenGL implementation
-Summary(pl): Wolnodostêpna implementacja standardu OpenGL
+Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL
Name: Mesa
-Version: 6.5
-%define snap 20060730
-Release: 1.%{snap}.1
-License: MIT (core), SGI (GLU,libGLw) and others - see COPYRIGHT file
+Version: 7.11.2
+Release: %{rel}
+License: MIT (core), SGI (GLU,libGLw) and others - see license.html file
Group: X11/Libraries
-Source0: %{name}-%{snap}.tar.gz
-# Source0-md5: 848144f960c309a79bf29ddcaf2cd2d7
-#Source0: http://dl.sourceforge.net/mesa3d/%{name}Lib-%{version}.tar.bz2
-#Source1: http://dl.sourceforge.net/mesa3d/%{name}Demos-%{version}.tar.bz2
-Patch0: %{name}-modules_dir.patch
+Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar.bz2
+# Source0-md5: 0837c52698fe3252369c3fdb5195afcc
+Patch0: %{name}-realclean.patch
+Patch1: %{name}-git.patch
+Patch2: %{name}-selinux.patch
URL: http://www.mesa3d.org/
-%{?with_glide:BuildRequires: Glide3-DRI-devel}
+BuildRequires: autoconf >= 2.59
+BuildRequires: automake
BuildRequires: expat-devel
-BuildRequires: libdrm-devel >= 2.0.2
-BuildRequires: libstdc++-devel
+BuildRequires: gcc >= 5:3.3
+BuildRequires: libdrm-devel >= %{libdrm_ver}
+BuildRequires: libselinux-devel
+BuildRequires: libstdc++-devel >= 5:3.3.0
+BuildRequires: libtalloc-devel >= 2:2.0.1
BuildRequires: libtool >= 2:1.4d
+# for Gallium R300
+BuildRequires: llvm-devel >= 2.9
%{?with_motif:BuildRequires: motif-devel}
+BuildRequires: pixman-devel
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(talloc) >= 2.0.1
+BuildRequires: python
+BuildRequires: python-libxml2
+BuildRequires: python-modules
+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-glproto-devel
+BuildRequires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
+BuildRequires: xorg-proto-glproto-devel >= %{glproto_ver}
BuildRequires: xorg-util-makedepend
-Obsoletes: Mesa-dri
+BuildRequires: xorg-xserver-server-devel
+%if %{with egl}
+BuildRequires: libxcb-devel
+BuildRequires: udev-devel >= 150
+%endif
+%if %{with gallium}
+BuildRequires: xorg-proto-xextproto-devel >= 7.0.99.1
+BuildRequires: xorg-xserver-server-devel >= 1.6.0
+%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-# avoid XFree86-OpenGL* dependency
-# Glide3 can be provided by Glide_V3-DRI or Glide_V5-DRI
-%define _noautoreqdep libGL.so.1 libGLU.so.1 libOSMesa.so.4 libglide3.so.3
+%if %{without gallium}
+%undefine with_gallium_intel
+%undefine with_gallium_nouveau
+%undefine with_gallium_radeon
+%endif
-%define _sysconfdir /etc/X11
+# _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?)
+%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.*
%description
Mesa is a 3-D graphics library with an API which is very similar to
license from SGI, and makes no claim that Mesa is in any way a
compatible replacement for OpenGL or associated with SGI.
-%description -l pl
-Mesa jest bibliotek± grafiki 3D z API bardzo podobnym do OpenGL(R). Do
-tego stopnia, ¿e Mesa u¿ywa sk³adni i automatu OpenGL jest u¿ywana z
-autoryzacj± Silicon Graphics, Inc. Jednak autor nie posiada licencji
-OpenGL od SGI i nie twierdzi, ¿e Mesa jest kompatybilnym zamiennikiem
-OpenGL ani powi±zana z SGI.
+%description -l pl.UTF-8
+Mesa jest biblioteką grafiki 3D z API bardzo podobnym do OpenGL(R). Do
+tego stopnia, że Mesa używa składni i automatu OpenGL jest używana z
+autoryzacją Silicon Graphics, Inc. Jednak autor nie posiada licencji
+OpenGL od SGI i nie twierdzi, że Mesa jest kompatybilnym zamiennikiem
+OpenGL ani powiązana z SGI.
+
+%package libEGL
+Summary: Mesa implementation of EGL Native Platform Graphics Interface library
+Summary(pl.UTF-8): Implementacja Mesa biblioteki interfejsu EGL
+License: MIT
+Group: Libraries
+# glx driver in libEGL dlopens libGL.so
+Requires: OpenGL >= 1.2
+Requires: libdrm >= %{libdrm_ver}
+%if %{with gallium}
+# for egl_gallium.so
+Requires: Mesa-libOpenVG = %{version}-%{release}
+Requires: udev-libs >= 150
+%endif
+Provides: EGL = 1.4
+
+%description libEGL
+This package contains shared libEGL - Mesa implementation of EGL
+Native Platform Graphics Interface as specified by Khronos Group:
+<http://www.khronos.org/egl/>.
+
+%description libEGL -l pl.UTF-8
+Ten pakiet zawiera bibliotekę współdzieloną libEGL - implementację
+Mesa standardu EGL Native Platform Graphics Interface (interfejsu
+graficznego platformy natywnej) wg specyfikacji Khronos Group:
+<http://www.khronos.org/egl/>.
+
+%package libEGL-devel
+Summary: Header files for Mesa implementation of EGL library
+Summary(pl.UTF-8): Pliki nagłówkowe implementacji Mesa biblioteki EGL
+License: MIT
+Group: Development/Libraries
+Requires: %{name}-libEGL = %{version}-%{release}
+Requires: libdrm-devel >= %{libdrm_ver}
+Requires: xorg-lib-libX11-devel
+Requires: xorg-lib-libXdamage-devel
+Requires: xorg-lib-libXext-devel
+Requires: xorg-lib-libXfixes-devel
+Requires: xorg-lib-libXxf86vm-devel
+Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
+Requires: xorg-proto-glproto-devel >= %{glproto_ver}
+Provides: EGL-devel = 1.4
+
+%description libEGL-devel
+Header files for Mesa implementation of EGL library.
+
+%description libEGL-devel -l pl.UTF-8
+Pliki nagłówkowe implementacji Mesa biblioteki EGL.
+
+%package libEGL-static
+Summary: Static Mesa EGL library
+Summary(pl.UTF-8): Statyczna biblioteka Mesa EGL
+License: MIT
+Group: Development/Libraries
+Requires: %{name}-libEGL-devel = %{version}-%{release}
+Provides: EGL-static = 1.4
+
+%description libEGL-static
+Static Mesa EGL library.
+
+%description libEGL-static -l pl.UTF-8
+Statyczna biblioteka Mesa EGL.
%package libGL
Summary: Free Mesa3D implementation of libGL OpenGL library
-Summary(pl): Wolnodostêpna implementacja Mesa3D biblioteki libGL ze standardu OpenGL
+Summary(pl.UTF-8): Wolnodostępna implementacja Mesa3D biblioteki libGL ze standardu OpenGL
License: MIT
Group: X11/Libraries
-%{?with_glide:Requires: Glide3-DRI}
-Provides: OpenGL = 1.5
-# reports version 1.3, but supports glXGetProcAddress() from 1.4
+Requires: libdrm >= %{libdrm_ver}
+Provides: OpenGL = 2.1
Provides: OpenGL-GLX = 1.4
Obsoletes: Mesa
-Obsoletes: X11-OpenGL-libGL
-Obsoletes: XFree86-OpenGL-libGL
+Obsoletes: Mesa-dri
+Obsoletes: X11-OpenGL-libGL < 1:7.0.0
+Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
%description libGL
Mesa is a 3-D graphics library with an API which is very similar to
This package contains libGL which implements OpenGL 1.5 and GLX 1.4
specifications. It uses DRI for rendering.
-%description libGL -l pl
-Mesa jest bibliotek± grafiki 3D z API bardzo podobnym do OpenGL(R). Do
-tego stopnia, ¿e Mesa u¿ywa sk³adni i automatu OpenGL jest u¿ywana z
-autoryzacj± Silicon Graphics, Inc. Jednak autor nie posiada licencji
-OpenGL od SGI i nie twierdzi, ¿e Mesa jest kompatybilnym zamiennikiem
-OpenGL ani powi±zana z SGI.
+%description libGL -l pl.UTF-8
+Mesa jest biblioteką grafiki 3D z API bardzo podobnym do OpenGL(R). Do
+tego stopnia, że Mesa używa składni i automatu OpenGL jest używana z
+autoryzacją Silicon Graphics, Inc. Jednak autor nie posiada licencji
+OpenGL od SGI i nie twierdzi, że Mesa jest kompatybilnym zamiennikiem
+OpenGL ani powiązana z SGI.
-Ten pakiet zawiera libGL implementuj±c± specyfikacje OpenGL 1.5 oraz
-GLX 1.4. U¿ywa DRI do renderowania.
+Ten pakiet zawiera libGL implementującą specyfikacje OpenGL 1.5 oraz
+GLX 1.4. Używa DRI do renderowania.
%package libGL-devel
Summary: Header files for Mesa3D libGL library
-Summary(pl): Pliki nag³ówkowe biblioteki libGL z projektu Mesa3D
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libGL z projektu Mesa3D
License: MIT
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 = 1.5
+Requires: xorg-lib-libXdamage-devel
+Requires: xorg-lib-libXext-devel
+Requires: xorg-lib-libXxf86vm-devel
+Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
+Requires: xorg-proto-glproto-devel >= %{glproto_ver}
+Suggests: OpenGL-doc-man
Provides: OpenGL-GLX-devel = 1.4
+Provides: OpenGL-devel = 2.1
Obsoletes: Mesa-devel
-Obsoletes: X11-OpenGL-devel
-Obsoletes: X11-OpenGL-devel-base
-Obsoletes: XFree86-OpenGL-devel
-Obsoletes: XFree86-OpenGL-devel-base
+Obsoletes: X11-OpenGL-devel < 1:7.0.0
+Obsoletes: X11-OpenGL-devel-base < 1:7.0.0
+Obsoletes: XFree86-OpenGL-devel < 1:7.0.0
+Obsoletes: XFree86-OpenGL-devel-base < 1:7.0.0
%description libGL-devel
Header files for Mesa3D libGL library.
-%description libGL-devel -l pl
-Pliki nag³ówkowe biblioteki libGL z projektu Mesa3D.
+%description libGL-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki libGL z projektu Mesa3D.
%package libGL-static
Summary: Static Mesa3D libGL library
-Summary(pl): Statyczna biblioteka libGL z projektu Mesa3D
+Summary(pl.UTF-8): Statyczna biblioteka libGL z projektu Mesa3D
License: MIT
Group: X11/Development/Libraries
Requires: %{name}-libGL-devel = %{version}-%{release}
-Provides: OpenGL-static = 1.5
+Provides: OpenGL-static = 2.1
Obsoletes: Mesa-static
-Obsoletes: X11-OpenGL-static
-Obsoletes: XFree86-OpenGL-static
+Obsoletes: X11-OpenGL-static < 1:7.0.0
+Obsoletes: XFree86-OpenGL-static < 1:7.0.0
%description libGL-static
Static Mesa3D libGL library. It uses software renderer.
-%description libGL-static -l pl
-Statyczna biblioteka libGL z projektu Mesa3D. U¿ywa programowego
+%description libGL-static -l pl.UTF-8
+Statyczna biblioteka libGL z projektu Mesa3D. Używa programowego
renderingu.
+%package libGLES
+Summary: Mesa implementation of GLES (OpenGL ES) libraries
+Summary(pl.UTF-8): Implementacja Mesa bibliotek GLES (OpenGL ES)
+Group: Libraries
+# only for libglapi.so.0
+Requires: %{name}-libEGL = %{version}-%{release}
+
+%description libGLES
+This package contains shared libraries of Mesa implementation of GLES
+(OpenGL ES) - cross-platform API for full-function 2D and 3D graphics
+on embedded systems. OpenGL ES specification can be found on Khronos
+Group site: <http://www.khronos.org/opengles/>. Mesa implements OpenGL
+ES 1.1 and 2.0.
+
+%description libGLES -l pl.UTF-8
+Ten pakiet zawiera biblioteki współdzielone implementacji Mesa
+standardu GLES (OpenGL ES) - wieloplatformowego API do w pełni
+funkcjonalnej grafiki 2D i 3D na systemach wbudowanych. Specyfikację
+OpenGL ES można znaleźć na stronie Khronos Group:
+<http://www.khronos.org/opengles/>. Mesa zawiera implementacją OpenGL
+ES 1.1 i 2.0.
+
+%package libGLES-devel
+Summary: Header files for Mesa GLES libraries
+Summary(pl.UTF-8): Pliki nagłówkowe bibliotek Mesa GLES
+Group: Development/Libraries
+# EGL for libglapi.so, <KHR/khrplatform.h> always required, <EGL/egl.h> for <GLES/egl.h>
+Requires: %{name}-libEGL-devel = %{version}-%{release}
+Requires: %{name}-libGLES = %{version}-%{release}
+
+%description libGLES-devel
+Header files for Mesa GLES libraries.
+
+%description libGLES-devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek Mesa GLES.
+
%package libGLU
Summary: SGI implementation of libGLU OpenGL library
-Summary(pl): Implementacja SGI biblioteki libGLU ze standardu OpenGL
-License: SGI Free Software License B v1.1
+Summary(pl.UTF-8): Implementacja SGI biblioteki libGLU ze standardu OpenGL
+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
Provides: OpenGL-GLU = 1.3
Obsoletes: Mesa-devel
-Obsoletes: X11-OpenGL-libs
-Obsoletes: XFree86-OpenGL-libs
+Obsoletes: X11-OpenGL-libs < 1:7.0.0
+Obsoletes: XFree86-OpenGL-libs < 1:7.0.0
%description libGLU
SGI implementation of libGLU OpenGL library. It implements OpenGL GLU
1.3 specifications.
-%description libGLU -l pl
+%description libGLU -l pl.UTF-8
Implementacja SGI biblioteki libGLU ze standardu OpenGL. Implementuje
-specyfikacjê OpenGL GLU 1.3.
+specyfikację OpenGL GLU 1.3.
%package libGLU-devel
Summary: Header files for SGI libGLU library
-Summary(pl): Pliki nag³ówkowe biblioteki SGI libGLU
-License: SGI Free Software License B v1.1
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki SGI libGLU
+License: SGI Free Software License B v2.0 (MIT-like)
Group: Development/Libraries
Requires: %{name}-libGLU = %{version}-%{release}
Requires: OpenGL-devel >= 1.2
%description libGLU-devel
Header files for SGI libGLU library.
-%description libGLU-devel -l pl
-Pliki nag³ówkowe biblioteki SGI libGLU.
+%description libGLU-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki SGI libGLU.
%package libGLU-static
Summary: Static SGI libGLU library
-Summary(pl): Statyczna biblioteka SGI libGLU
-License: SGI Free Software License B v1.1
+Summary(pl.UTF-8): Statyczna biblioteka SGI libGLU
+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
%description libGLU-static
Static SGI libGLU library.
-%description libGLU-static -l pl
+%description libGLU-static -l pl.UTF-8
Statyczna biblioteka SGI libGLU.
%package libGLw
Summary: SGI OpenGL Xt widgets library
-Summary(pl): Biblioteka SGI widgetów Xt dla OpenGL-a
+Summary(pl.UTF-8): Biblioteka SGI widgetów Xt dla OpenGL-a
License: SGI MIT-like
Group: Libraries
# loose dependency on libGL.so.1 to use with other libGL binaries
%description libGLw
SGI OpenGL Xt widgets library.
-%description libGLU -l pl
-Biblioteka SGI widgetów Xt dla OpenGL-a.
+%description libGLw -l pl.UTF-8
+Biblioteka SGI widgetów Xt dla OpenGL-a.
%package libGLw-devel
Summary: Header files for SGI libGLw library
-Summary(pl): Pliki nag³ówkowe biblioteki SGI libGLw
-License: SGI Free Software License B v1.1
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki SGI libGLw
+License: SGI MIT-like
Group: Development/Libraries
Requires: %{name}-libGLw = %{version}-%{release}
Requires: OpenGL-devel >= 1.2
+Requires: xorg-lib-libX11-devel
+Requires: xorg-lib-libXt-devel
Provides: OpenGL-GLw-devel
%description libGLw-devel
Header files for SGI libGLw library.
-%description libGLw-devel -l pl
-Pliki nag³ówkowe biblioteki SGI libGLw.
+%description libGLw-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki SGI libGLw.
%package libGLw-static
Summary: Static SGI libGLw library
-Summary(pl): Statyczna biblioteka SGI libGLw
-License: SGI Free Software License B v1.1
+Summary(pl.UTF-8): Statyczna biblioteka SGI libGLw
+License: SGI MIT-like
Group: Development/Libraries
Requires: %{name}-libGLw-devel = %{version}-%{release}
Provides: OpenGL-GLw-static
%description libGLw-static
Static SGI libGLw library.
-%description libGLw-static -l pl
+%description libGLw-static -l pl.UTF-8
Statyczna biblioteka SGI libGLw.
-%package utils
-Summary: OpenGL utilities from Mesa3D
-Summary(pl): Programy narzêdziowe OpenGL z projektu Mesa3D
-Group: X11/Applications/Graphics
-# loose deps on libGL/libGLU
+%package libOSMesa
+Summary: OSMesa (off-screen renderer) library
+Summary(pl.UTF-8): Biblioteka OSMesa (renderująca bitmapy w pamięci)
+License: MIT
+Group: Libraries
+# doesn't require base
-%description utils
-OpenGL utilities from Mesa3D: glxgears and glxinfo.
+%description libOSMesa
+OSMesa (off-screen renderer) library.
-%description utils -l pl
-Programy narzêdziowe OpenGL z projektu Mesa3D: glxgears i glxinfo.
+%description libOSMesa -l pl.UTF-8
+Biblioteka OSMesa (renderująca bitmapy w pamięci).
-%package demos
-Summary: Mesa Demos
-Summary(pl): Programy demonstruj±ce mo¿liwo¶ci bibliotek Mesa
+%package libOSMesa-devel
+Summary: Header file for OSMesa (off-screen renderer) library
+Summary(pl.UTF-8): Plik nagłówkowy biblioteki OSMesa (renderującej bitmapy w pamięci)
+License: MIT
Group: Development/Libraries
+Requires: %{name}-libOSMesa = %{version}-%{release}
+# for <GL/gl.h> only
Requires: OpenGL-devel
+Requires: libselinux-devel
+
+%description libOSMesa-devel
+Header file for OSMesa (off-screen renderer) library.
+
+%description libOSMesa-devel -l pl.UTF-8
+Plik nagłówkowy biblioteki OSMesa (renderującej bitmapy w pamięci).
+
+%package libOSMesa-static
+Summary: Static OSMesa (off-screen renderer) library
+Summary(pl.UTF-8): Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci)
+License: MIT
+Group: Development/Libraries
+Requires: %{name}-libOSMesa-devel = %{version}-%{release}
+# this static build of OSMesa needs static non-dri Mesa implementation
+Requires: %{name}-libGL-static = %{version}-%{release}
+
+%description libOSMesa-static
+Static OSMesa (off-screen renderer) library.
+
+%description libOSMesa-static -l pl.UTF-8
+Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci).
+
+%package libOpenVG
+Summary: Mesa implementation of OpenVG (Vector Graphics Accelleration) API
+Summary(pl.UTF-8): Implementacja Mesa API OpenVG (akceleracji grafiki wektorowej)
+License: MIT
+Group: Libraries
+# doesn't require base
+
+%description libOpenVG
+This package contains Mesa implementation of OpenVG - cross-platform
+API that provides a low-level hardware acceleration interface for
+vector graphics libraries such as Flash and SVG. OpenVG specification
+can be found on Khronos Group site: <http://www.khronos.org/openvg/>.
+Mesa implements OpenVG 1.1.
+
+%description libOpenVG -l pl.UTF-8
+Ten pakiet zawiera implementację Mesa standardu OpenVG -
+wieloplatfomowego API zapewniającego niskopoziomowy interfejs
+akceleracji sprzętowej dla bibliotek grafiki wektorowej, takiej
+jak Flash czy SVG. Specyfikację OpenVG można znaleźć na stronie
+Khronos Group: <http://www.khronos.org/openvg/>. Mesa zawiera
+implementację OpenVG w wersji 1.1.
+
+%package libOpenVG-devel
+Summary: Header file for Mesa OpenVG library
+Summary(pl.UTF-8): Plik nagłówkowy biblioteki Mesa OpenVG
+License: MIT
+Group: Development/Libraries
+# EGL headers for <KHR/khrplatform.h>
+Requires: %{name}-libEGL-devel = %{version}-%{release}
+Requires: %{name}-libOpenVG = %{version}-%{release}
-%description demos
-Demonstration programs for the Mesa libraries.
+%description libOpenVG-devel
+Header file for Mesa OpenVG library.
-%description demos -l pl
-Programy demonstracyjne dla bibliotek Mesa.
+%description libOpenVG-devel -l pl.UTF-8
+Plik nagłówkowy biblioteki Mesa OpenVG.
%package dri-driver-ati-mach64
-Summary: X.org DRI drivers
-Summary(pl): 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-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
-Sterowniki X.org DRI dla rodziny kart ATI mach64.
+%description dri-driver-ati-mach64 -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart ATI Mach64.
%package dri-driver-ati-radeon-R100
-Summary: X.org DRI drivers
-Summary(pl): 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-xserver-server
+Requires: xorg-driver-video-ati
+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
-Sterowniki X.org DRI dla rodziny kart ATI R100 (Radeon 7000-7500).
+%description dri-driver-ati-radeon-R100 -l pl.UTF-8
+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): 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-xserver-server
+Requires: xorg-driver-video-ati
+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
-Sterowniki X.org DRI dla rodziny kart ATI R200 (Radeon 8500-92xx).
+%description dri-driver-ati-radeon-R200 -l pl.UTF-8
+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): 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-xserver-server
+Requires: xorg-driver-video-ati
+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
+Sterownik X.org DRI dla rodziny kart ATI R300.
+
+%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) = %{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-R300 -l pl
-Sterowniki X.org DRI dla rodziny kart ATI R300.
+%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 drivers
-Summary(pl): Sterowniki DRI dla X.org
+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-xserver-server
+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
-Sterowniki X.org DRI dla rodziny kart ATI rage128.
+%description dri-driver-ati-rage128 -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart ATI Rage128.
%package dri-driver-ffb
-Summary: X.org DRI drivers
-Summary(pl): 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-xserver-server
+Requires: xorg-driver-video-sunffb
+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
-Sterowniki X.org DRI dla rodziny kart SUN Creator3D and Elite3D.
+%description dri-driver-ffb -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart SUN Creator3D i Elite3D.
%package dri-driver-glint
-Summary: X.org DRI drivers
-Summary(pl): 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-xserver-server
+Requires: xorg-driver-video-glint
+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
-Sterowniki X.org DRI dla rodziny kart GLINT/Permedia.
+%description dri-driver-glint -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart GLINT/Permedia.
%package dri-driver-intel-i810
-Summary: X.org DRI drivers
-Summary(pl): 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-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
-Sterowniki X.org DRI dla rodziny kart i810.
+%description dri-driver-intel-i810 -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart Intel i810.
-%package dri-driver-intel-i830
-Summary: X.org DRI drivers
-Summary(pl): Sterowniki DRI dla X.org
+%package dri-driver-intel-i915
+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-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-i830
-X.org DRI drivers for Intel i830 card family.
+%description dri-driver-intel-i915
+X.org DRI driver for Intel i915 card family.
-%description dri-driver-intel-i830 -l pl
-Sterowniki X.org DRI dla rodziny kart i830.
+%description dri-driver-intel-i915 -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart Intel i915.
-%package dri-driver-intel-i915
-Summary: X.org DRI drivers
-Summary(pl): Sterowniki DRI dla X.org
+%package dri-driver-intel-i965
+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-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.
+%description dri-driver-intel-i965
+X.org DRI driver for Intel i965 card family.
-%description dri-driver-intel-i915 -l pl
-Sterowniki X.org DRI dla rodziny kart i915.
+%description dri-driver-intel-i965 -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart Intel i965.
%package dri-driver-matrox
-Summary: X.org DRI drivers
-Summary(pl): 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-xserver-server
+Requires: xorg-driver-video-mga
+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
X.org DRI drivers for Matrox G card family.
-%description dri-driver-matrox -l pl
+%description dri-driver-matrox -l pl.UTF-8
Sterowniki X.org DRI dla rodziny kart Matrox G.
-%package dri-driver-s3virge
-Summary: X.org DRI drivers
-Summary(pl): Sterowniki DRI dla X.org
+%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-xserver-server
+Requires: xorg-driver-video-nouveau
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
-%description dri-driver-s3virge
-X.org DRI drivers for S3 Virge card family.
+%description dri-driver-nouveau
+X.org DRI drivers for NVIDIA card family.
-%description dri-driver-s3virge -l pl
-Sterowniki X.org DRI dla rodziny kart S3 Virge.
+%description dri-driver-nouveau -l pl.UTF-8
+Sterowniki X.org DRI dla rodziny kart NVIDIA.
%package dri-driver-savage
-Summary: X.org DRI drivers
-Summary(pl): 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-xserver-server
+Requires: xorg-driver-video-savage
+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
-Sterowniki X.org DRI dla rodziny kart S3 Savage.
+%description dri-driver-savage -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart S3 Savage.
%package dri-driver-sis
-Summary: X.org DRI drivers
-Summary(pl): 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-xserver-server
+Requires: xorg-driver-video-sis
+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
-Sterowniki X.org DRI dla rodziny kart SiS.
+%description dri-driver-sis -l pl.UTF-8
+Sterownik X.org DRI dla rodziny kart SiS.
+
+%package dri-driver-swrast
+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
+Requires: xorg-xserver-libglx(glapi) = %{glapi_ver}
+Requires: xorg-xserver-server >= %{xserver_ver}
+
+%description dri-driver-swrast
+X.org DRI software rasterizer driver.
+
+%description dri-driver-swrast -l pl.UTF-8
+Sterownik X.org DRI obsługujący rysowanie programowe.
%package dri-driver-tdfx
-Summary: X.org DRI drivers
-Summary(pl): 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: xorg-xserver-server
+Requires: Glide3-DRI
+Requires: xorg-driver-video-tdfx
+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
-Sterowniki X.org DRI dla rodziny kart 3DFX Voodoo. (Voodoo 3,4,5,
-Banshee and Velocity 100/200).
+%description dri-driver-tdfx -l pl.UTF-8
+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): 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-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
-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): 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-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
-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 -n Mesa-%{snap}
-#setup -q -n Mesa-%{version} -b 1
-%patch0 -p1
+# llvm build broken
+%define filterout_ld -Wl,--as-needed
-# fix dri path
-sed -i -e 's#/usr/lib/xorg/modules/dri#%{_libdir}/xorg/modules/dri#g' src/glx/x11/dri_glx.c
+%prep
+%setup -q
+%patch0 -p0
+#%patch1 -p1
+%patch2 -p1
-# fix demos
-find progs -type f|xargs sed -i -e "s,\.\./images/,%{_examplesdir}/%{name}-%{version}/images/,g"
+%build
+%{__aclocal}
+%{__autoconf}
-%ifnarch sparc sparcv9 sparc64
-# for sunffb driver - useful on sparc only
-sed -i -e 's/ ffb$//' configs/linux-dri
+dri_drivers="i810 mach64 mga r128 r200 radeon \
+%if %{without gallium_radeon}
+r300 r600 \
+%endif
+savage \
+%if %{without gallium_intel}
+i915 i965 \
%endif
+%ifarch sparc sparcv9 sparc64
+ffb \
+%endif
+%ifarch %{ix86} %{x8664}
+sis \
+%endif
+swrast tdfx unichrome"
+
+dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',')
-%ifnarch %{ix86} %{x8664}
-# sis needs write-memory barrier
-sed -i -e 's/ sis / /' configs/linux-dri
+gallium_drivers="svga swrast \
+%if %{with gallium_intel}
+i915 \
+i965 \
+%endif
+%if %{with gallium_radeon}
+r300 \
+r600 \
+%endif
+%if %{with gallium_nouveau}
+nouveau \
+%endif
+"
+
+gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
+
+common_flags="\
+ --enable-glx-tls \
+ --enable-pic \
+ --enable-selinux \
+ %{?with_static_libs:--enable-static} \
+ --disable-glut \
+"
+
+osmesa_common_flags="\
+ --with-driver=osmesa \
+ --disable-asm \
+ --disable-egl \
+ --disable-glu"
+
+%if %{with osmesa}
+%configure $common_flags $osmesa_common_flags \
+ --with-osmesa-bits=8
+%{__make}
+%{__make} -C src/mesa osmesa.pc
+mv %{_lib} osmesa8
+cp -p src/mesa/osmesa.pc osmesa8
+%{__make} clean
%endif
-%build
-%ifarch %{ix86}
-targ=-x86
+%configure $common_flags \
+%if %{with egl}
+ --enable-egl \
+ --enable-gles1 \
+ --enable-gles2 \
+%endif
+%if %{with gallium}
+ --enable-openvg \
+ --enable-gallium-egl \
+ --with-gallium-drivers=${gallium_drivers} \
%else
-targ=""
-%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} clean
+ --disable-gallium \
+%endif
+ --with-driver=dri \
+ --with-dri-drivers=${dri_drivers} \
+ --with-dri-driverdir=%{_libdir}/xorg/modules/dri
-%{__make} linux-dri${targ} \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- MKDEP=makedepend \
- OPT_FLAGS="%{rpmcflags} -fno-strict-aliasing" \
- XLIB_DIR=%{_libdir} \
- 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_DIR) -lGL"
-
-%{__make} -C progs/xdemos \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- OPT_FLAGS="%{rpmcflags}" \
- XLIB_DIR=%{_libdir} \
- PROGS="glxinfo" \
- APP_LIB_DEPS="-L\$(LIB_DIR) -lGL -L../../lib-dri -lGLU"
-
-mv -f lib lib-dri
-%{__make} clean \
- MKDEP=makedepend
-
-%{__make} linux${targ} \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- OPT_FLAGS="%{rpmcflags} -fno-strict-aliasing" \
- XLIB_DIR=%{_libdir} \
- SRC_DIRS="mesa" \
- PROGRAM_DIRS=
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/GL,%{_examplesdir}/%{name}-%{version}}
-install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri
-
-cp -df lib-static/lib* $RPM_BUILD_ROOT%{_libdir}
-cp -df lib-dri/lib* $RPM_BUILD_ROOT%{_libdir}
-cp -df lib/libOSMesa* $RPM_BUILD_ROOT%{_libdir}
-cp -rf include/GL/{gl[!u]*,glu.h,glu_*,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
-
-# keep for -bi --short-circuit
-cp -a progs progs.org
-install progs/xdemos/{glxgears,glxinfo} $RPM_BUILD_ROOT%{_bindir}
-for l in demos redbook samples xdemos ; do
- %{__make} -C progs/$l clean
-done
-for l in demos redbook samples util xdemos images ; do
- cp -Rf progs/$l $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$l
-done
-rm -rf progs && mv -f progs.org progs
-rm -rf $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/*/{.deps,CVS,Makefile.{BeOS*,win,cygnus,DJ,dja}}
+
+# libs without drivers
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%if %{with osmesa}
+cp -p osmesa8/libOSMesa* $RPM_BUILD_ROOT%{_libdir}
+cp -p osmesa8/osmesa.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
+%endif
+
+# strip out undesirable headers
+%{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/{glfbdev,mesa_wgl,vms_x_fix,wglext,wmesa}.h
+
+%if %{with gallium}
+# use gallium swrastg as swrast
+mv $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri/swrastg_dri.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri/swrast_dri.so
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
+%post libEGL -p /sbin/ldconfig
+%postun libEGL -p /sbin/ldconfig
+
%post libGL -p /sbin/ldconfig
%postun libGL -p /sbin/ldconfig
+%post libGLES -p /sbin/ldconfig
+%postun libGLES -p /sbin/ldconfig
+
%post libGLU -p /sbin/ldconfig
%postun libGLU -p /sbin/ldconfig
%post libGLw -p /sbin/ldconfig
%postun libGLw -p /sbin/ldconfig
+%post libOSMesa -p /sbin/ldconfig
+%postun libOSMesa -p /sbin/ldconfig
+
+%post libOpenVG -p /sbin/ldconfig
+%postun libOpenVG -p /sbin/ldconfig
+
+%if %{with egl}
+%files libEGL
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libEGL.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libEGL.so.1
+%attr(755,root,root) %{_libdir}/libglapi.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libglapi.so.0
+%if %{with gallium}
+%dir %{_libdir}/egl
+%attr(755,root,root) %{_libdir}/egl/egl_gallium.so
+%attr(755,root,root) %{_libdir}/egl/st_GL.so
+%if %{with gallium_intel}
+%attr(755,root,root) %{_libdir}/egl/pipe_i915.so
+%attr(755,root,root) %{_libdir}/egl/pipe_i965.so
+%endif
+%endif
+
+%files libEGL-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libEGL.so
+%attr(755,root,root) %{_libdir}/libglapi.so
+%dir %{_includedir}/EGL
+%{_includedir}/EGL/egl.h
+%{_includedir}/EGL/eglext.h
+%{_includedir}/EGL/eglplatform.h
+%dir %{_includedir}/KHR
+%{_includedir}/KHR/khrplatform.h
+%{_pkgconfigdir}/egl.pc
+
+%if %{with static_libs}
+%files libEGL-static
+%defattr(644,root,root,755)
+%{_libdir}/libEGL.a
+%endif
+%endif
+
%files libGL
%defattr(644,root,root,755)
-%doc docs/{*.html,README.{3DFX,GGI,MITS,QUAKE,THREADS},RELNOTES*,VERSIONS}
+%doc docs/{*.html,README.{3DFX,GGI,MITS,QUAKE,THREADS},RELNOTES*}
%attr(755,root,root) %{_libdir}/libGL.so.*.*
-%attr(755,root,root) %{_libdir}/libOSMesa.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libGL.so.1
# symlink for binary apps which fail to conform Linux OpenGL ABI
-# (and dlopen libGL.so instead of libGL.so.1)
+# (and dlopen libGL.so instead of libGL.so.1; the same does Mesa libEGL)
%attr(755,root,root) %{_libdir}/libGL.so
%files libGL-devel
%defattr(644,root,root,755)
%doc docs/*.spec
-%attr(755,root,root) %{_libdir}/libOSMesa.so
%dir %{_includedir}/GL
%{_includedir}/GL/gl.h
%{_includedir}/GL/glext.h
-%{_includedir}/GL/glfbdev.h
%{_includedir}/GL/gl_mangle.h
%{_includedir}/GL/glx.h
%{_includedir}/GL/glxext.h
%{_includedir}/GL/glx_mangle.h
-%{_includedir}/GL/osmesa.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
+%{_pkgconfigdir}/dri.pc
+%{_pkgconfigdir}/gl.pc
+%if %{with static_libs}
%files libGL-static
%defattr(644,root,root,755)
%{_libdir}/libGL.a
-%{_libdir}/libOSMesa.a
+%endif
+
+%files libGLES
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libGLESv1_CM.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libGLESv1_CM.so.1
+%attr(755,root,root) %{_libdir}/libGLESv2.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libGLESv2.so.2
+
+%files libGLES-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libGLESv1_CM.so
+%attr(755,root,root) %{_libdir}/libGLESv2.so
+%{_includedir}/GLES
+%{_includedir}/GLES2
+%{_pkgconfigdir}/glesv1_cm.pc
+%{_pkgconfigdir}/glesv2.pc
%files libGLU
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libGLU.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libGLU.so.1
%files libGLU-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libGLU.so
%{_includedir}/GL/glu.h
%{_includedir}/GL/glu_mangle.h
+%{_pkgconfigdir}/glu.pc
+%if %{with static_libs}
%files libGLU-static
%defattr(644,root,root,755)
%{_libdir}/libGLU.a
+%endif
%files libGLw
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libGLw.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libGLw.so.1
%files libGLw-devel
%defattr(644,root,root,755)
%{_includedir}/GL/GLwDrawAP.h
%{_includedir}/GL/GLwMDrawA.h
%{_includedir}/GL/GLwMDrawAP.h
+%{_pkgconfigdir}/glw.pc
+%if %{with static_libs}
%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.7
+
+%files libOSMesa-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOSMesa.so
+%{_includedir}/GL/osmesa.h
+%{_pkgconfigdir}/osmesa.pc
-%files utils
+%if %{with static_libs}
+%files libOSMesa-static
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/glxgears
-%attr(755,root,root) %{_bindir}/glxinfo
+%{_libdir}/libOSMesa.a
+%endif
+%endif
+
+%if %{with gallium}
+%files libOpenVG
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOpenVG.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libOpenVG.so.1
+
+%files libOpenVG-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOpenVG.so
+%{_includedir}/VG
+%{_pkgconfigdir}/vg.pc
+%endif
%files dri-driver-ati-mach64
%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/i810_dri.so
-%if 0
-%files dri-driver-intel-i830
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/xorg/modules/dri/i830_dri.so
-%endif
-
%files dri-driver-intel-i915
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/i915_dri.so
+%files dri-driver-intel-i965
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/i965_dri.so
+%if %{with gallium_intel}
+%attr(755,root,root) %{_libdir}/xorg/modules/drivers/i965g_drv.so
+%endif
+
%files dri-driver-matrox
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/mga_dri.so
-%files dri-driver-s3virge
+%if %{with gallium_nouveau}
+%files dri-driver-nouveau
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/xorg/modules/dri/s3v_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/nouveau_dri.so
+%endif
%files dri-driver-savage
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/sis_dri.so
%endif
-%files dri-driver-tdfx
+%files dri-driver-swrast
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/xorg/modules/dri/tdfx_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/swrast_dri.so
-%files dri-driver-trident
+%files dri-driver-tdfx
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/xorg/modules/dri/trident_dri.so
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/tdfx_dri.so
%files dri-driver-via-unichrome
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/dri/unichrome_dri.so
-%files demos
+%if %{with gallium}
+%files dri-driver-vmwgfx
%defattr(644,root,root,755)
-%{_examplesdir}/%{name}-%{version}
+%attr(755,root,root) %{_libdir}/xorg/modules/dri/vmwgfx_dri.so
+%endif