mirror of
https://abf.rosa.ru/djam/mesa.git
synced 2025-02-24 23:22:58 +00:00
739 lines
21 KiB
RPMSpec
739 lines
21 KiB
RPMSpec
%define bootstrap 0
|
|
%{?_without_bootstrap: %global bootstrap 0}
|
|
%{?_with_bootstrap: %global bootstrap 1}
|
|
|
|
# (cg) Cheater...
|
|
%define Werror_cflags %nil
|
|
|
|
# (aco) Needed for the dri drivers
|
|
%define _disable_ld_no_undefined 1
|
|
|
|
|
|
%define git 20120907
|
|
%define git_branch 9.0
|
|
%define with_hardware 1
|
|
|
|
%define opengl_ver 3.0
|
|
|
|
%define relc 0
|
|
%define name mesa
|
|
%define version 9.0.0
|
|
%define rel 4
|
|
|
|
%define release %mkrel %{rel}
|
|
%define src_type tar.bz2
|
|
#define vsuffix %{expand:}
|
|
%define vsuffix %nil
|
|
|
|
%if %{relc}
|
|
%define release %mkrel 0.rc%{relc}.%{rel}
|
|
%define vsuffix -rc%{relc}
|
|
%define src_type tar.bz2
|
|
%endif
|
|
|
|
%if %{git}
|
|
%if %{relc}
|
|
%define release %mkrel 0.rc%{relc}.1.git%{git}.%{rel}
|
|
%else
|
|
%define release %mkrel 0.git%{git}.%{rel}
|
|
%endif
|
|
%endif
|
|
|
|
%define makedepend %{_bindir}/gccmakedep
|
|
|
|
%define dricorename dricore
|
|
%define eglname egl
|
|
%define glname gl
|
|
%define glwname glw
|
|
%define glesv1name glesv1
|
|
%define glesv2name glesv2
|
|
%define openvgname openvg
|
|
%define glapiname glapi
|
|
%define gbmname gbm
|
|
%define waylandeglname wayland-egl
|
|
|
|
%define dricoremajor 1
|
|
%define eglmajor 1
|
|
%define glmajor 1
|
|
%define glwmajor 1
|
|
%define glesv1major 1
|
|
%define glesv2major 2
|
|
%define openvgmajor 1
|
|
%define glapimajor 0
|
|
%define gbmmajor 1
|
|
%define waylandeglmajor 1
|
|
%define osmesamajor 8
|
|
|
|
%define libdricorename %mklibname %{dricorename} %{dricoremajor}
|
|
%define libeglname %mklibname %{eglname} %{eglmajor}
|
|
%define libglname %mklibname %{glname} %{glmajor}
|
|
%define libglwname %mklibname %{glwname} %{glwmajor}
|
|
%define libglesv1name %mklibname %{glesv1name}_ %{glesv1major}
|
|
%define libglesv2name %mklibname %{glesv2name}_ %{glesv2major}
|
|
%define libopenvgname %mklibname %{openvgname} %{openvgmajor}
|
|
%define libglapiname %mklibname %{glapiname} %{glapimajor}
|
|
%define libgbmname %mklibname %{gbmname} %{gbmmajor}
|
|
%define libwaylandeglname %mklibname %{waylandeglname} %{waylandeglmajor}
|
|
%define libosmesaname %mklibname osmesa %{osmesamajor}
|
|
|
|
%define dridrivers %mklibname dri-drivers
|
|
|
|
%define osmesadevel %mklibname osmesa -d
|
|
|
|
# Architecture-independent Virtual provides:
|
|
%define libdricorename_virt lib%{dricorename}
|
|
%define libeglname_virt lib%{eglname}
|
|
%define libglname_virt lib%{glname}
|
|
%define libglwname_virt lib%{glwname}
|
|
%define libglesv1name_virt lib%{glesv1name}
|
|
%define libglesv2name_virt lib%{glesv2name}
|
|
%define libopenvgname_virt lib%{openvgname}
|
|
%define libglapiname_virt lib%{glapiname}
|
|
%define libgbmname_virt lib%{gbmname}
|
|
%define libwaylandeglname_virt lib%{waylandeglname}
|
|
|
|
%define oldlibglname %mklibname MesaGL 1
|
|
|
|
%define mesasrcdir %{_prefix}/src/Mesa/
|
|
%define driver_dir %{_libdir}/dri
|
|
|
|
%define enable_egl 1
|
|
%define enable_wayland 1
|
|
|
|
#FIXME: (for 386/485) unset SSE, MMX and 3dnow flags
|
|
#FIXME: (for >=i586) disable sse
|
|
# SSE seems to have problem on some apps (gtulpas) for probing.
|
|
%define dri_drivers_i386 "i915,i965,nouveau,r200,radeon,swrast"
|
|
%define dri_drivers_x86_64 %{dri_drivers_i386}
|
|
%define dri_drivers_ppc "r200,radeon,swrast"
|
|
%define dri_drivers_ppc64 ""
|
|
%define dri_drivers_ia64 "i915,i965,mga,r200,radeon,swrast"
|
|
%define dri_drivers_alpha "r200,radeon,swrast"
|
|
%define dri_drivers_sparc "ffb,radeon,swrast"
|
|
%define dri_drivers_mipsel "r200,radeon,swrast"
|
|
%define dri_drivers_arm "swrast"
|
|
%define dri_drivers %{expand:%{dri_drivers_%{_arch}}}
|
|
|
|
Name: %{name}
|
|
Version: %{version}
|
|
Release: %{release}
|
|
Summary: OpenGL %{opengl_ver} compatible 3D graphics library
|
|
Group: System/Libraries
|
|
|
|
BuildRequires: pkgconfig(xfixes) >= 4.0.3
|
|
BuildRequires: pkgconfig(xt) >= 1.0.5
|
|
BuildRequires: pkgconfig(xmu) >= 1.0.3
|
|
BuildRequires: pkgconfig(x11) >= 1.3.3
|
|
BuildRequires: pkgconfig(xdamage) >= 1.1.1
|
|
BuildRequires: libexpat-devel >= 2.0.1
|
|
BuildRequires: gccmakedep
|
|
BuildRequires: x11-proto-devel >= 7.3
|
|
BuildRequires: pkgconfig(libdrm) >= 2.4.21
|
|
|
|
BuildRequires: pkgconfig(xext) >= 1.1.1
|
|
BuildRequires: pkgconfig(xxf86vm) >= 1.1.0
|
|
BuildRequires: pkgconfig(xi) >= 1.3
|
|
BuildRequires: pkgconfig(talloc)
|
|
BuildRequires: libxml2-python
|
|
BuildRequires: makedepend
|
|
BuildRequires: bison flex
|
|
BuildRequires: llvm-devel >= 3.1
|
|
BuildRequires: pkgconfig(libudev)
|
|
BuildRequires: pkgconfig(vdpau)
|
|
%if %{enable_wayland}
|
|
BuildRequires: wayland-devel
|
|
%endif
|
|
|
|
URL: http://www.mesa3d.org
|
|
%if %{git}
|
|
# (blino) snapshot of 9.0 branch
|
|
Source0: %{name}-%{git_branch}-%{git}.tar.bz2
|
|
%else
|
|
Source0: ftp://ftp.freedesktop.org/pub/mesa/%version/MesaLib-%{version}%{vsuffix}.%{src_type}
|
|
%endif
|
|
Source3: make-git-snapshot.sh
|
|
|
|
# Instructions to setup your repository clone
|
|
# git://git.freedesktop.org/git/mesa/mesa
|
|
# git checkout mesa_7_5_branch
|
|
# git branch mdv-cherry-picks
|
|
# git am ../02??-*.patch
|
|
# git branch mdv-redhat
|
|
# git am ../03??-*.patch
|
|
# git branch mdv-patches
|
|
# git am ../09??-*.patch
|
|
Patch001: 0001-Fix-undefined-symbols-in-libOSMesa-and-libglapi.patch
|
|
|
|
# In order to update to the branch via patches, issue this command:
|
|
# git format-patch --start-number 100 mesa_7_5_1..mesa_7_5_branch | sed 's/^0\([0-9]\+\)-/Patch\1: 0\1-/'
|
|
|
|
# Cherry picks
|
|
# git format-patch --start-number 200 mesa_7_5_branch..mdv-cherry-picks
|
|
Patch201: 0201-revert-fix-glxinitializevisualconfigfromtags-handling.patch
|
|
# (blino) should be pushed to 9.0 branch upstream
|
|
Patch202: 0202-radeon-llvm-Cleanup-makefile.patch
|
|
Patch203: 0203-radeon-llvm-Remove-R600InstrInfo.td-from-TD_FILES.patch
|
|
|
|
# Patches "liberated" from Fedora:
|
|
# http://cvs.fedoraproject.org/viewvc/rpms/mesa/devel/
|
|
# git format-patch --start-number 300 mdv-cherry-picks..mdv-redhat
|
|
|
|
# Patches from ChromiumOS
|
|
# http://git.chromium.org/gitweb/?p=chromiumos/overlays/chromiumos-overlay.git;a=tree;f=media-libs/mesa/files;hb=HEAD
|
|
|
|
# Mageia/Mandriva patches
|
|
# git format-patch --start-number 900 mdv-redhat..mdv-patches
|
|
# (blino) llvmpipe test programs link fails when ld --as-needed option is used, reported as fdo #52167
|
|
Patch901: 0901-gallium-only-link-static-archives-between-ld-start-e.patch
|
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
# package mesa
|
|
License: MIT
|
|
Requires: %{libglname} = %{version}-%{release}
|
|
Provides: hackMesa = %{version}
|
|
Obsoletes: hackMesa <= %{version}
|
|
Provides: Mesa = %{version}
|
|
Obsoletes: Mesa < %{version}
|
|
|
|
%package -n %{libdricorename}
|
|
Summary: Shared library for DRI drivers
|
|
Group: System/Libraries
|
|
Provides: %{libdricorename_virt} = %{version}-%{release}
|
|
|
|
%package -n %{libdricorename}-devel
|
|
Summary: Development files for DRI core
|
|
Group: Development/C
|
|
Requires: %{libdricorename} = %{version}-%{release}
|
|
Provides: lib%{dricorename}-devel = %{version}-%{release}
|
|
Provides: %{dricorename}-devel = %{version}-%{release}
|
|
Obsoletes: %{_lib}mesagl1 < 9.0
|
|
|
|
%package -n %{libglname}
|
|
Summary: Files for Mesa (GL and GLX libs)
|
|
Group: System/Libraries
|
|
Obsoletes: %{oldlibglname} < 6.4
|
|
Provides: %{oldlibglname} = %{version}-%{release}
|
|
Provides: %{libglname_virt} = %{version}-%{release}
|
|
Requires: %{dridrivers} >= %{version}-%{release}
|
|
|
|
# (anssi) Forces the upgrade of x11-server-common to happen before
|
|
# alternatives removal, which allows x11-server-common to grab the symlink.
|
|
Conflicts: x11-server-common < 1.3.0.0-17
|
|
|
|
%package -n %{dridrivers}
|
|
Summary: Mesa DRI drivers
|
|
Group: System/Libraries
|
|
# do not require exact release to avoid conflicts when having
|
|
# x86_64 dri drivers from tainted and i586 dri drivers from core
|
|
Requires: mesa = %{version}
|
|
Conflicts: %{_lib}MesaGL1 < 7.7-5
|
|
Obsoletes: %{_lib}dri-drivers-experimental < 7.11.2-4
|
|
Provides: %{_lib}dri-drivers-experimental = %{version}-%{release}
|
|
|
|
%package -n %{libglname}-devel
|
|
Summary: Development files for Mesa (OpenGL compatible 3D lib)
|
|
Group: Development/C
|
|
Requires: %{libglname} = %{version}-%{release}
|
|
Provides: lib%{glname}-devel = %{version}-%{release}
|
|
Provides: %{glname}-devel = %{version}-%{release}
|
|
Provides: GL-devel
|
|
Obsoletes: %{oldlibglname}-devel < 6.4
|
|
Provides: %{oldlibglname}-devel = %{version}-%{release}
|
|
Provides: libMesaGL-devel = %{version}-%{release}
|
|
Provides: MesaGL-devel = %{version}-%{release}
|
|
Provides: libgl-devel
|
|
Obsoletes: %{_lib}mesagl1-devel < 9.0
|
|
|
|
%if %{enable_egl}
|
|
%package -n %{libeglname}
|
|
Summary: Files for Mesa (EGL libs)
|
|
Group: System/Libraries
|
|
Provides: %{libeglname_virt} = %{version}-%{release}
|
|
Obsoletes: %{_lib}mesaegl1 < 9.0
|
|
|
|
%package -n %{libeglname}-devel
|
|
Summary: Development files for Mesa (EGL libs)
|
|
Group: Development/C
|
|
Requires: %{libeglname} = %{version}-%{release}
|
|
Provides: EGL-devel
|
|
Provides: lib%{eglname}-devel
|
|
Provides: %{eglname}-devel
|
|
Provides: libegl-devel
|
|
Obsoletes: %{_lib}mesaegl1-devel < 9.0
|
|
%endif
|
|
|
|
%package -n %{libosmesaname}
|
|
Summary: Mesa offscreen rendering library
|
|
Group: System/Libraries
|
|
|
|
%package -n %{osmesadevel}
|
|
Summary: Development files for libosmesa
|
|
Group: Development/C
|
|
Requires: %{libosmesaname} = %{version}-%{release}
|
|
Provides: osmesa-devel = %{version}-%{release}
|
|
Conflicts: MesaGL-devel < 8.1.0-0.git20120727.3
|
|
|
|
%package -n %{libglapiname}
|
|
Summary: Files for mesa (glapi libs)
|
|
Group: System/Libraries
|
|
Provides: %{libglapiname_virt} = %{version}-%{release}
|
|
|
|
%package -n %{libglapiname}-devel
|
|
Summary: Development files for glapi libs
|
|
Group: Development/C
|
|
Requires: %{libglapiname_virt} = %{version}-%{release}
|
|
Provides: lib%{glapiname}-devel
|
|
Provides: %{libglapiname}-devel
|
|
|
|
%package -n %{libglesv1name}
|
|
Summary: Files for Mesa (glesv1 libs)
|
|
Group: System/Libraries
|
|
Provides: %{libglesv1name_virt} = %{version}-%{release}
|
|
Obsoletes: %{_lib}mesaglesv1_1 < 9.0
|
|
|
|
%package -n %{libglesv1name}-devel
|
|
Summary: Development files for glesv1 libs
|
|
Group: Development/C
|
|
Requires: %{libglesv1name} = %{version}-%{release}
|
|
Provides: lib%{glesv1name}-devel
|
|
Provides: %{glesv1name}-devel
|
|
Provides: libglesv1-devel
|
|
Obsoletes: %{_lib}mesaglesv1_1-devel < 9.0
|
|
|
|
%package -n %{libglesv2name}
|
|
Summary: Files for Mesa (glesv2 libs)
|
|
Group: System/Libraries
|
|
Provides: %{libglesv2name_virt} = %{version}-%{release}
|
|
Obsoletes: %{_lib}mesaglesv2_2 < 9.0
|
|
|
|
%package -n %{libglesv2name}-devel
|
|
Summary: Development files for glesv2 libs
|
|
Group: Development/C
|
|
Requires: %{libglesv2name} = %{version}-%{release}
|
|
Requires: %{libeglname}-devel = %{version}-%{release}
|
|
Provides: lib%{glesv2name}-devel
|
|
Provides: %{glesv2name}-devel
|
|
Provides: libglesv2-devel
|
|
Obsoletes: %{_lib}mesaglesv2_2-devel < 9.0
|
|
|
|
%package -n %{libopenvgname}
|
|
Summary: Files for MESA (OpenVG libs)
|
|
Group: System/Libraries
|
|
Provides: %{libopenvgname_virt} = %{version}-%{release}
|
|
Obsoletes: %{_lib}mesaopenvg1 < 9.0
|
|
|
|
%package -n %{libopenvgname}-devel
|
|
Summary: Development files vor OpenVG libs
|
|
Group: Development/C
|
|
Requires: %{libopenvgname} = %{version}-%{release}
|
|
Provides: lib%{openvgname}-devel
|
|
Provides: %{openvgname}-devel
|
|
Provides: libopenvg-devel
|
|
Obsoletes: %{_lib}mesaopenvg1-devel < 9.0
|
|
|
|
%if %{enable_wayland}
|
|
%package -n %{libgbmname}
|
|
Summary: Files for Mesa (gbm libs)
|
|
Group: System/Libraries
|
|
Provides: %{libgbmname_virt} = %{version}-%{release}
|
|
|
|
%package -n %{libgbmname}-devel
|
|
Summary: Development files for Mesa (gbm libs)
|
|
Group: Development/C
|
|
Requires: %{libgbmname} = %{version}-%{release}
|
|
Provides: lib%{gbmname}-devel
|
|
Provides: %{gbmname}-devel
|
|
|
|
%package -n %{libwaylandeglname}
|
|
Summary: Files for Mesa (Wayland EGL libs)
|
|
Group: System/Libraries
|
|
Provides: %{libwaylandeglname_virt} = %{version}-%{release}
|
|
|
|
%package -n %{libwaylandeglname}-devel
|
|
Summary: Development files for Mesa (Wayland EGL libs)
|
|
Group: Development/C
|
|
Requires: %{libwaylandeglname} = %{version}-%{release}
|
|
Provides: lib%{waylandeglname}-devel
|
|
Provides: %{waylandeglname}-devel
|
|
%endif
|
|
|
|
%package -n vdpau-driver-nouveau
|
|
Summary: VDPAU plugin for nouveau driver
|
|
Group: Video
|
|
|
|
%package -n vdpau-driver-r300
|
|
Summary: VDPAU plugin for r300 driver
|
|
Group: Video
|
|
|
|
%package -n vdpau-driver-r600
|
|
Summary: VDPAU plugin for r600 driver
|
|
Group: Video
|
|
|
|
%package -n vdpau-driver-radeonsi
|
|
Summary: VDPAU plugin for radeonsi driver
|
|
Group: System/Libraries
|
|
|
|
%package -n vdpau-driver-softpipe
|
|
Summary: VDPAU plugin for softpipe driver
|
|
Group: Video
|
|
|
|
%package common-devel
|
|
Summary: Meta package for mesa devel
|
|
Group: Development/C
|
|
Provides: Mesa-common-devel = %{version}-%{release}
|
|
Provides: hackMesa-common-devel = %{version}
|
|
Obsoletes: Mesa-common-devel < %{version}
|
|
Obsoletes: hackMesa-common-devel < %{version}
|
|
Requires: %{libglname}-devel = %{version}
|
|
Requires: mesaglu-devel
|
|
Requires: freeglut-devel
|
|
Requires: %{libeglname}-devel = %{version}
|
|
Requires: %{libglesv1name}-devel = %{version}
|
|
Requires: %{libglesv2name}-devel = %{version}
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
%description
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
|
|
%description common-devel
|
|
Mesa common metapackage devel
|
|
|
|
%if %{enable_egl}
|
|
%description -n %{libeglname}
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
EGL parts.
|
|
|
|
%description -n %{libeglname}-devel
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
EGL development parts.
|
|
%endif
|
|
|
|
%description -n %{libdricorename}
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
DRI core part.
|
|
|
|
%description -n %{libglname}
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
GL and GLX parts.
|
|
|
|
%description -n %{dridrivers}
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
DRI drivers.
|
|
|
|
%description -n %{libdricorename}-devel
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
|
|
This package contains the headers needed to compile DRI drivers.
|
|
|
|
%description -n %{libglname}-devel
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
|
|
This package contains the headers needed to compile Mesa programs.
|
|
|
|
%description -n %{libglesv1name}
|
|
OpenGL ES is a low-level, lightweight API for advanced embedded graphics using
|
|
well-defined subset profiles of OpenGL.
|
|
|
|
This package provides the OpenGL ES library version 1.
|
|
|
|
%description -n %{libosmesaname}
|
|
Mesa offscreen rendering libraries for rendering OpenGL into
|
|
application-allocated blocks of memory.
|
|
|
|
%description -n %{osmesadevel}
|
|
This package contains the headers needed to compile programs against
|
|
the Mesa offscreen rendering library.
|
|
|
|
%description -n %{libglapiname}
|
|
This packages provides the glapi shared library used by gallium.
|
|
|
|
%description -n %{libglapiname}-devel
|
|
This package contains the headers needed to compile programes against glapi shared library.
|
|
|
|
%description -n %{libglesv1name}-devel
|
|
This package contains the headers needed to compile OpenGL ES 1 programs.
|
|
|
|
%description -n %{libglesv2name}
|
|
OpenGL ES is a low-level, lightweight API for advanced embedded graphics using
|
|
well-defined subset profiles of OpenGL.
|
|
|
|
This package provides the OpenGL ES library version 2.
|
|
|
|
%description -n %{libglesv2name}-devel
|
|
This package contains the headers needed to compile OpenGL ES 2 programs.
|
|
|
|
%description -n %{libopenvgname}
|
|
OpenVG is a royalty-free, cross-platform API that provides a low-level hardware
|
|
acceleration interface for vector graphics libraries such as Flash and SVG.
|
|
|
|
%description -n %{libopenvgname}-devel
|
|
Development files for OpenVG library.
|
|
|
|
%if %{enable_wayland}
|
|
%description -n %{libgbmname}
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
GBM (Graphics Buffer Manager) parts.
|
|
|
|
%description -n %{libgbmname}-devel
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
GBM (Graphics Buffer Manager) development parts.
|
|
|
|
%description -n %{libwaylandeglname}
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
Wayland EGL platform parts.
|
|
|
|
%description -n %{libwaylandeglname}-devel
|
|
Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
|
|
Wayland EGL platform development parts.
|
|
%endif
|
|
|
|
%description -n vdpau-driver-nouveau
|
|
This packages provides a VPDAU plugin to enable video acceleration
|
|
with the nouveau driver.
|
|
|
|
%description -n vdpau-driver-r300
|
|
This packages provides a VPDAU plugin to enable video acceleration
|
|
with the r300 driver.
|
|
|
|
%description -n vdpau-driver-r600
|
|
This packages provides a VPDAU plugin to enable video acceleration
|
|
with the r600 driver.
|
|
|
|
%description -n vdpau-driver-radeonsi
|
|
This packages provides a VPDAU plugin to enable video acceleration
|
|
with the radeonsi driver.
|
|
|
|
%description -n vdpau-driver-softpipe
|
|
This packages provides a VPDAU plugin to enable video acceleration
|
|
with the softpipe driver.
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
%prep
|
|
%if %{git}
|
|
%setup -q -n mesa-%{git_branch}-%{git}
|
|
%else
|
|
%setup -q -n Mesa-%{version}%{vsuffix}
|
|
%endif
|
|
|
|
%apply_patches
|
|
autoreconf -vfi
|
|
|
|
%build
|
|
# fix build - TODO: should this be fixed in llvm somehow, or maybe the library
|
|
# symlinks should be moved to %{_libdir}? -Anssi 08/2012
|
|
export LDFLAGS="-L%{_libdir}/llvm"
|
|
|
|
%configure2_5x --enable-dri \
|
|
--enable-glx \
|
|
--with-dri-driverdir=%{driver_dir} \
|
|
--with-dri-drivers="%{dri_drivers}" \
|
|
--enable-shared-dricore \
|
|
%if %{enable_egl}
|
|
--enable-egl \
|
|
%else
|
|
--disable-egl \
|
|
%endif
|
|
%if %{enable_wayland}
|
|
--with-egl-platforms=x11,wayland,drm \
|
|
--enable-gbm \
|
|
--enable-shared-glapi \
|
|
%endif
|
|
--enable-gles1 \
|
|
--enable-gles2 \
|
|
--enable-openvg \
|
|
--enable-gallium-egl \
|
|
--enable-gallium-g3dvl \
|
|
--enable-osmesa \
|
|
--disable-xvmc \
|
|
--enable-vdpau \
|
|
--disable-va \
|
|
%if %{with_hardware}
|
|
--with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast \
|
|
--enable-gallium-llvm \
|
|
%else
|
|
--disable-gallium-llvm \
|
|
--with-gallium-drivers=swrast \
|
|
%endif
|
|
# end of configure options
|
|
|
|
%make
|
|
|
|
%install
|
|
%makeinstall_std
|
|
|
|
# FIXME: strip will likely break the hardlink
|
|
# (blino) hardlink libGL files in %{_libdir}/mesa
|
|
# to prevent proprietary driver installers from removing them
|
|
mkdir -p %{buildroot}%{_libdir}/mesa
|
|
pushd %{buildroot}%{_libdir}/mesa
|
|
for l in ../libGL.so.*; do cp -a $l .; done
|
|
popd
|
|
|
|
%ifarch %{x86_64}
|
|
mkdir -p %{buildroot}%{_prefix}/lib/dri
|
|
%endif
|
|
|
|
# .so files are not needed by vdpau
|
|
rm -f %{buildroot}%{_libdir}/vdpau/libvdpau_*.so
|
|
|
|
# .la files are not needed by mesa
|
|
find %{buildroot} -name '*.la' -exec rm {} \;
|
|
|
|
# use swrastg if built (Anssi 12/2011)
|
|
[ -e %{buildroot}%{_libdir}/dri/swrastg_dri.so ] && mv %{buildroot}%{_libdir}/dri/swrast{g,}_dri.so
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
%files
|
|
%doc docs/COPYING
|
|
%config(noreplace) %{_sysconfdir}/drirc
|
|
|
|
%files -n %{libdricorename}
|
|
%{_libdir}/libdricore%{version}.so.%{dricoremajor}
|
|
%{_libdir}/libdricore%{version}.so.%{dricoremajor}.*
|
|
|
|
%files -n %{libdricorename}-devel
|
|
%{_libdir}/libdricore%{version}.so
|
|
|
|
%files -n %{dridrivers}
|
|
%doc docs/COPYING
|
|
%ifnarch ppc64
|
|
%dir %{_libdir}/dri
|
|
# (blino) new mesa 8.1 build system seems to use a static libglsl
|
|
#%{_libdir}/dri/libglsl.so
|
|
%{_libdir}/dri/*_dri.so
|
|
%endif
|
|
|
|
%files -n %{libglname}
|
|
%doc docs/COPYING
|
|
%{_libdir}/libGL.so.*
|
|
%dir %{_libdir}/mesa
|
|
%{_libdir}/mesa/libGL.so.%{glmajor}*
|
|
|
|
%if %{enable_egl}
|
|
%files -n %{libeglname}
|
|
%doc docs/COPYING
|
|
%{_libdir}/libEGL.so.%{eglmajor}*
|
|
%dir %{_libdir}/egl
|
|
%if !%{enable_wayland}
|
|
# st_GL, built only when shared glapi is not enabled
|
|
%{_libdir}/egl/st_GL.so
|
|
%endif
|
|
%{_libdir}/egl/egl_gallium.so
|
|
%endif
|
|
|
|
%files -n %{libosmesaname}
|
|
%{_libdir}/libOSMesa.so.%{osmesamajor}*
|
|
|
|
%files -n %{libglapiname}
|
|
%{_libdir}/libglapi.so.%{glapimajor}*
|
|
|
|
%files -n %{libglesv1name}
|
|
%doc docs/COPYING
|
|
%{_libdir}/libGLESv1_CM.so.%{glesv1major}*
|
|
|
|
%files -n %{libglesv2name}
|
|
%doc docs/COPYING
|
|
%{_libdir}/libGLESv2.so.%{glesv2major}*
|
|
|
|
%files -n %{libopenvgname}
|
|
%doc docs/COPYING
|
|
%{_libdir}/libOpenVG.so.%{openvgmajor}*
|
|
|
|
%if %{enable_wayland}
|
|
%files -n %{libgbmname}
|
|
%{_libdir}/libgbm.so.%{gbmmajor}
|
|
%{_libdir}/libgbm.so.%{gbmmajor}.*
|
|
%{_libdir}/gbm/gbm_*.so
|
|
%{_libdir}/gbm/pipe_*.so
|
|
|
|
%files -n %{libwaylandeglname}
|
|
%{_libdir}/libwayland-egl.so.%{waylandeglmajor}
|
|
%{_libdir}/libwayland-egl.so.%{waylandeglmajor}.*
|
|
%endif
|
|
|
|
|
|
%files -n %{libglname}-devel
|
|
%doc docs/COPYING
|
|
%dir %{_includedir}/GL
|
|
%{_includedir}/GL/gl.h
|
|
%{_includedir}/GL/glext.h
|
|
%{_includedir}/GL/gl_mangle.h
|
|
%{_includedir}/GL/wglext.h
|
|
%{_includedir}/GL/glx.h
|
|
%{_includedir}/GL/glxext.h
|
|
%{_includedir}/GL/glx_mangle.h
|
|
%{_libdir}/libGL.so
|
|
%{_libdir}/pkgconfig/gl.pc
|
|
%{_libdir}/pkgconfig/dri.pc
|
|
|
|
#FIXME: check those headers
|
|
%{_includedir}/GL/vms_x_fix.h
|
|
%{_includedir}/GL/wmesa.h
|
|
%dir %{_includedir}/GL/internal
|
|
%{_includedir}/GL/internal/dri_interface.h
|
|
|
|
%files common-devel
|
|
|
|
%if %{enable_egl}
|
|
%files -n %{libeglname}-devel
|
|
%doc docs/COPYING
|
|
%{_includedir}/EGL
|
|
%{_includedir}/KHR
|
|
%{_libdir}/libEGL.so
|
|
%{_libdir}/pkgconfig/egl.pc
|
|
%endif
|
|
|
|
%files -n %{osmesadevel}
|
|
%dir %{_includedir}/GL
|
|
%{_includedir}/GL/osmesa.h
|
|
%{_libdir}/libOSMesa.so
|
|
%{_libdir}/pkgconfig/osmesa.pc
|
|
|
|
%files -n %{libglapiname}-devel
|
|
%{_libdir}/libglapi.so
|
|
|
|
%files -n %{libglesv1name}-devel
|
|
%{_includedir}/GLES
|
|
%{_libdir}/libGLESv1_CM.so
|
|
%{_libdir}/pkgconfig/glesv1_cm.pc
|
|
|
|
%files -n %{libglesv2name}-devel
|
|
%{_includedir}/GLES2
|
|
%{_libdir}/libGLESv2.so
|
|
%{_libdir}/pkgconfig/glesv2.pc
|
|
|
|
%files -n %{libopenvgname}-devel
|
|
%{_includedir}/VG
|
|
%{_libdir}/libOpenVG.so
|
|
%{_libdir}/pkgconfig/vg.pc
|
|
|
|
%if %{enable_wayland}
|
|
%files -n %{libgbmname}-devel
|
|
%{_includedir}/gbm.h
|
|
%{_libdir}/libgbm.so
|
|
%{_libdir}/pkgconfig/gbm.pc
|
|
|
|
%files -n %{libwaylandeglname}-devel
|
|
%{_libdir}/libwayland-egl.so
|
|
%{_libdir}/pkgconfig/wayland-egl.pc
|
|
%endif
|
|
|
|
%files -n vdpau-driver-nouveau
|
|
%{_libdir}/vdpau/libvdpau_nouveau.so.*
|
|
|
|
%files -n vdpau-driver-r300
|
|
%{_libdir}/vdpau/libvdpau_r300.so.*
|
|
|
|
%files -n vdpau-driver-r600
|
|
%{_libdir}/vdpau/libvdpau_r600.so.*
|
|
|
|
%files -n vdpau-driver-radeonsi
|
|
%{_libdir}/vdpau/libvdpau_radeonsi.so.*
|
|
|
|
%files -n vdpau-driver-softpipe
|
|
%{_libdir}/vdpau/libvdpau_softpipe.so.*
|