]> git.pld-linux.org Git - packages/Mesa.git/blobdiff - Mesa.spec
- dropped multigl bcond
[packages/Mesa.git] / Mesa.spec
index f8ebe854d05487f5d361e4b5cf0f150c09e558ca..3bfe363a0c0100213bc8aad8b5157527d92f1559 100644 (file)
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -1,15 +1,20 @@
 #
 # 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?
 # - resurrect static if it's useful
 #
 # Conditional build:
-%bcond_without demos   # don't build demos
+%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 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
+%bcond_without osmesa  # don't build osmesa
+%bcond_with    static_libs     # static libraries
 #
 # minimal supported xserver version
 %define                xserver_ver     1.5.0
 # (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.UTF-8):     Wolnodostępna implementacja standardu OpenGL
 Name:          Mesa
-Version:       7.5
-Release:       8%{?with_multigl:.mgl}
+Version:       7.11.2
+Release:       %{rel}
 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: 459f332551f6ebb86f384d21dd15e1f0
-Source1:       http://dl.sourceforge.net/mesa3d/%{name}Demos-%{version}.tar.bz2
-# Source1-md5: 398ee8801814a00e47f6c2314e3dfddc
-Source2:       http://www.archlinux.org/~jgc/gl-manpages-1.0.1.tar.bz2
-# Source2-md5: 6ae05158e678f4594343f32c2ca50515
+Source0:       ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar.bz2
+# Source0-md5: 0837c52698fe3252369c3fdb5195afcc
 Patch0:                %{name}-realclean.patch
-Patch1:                %{name}-noveau-abi-0.0.15.patch
-Patch2:                %{name}-sparc64.patch
-Patch3:                %{name}-git.patch
+Patch1:                %{name}-git.patch
+Patch2:                %{name}-selinux.patch
 URL:           http://www.mesa3d.org/
+BuildRequires: autoconf >= 2.59
+BuildRequires: automake
 BuildRequires: expat-devel
-%{?with_demos:BuildRequires:   glew-devel}
-BuildRequires: libdrm-devel >= 2.4.12-3
+BuildRequires: gcc >= 5:3.3
+BuildRequires: libdrm-devel >= %{libdrm_ver}
 BuildRequires: libselinux-devel
-BuildRequires: libstdc++-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-dri2proto-devel >= 1.99.3
-BuildRequires: xorg-proto-glproto-devel
-BuildRequires: xorg-proto-printproto-devel
+BuildRequires: xorg-proto-dri2proto-devel >= %{dri2proto_ver}
+BuildRequires: xorg-proto-glproto-devel >= %{glproto_ver}
 BuildRequires: xorg-util-makedepend
+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)
 
 %if %{without gallium}
 %undefine      with_gallium_intel
+%undefine      with_gallium_nouveau
+%undefine      with_gallium_radeon
 %endif
 
+# _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
 that of OpenGL(R). To the extent that Mesa utilizes the OpenGL command
@@ -74,14 +104,75 @@ 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.UTF-8):     Wolnodostępna implementacja Mesa3D biblioteki libGL ze standardu OpenGL
 License:       MIT
 Group:         X11/Libraries
-Requires:      libdrm >= 2.4.5
+Requires:      libdrm >= %{libdrm_ver}
 Provides:      OpenGL = 2.1
-# reports version 1.3, but supports glXGetProcAddress() from 1.4
 Provides:      OpenGL-GLX = 1.4
 Obsoletes:     Mesa
 Obsoletes:     Mesa-dri
@@ -116,7 +207,14 @@ 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
+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
@@ -149,6 +247,42 @@ Static Mesa3D libGL library. It uses software renderer.
 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.UTF-8):     Implementacja SGI biblioteki libGLU ze standardu OpenGL
@@ -211,7 +345,7 @@ Provides:   OpenGL-GLw
 %description libGLw
 SGI OpenGL Xt widgets library.
 
-%description libGLU -l pl.UTF-8
+%description libGLw -l pl.UTF-8
 Biblioteka SGI widgetów Xt dla OpenGL-a.
 
 %package libGLw-devel
@@ -221,6 +355,8 @@ 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
@@ -264,6 +400,7 @@ 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.
@@ -286,31 +423,42 @@ Static OSMesa (off-screen renderer) library.
 %description libOSMesa-static -l pl.UTF-8
 Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci).
 
-%package utils
-Summary:       OpenGL utilities from Mesa3D
-Summary(pl.UTF-8):     Programy narzędziowe OpenGL z projektu Mesa3D
+%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:         X11/Applications/Graphics
-# loose deps on libGL/libGLU
-
-%description utils
-OpenGL utilities from Mesa3D: glxgears and glxinfo.
-
-%description utils -l pl.UTF-8
-Programy narzędziowe OpenGL z projektu Mesa3D: glxgears i glxinfo.
+Group:         Libraries
+# doesn't require base
 
-%package demos
-Summary:       Mesa Demos source code
-Summary(pl.UTF-8):     Kod źródłowy programów demonstrujących dla bibliotek Mesa
-License:       various (MIT, SGI, GPL - see copyright notes in sources)
+%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
-Requires:      OpenGL-devel
+# 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 in source code form.
+%description libOpenVG-devel
+Header file for Mesa OpenVG library.
 
-%description demos -l pl.UTF-8
-Kod źródłowy programów demonstracyjnych 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 driver for ATI Mach64 card family
@@ -375,6 +523,22 @@ 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-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
@@ -503,21 +667,6 @@ 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
-License:       MIT
-Group:         X11/Libraries
-Requires:      xorg-driver-video-s3virge
-Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
-Requires:      xorg-xserver-server >= %{xserver_ver}
-
-%description dri-driver-s3virge
-X.org DRI driver for S3 Virge card family.
-
-%description dri-driver-s3virge -l pl.UTF-8
-Sterownik X.org DRI dla rodziny kart S3 Virge.
-
 %package dri-driver-savage
 Summary:       X.org DRI driver for S3 Savage card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart S3 Savage
@@ -582,21 +731,6 @@ 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 driver for Trident card family
-Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart Trident
-License:       MIT
-Group:         X11/Libraries
-Requires:      xorg-driver-video-trident
-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-trident -l pl.UTF-8
-Sterowniki X.org DRI dla rodziny kart Trident.
-
 %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
@@ -612,22 +746,40 @@ X.org DRI driver for VIA Unichrome card family.
 %description dri-driver-via-unichrome -l pl.UTF-8
 Sterownik X.org DRI dla rodziny kart VIA Unichrome.
 
+%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-libglx(glapi) = %{glapi_ver}
+Requires:      xorg-xserver-server >= %{xserver_ver}
+
+%description dri-driver-vmwgfx
+X.org DRI driver for VMWare.
+
+%description dri-driver-vmwgfx -l pl.UTF-8
+Sterownik X.org DRI dla VMware.
+
+# llvm build broken
+%define                filterout_ld    -Wl,--as-needed
+
 %prep
-%setup -q -b1 -a2
+%setup -q
 %patch0 -p0
-%patch1 -p1
+#%patch1 -p1
 %patch2 -p1
-%patch3 -p1
-
-# fix demos
-find progs -type f|xargs sed -i -e "s,\.\./images/,%{_examplesdir}/%{name}-%{version}/images/,g"
 
 %build
-[ ! -f configure ] && ./autogen.sh
+%{__aclocal}
+%{__autoconf}
 
-dri_drivers="i810 i965 mach64 mga r128 r200 r300 radeon savage s3v trident \
+dri_drivers="i810 mach64 mga r128 r200 radeon \
+%if %{without gallium_radeon}
+r300 r600 \
+%endif
+savage \
 %if %{without gallium_intel}
-i915 \
+i915 i965 \
 %endif
 %ifarch sparc sparcv9 sparc64
 ffb \
@@ -639,51 +791,56 @@ swrast tdfx unichrome"
 
 dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',')
 
+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-shared \
-       --enable-selinux \
-       --enable-pic \
        --enable-glx-tls \
-       --disable-egl \
-       --with%{!?with_demos:out}-demos"
+       --enable-pic \
+       --enable-selinux \
+       %{?with_static_libs:--enable-static} \
+       --disable-glut \
+"
 
-# osmesa variants
-%configure $common_flags \
+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} \
-       SRC_DIRS=mesa
+%{__make}
+%{__make} -C src/mesa osmesa.pc
 mv %{_lib} osmesa8
+cp -p src/mesa/osmesa.pc osmesa8
 %{__make} clean
+%endif
 
 %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
-
-%configure $common_flags \
-       --enable-glu \
-       --enable-glw \
-       --disable-glut \
+%if %{with egl}
+       --enable-egl \
+       --enable-gles1 \
+       --enable-gles2 \
+%endif
 %if %{with gallium}
-       --enable-gallium \
-       --%{?with_gallium_intel:en}%{!?with_gallium_intel:dis}able-gallium-intel \
-       --enable-gallium-nouveau \
-       --with-state-trackers=dri \
+       --enable-openvg \
+       --enable-gallium-egl \
+       --with-gallium-drivers=${gallium_drivers} \
 %else
        --disable-gallium \
 %endif
@@ -692,96 +849,99 @@ mv %{_lib} osmesa32
        --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
-%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_examplesdir}/%{name}-%{version}}
-
 # libs without drivers
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-cd gl-manpages-*
-%{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
-cd ..
-
-install osmesa*/* $RPM_BUILD_ROOT%{_libdir}
-
-install progs/xdemos/{glxgears,glxinfo} $RPM_BUILD_ROOT%{_bindir}
-# work on copy to keep -bi --short-circuit working
-rm -rf progs-clean
-install -d progs-clean
-for l in demos glsl osdemos redbook samples xdemos ; do
-       cp -a progs/$l progs-clean/$l
-       %{__make} -C progs-clean/$l clean
-       cp -Rf progs-clean/$l $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$l
-done
-rm -rf progs-clean
-for l in util images ; do
-       cp -Rf progs/$l $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$l
-done
-rm -rf $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/*/{.deps,CVS,Makefile.{BeOS*,win,cygnus,DJ,dja}}
+%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
-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
+%{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/{glfbdev,mesa_wgl,vms_x_fix,wglext,wmesa}.h
 
-%if %{with multigl}
-install -d $RPM_BUILD_ROOT{%{_libdir}/Mesa,%{_sysconfdir}/ld.so.conf.d}
-
-mv -f $RPM_BUILD_ROOT%{_libdir}/libGL.so.* $RPM_BUILD_ROOT%{_libdir}/Mesa
-ln -sf Mesa/libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
-
-echo %{_libdir}/Mesa >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/Mesa.conf
+%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*}
-%if %{with multigl}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/Mesa.conf
-%dir %{_libdir}/Mesa
-%attr(755,root,root) %{_libdir}/Mesa/libGL.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/Mesa/libGL.so.1
-%else
 %attr(755,root,root) %{_libdir}/libGL.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
-%endif
 
 %files libGL-devel
 %defattr(644,root,root,755)
 %doc docs/*.spec
-%if %{with multigl}
-%attr(755,root,root) %{_libdir}/libGL.so
-%endif
 %dir %{_includedir}/GL
 %{_includedir}/GL/gl.h
 %{_includedir}/GL/glext.h
@@ -793,15 +953,29 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/GL/internal/dri_interface.h
 %{_pkgconfigdir}/dri.pc
 %{_pkgconfigdir}/gl.pc
-%{_mandir}/man3/gl[^uX]*.3gl*
-%{_mandir}/man3/glX*.3gl*
 
-%if %{with static}
+%if %{with static_libs}
 %files libGL-static
 %defattr(644,root,root,755)
 %{_libdir}/libGL.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.*.*
@@ -813,9 +987,8 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/GL/glu.h
 %{_includedir}/GL/glu_mangle.h
 %{_pkgconfigdir}/glu.pc
-%{_mandir}/man3/glu*.3gl*
 
-%if %{with static}
+%if %{with static_libs}
 %files libGLU-static
 %defattr(644,root,root,755)
 %{_libdir}/libGLU.a
@@ -835,32 +1008,43 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/GL/GLwMDrawAP.h
 %{_pkgconfigdir}/glw.pc
 
-%if %{with static}
+%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.[0-9]
+%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
+%attr(755,root,root) %{_libdir}/libOSMesa.so
 %{_includedir}/GL/osmesa.h
+%{_pkgconfigdir}/osmesa.pc
 
-%if %{with static}
+%if %{with static_libs}
 %files libOSMesa-static
 %defattr(644,root,root,755)
-%{_libdir}/libOSMesa*.a
+%{_libdir}/libOSMesa.a
+%endif
 %endif
 
-%files utils
+%if %{with gallium}
+%files libOpenVG
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/glxgears
-%attr(755,root,root) %{_bindir}/glxinfo
+%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)
@@ -878,6 +1062,10 @@ rm -rf $RPM_BUILD_ROOT
 %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
@@ -907,22 +1095,20 @@ rm -rf $RPM_BUILD_ROOT
 %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
 
-%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
-%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
-
 %files dri-driver-savage
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/savage_dri.so
@@ -941,16 +1127,12 @@ rm -rf $RPM_BUILD_ROOT
 %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 demos}
-%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
This page took 0.112805 seconds and 4 git commands to generate.