Stefan Dirsch
f5c4a777b2
Enable vc4 Gallium driver for Raspberry Pi OBS-URL: https://build.opensuse.org/request/show/261888 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=410
855 lines
26 KiB
RPMSpec
855 lines
26 KiB
RPMSpec
#
|
||
# spec file for package Mesa
|
||
#
|
||
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||
#
|
||
# All modifications and additions to the file contributed by third parties
|
||
# remain the property of their copyright owners, unless otherwise agreed
|
||
# upon. The license for this file, and modifications and additions to the
|
||
# file, is the same license as for the pristine package itself (unless the
|
||
# license for the pristine package is not an Open Source License, in which
|
||
# case the license is the MIT License). An "Open Source License" is a
|
||
# license that conforms to the Open Source Definition (Version 1.9)
|
||
# published by the Open Source Initiative.
|
||
|
||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||
#
|
||
|
||
|
||
%define glamor 1
|
||
# --enable-gallium-egl requires non-empty --with-gallium-drivers (default
|
||
# is r300,r600,svga,swrast)
|
||
%ifnarch s390 s390x aarch64 m68k
|
||
%define egl_gallium 1
|
||
%else
|
||
%define egl_gallium 0
|
||
%endif
|
||
%ifarch %ix86 x86_64 %arm ppc ppc64 ppc64le s390x
|
||
%define gallium_loader 1
|
||
%else
|
||
%define gallium_loader 0
|
||
%endif
|
||
%ifarch %ix86 x86_64 %arm ppc ppc64 ppc64le
|
||
%define vdpau_r600 1
|
||
%else
|
||
%define vdpau_r600 0
|
||
%endif
|
||
%ifarch %ix86 x86_64
|
||
%define llvm_r600 1
|
||
%else
|
||
%define llvm_r600 0
|
||
%endif
|
||
%ifarch %ix86 x86_64 %arm ppc64 ppc64le
|
||
%define xvmc_support 1
|
||
%else
|
||
%define xvmc_support 0
|
||
%endif
|
||
%ifarch %ix86 x86_64 %arm ppc ppc64 ppc64le
|
||
%define vdpau_nouveau 1
|
||
%else
|
||
%define vdpau_nouveau 0
|
||
%endif
|
||
|
||
%define _name_archive MesaLib
|
||
%define _version 10.3.3
|
||
|
||
Name: Mesa
|
||
Version: 10.3.3
|
||
Release: 0
|
||
BuildRequires: autoconf >= 2.60
|
||
BuildRequires: automake
|
||
BuildRequires: bison
|
||
BuildRequires: fdupes
|
||
BuildRequires: flex
|
||
BuildRequires: gcc-c++
|
||
%if %llvm_r600
|
||
BuildRequires: libelf-devel
|
||
%endif
|
||
BuildRequires: imake
|
||
BuildRequires: libexpat-devel
|
||
BuildRequires: libtool
|
||
BuildRequires: pkgconfig
|
||
BuildRequires: python-base
|
||
BuildRequires: python-xml
|
||
BuildRequires: pkgconfig(dri2proto)
|
||
BuildRequires: pkgconfig(dri3proto)
|
||
BuildRequires: pkgconfig(glproto)
|
||
BuildRequires: pkgconfig(libdrm) >= 2.4.24
|
||
BuildRequires: pkgconfig(presentproto)
|
||
BuildRequires: pkgconfig(xshmfence)
|
||
%ifarch %arm
|
||
BuildRequires: pkgconfig(libdrm_freedreno) >= 2.4.43
|
||
%endif
|
||
%ifarch x86_64 %ix86
|
||
BuildRequires: pkgconfig(libdrm_intel) >= 2.4.38
|
||
%endif
|
||
BuildRequires: pkgconfig(libdrm_nouveau) >= 2.4.41
|
||
BuildRequires: pkgconfig(libdrm_radeon) >= 2.4.45
|
||
BuildRequires: pkgconfig(libkms) >= 1.0.0
|
||
BuildRequires: pkgconfig(libudev) > 150
|
||
%if 0%{?suse_version} >= 1310
|
||
BuildRequires: pkgconfig(wayland-client)
|
||
BuildRequires: pkgconfig(wayland-server)
|
||
%endif
|
||
BuildRequires: pkgconfig(x11)
|
||
BuildRequires: pkgconfig(x11-xcb)
|
||
BuildRequires: pkgconfig(xcb-dri2)
|
||
BuildRequires: pkgconfig(xcb-dri3)
|
||
BuildRequires: pkgconfig(xcb-glx)
|
||
BuildRequires: pkgconfig(xcb-present)
|
||
BuildRequires: pkgconfig(xdamage)
|
||
BuildRequires: pkgconfig(xext)
|
||
BuildRequires: pkgconfig(xfixes)
|
||
BuildRequires: pkgconfig(xxf86vm)
|
||
BuildRequires: pkgconfig(zlib)
|
||
%ifarch %arm ppc64 ppc64le s390x %ix86 x86_64
|
||
BuildRequires: llvm-devel
|
||
BuildRequires: ncurses-devel
|
||
%endif
|
||
BuildRequires: libXvMC-devel
|
||
BuildRequires: libvdpau-devel
|
||
|
||
Url: http://www.mesa3d.org
|
||
Provides: Mesa7 = %{version}
|
||
Obsoletes: Mesa7 < %{version}
|
||
Provides: intel-i810-Mesa = %{version}
|
||
Obsoletes: intel-i810-Mesa < %{version}
|
||
Provides: Mesa-libIndirectGL1 = %{version}
|
||
Obsoletes: Mesa-libIndirectGL1 < %{version}
|
||
Provides: xorg-x11-Mesa = %{version}
|
||
Obsoletes: Mesa-nouveau3d
|
||
Obsoletes: xorg-x11-Mesa < %{version}
|
||
# bug437293
|
||
%ifarch ppc64
|
||
Obsoletes: Mesa-64bit < %{version}
|
||
Obsoletes: XFree86-Mesa-64bit < %{version}
|
||
Provides: Mesa-64bit < %{version}
|
||
Provides: XFree86-Mesa-64bit = %{version}
|
||
%endif
|
||
#
|
||
Summary: System for rendering interactive 3-D graphics
|
||
License: MIT
|
||
Group: System/Libraries
|
||
Source: %{_name_archive}-%{_version}.tar.bz2
|
||
Source2: baselibs.conf
|
||
Source3: README.updates
|
||
Source4: manual-pages.tar.bz2
|
||
Source6: %name-rpmlintrc
|
||
|
||
# to be upstreamed
|
||
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
|
||
# Patch from Fedora, fix 16bpp in llvmpipe
|
||
Patch13: u_mesa-8.0.1-fix-16bpp.patch
|
||
# Patch from Fedora, use shmget when available, under llvmpipe
|
||
Patch15: u_mesa-8.0-llvmpipe-shmget.patch
|
||
Patch17: u_Suppress-any-libGL-.-warnings-when-LIBGL_DEBUG-is-se.patch
|
||
Patch18: u_be_assert_include.patch
|
||
|
||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||
|
||
%description
|
||
Mesa is a 3-D graphics library with an API which is very similar to
|
||
that of OpenGL.* To the extent that Mesa utilizes the OpenGL command
|
||
syntax or state machine, it is being used with authorization from
|
||
Silicon Graphics, Inc.(SGI). However, the author does not possess an
|
||
OpenGL license from SGI, and makes no claim that Mesa is in any way a
|
||
compatible replacement for OpenGL or associated with SGI. Those who
|
||
want a licensed implementation of OpenGL should contact a licensed
|
||
vendor.
|
||
|
||
Please do not refer to the library as MesaGL (for legal reasons). It's
|
||
just Mesa or The Mesa 3-D graphics library.
|
||
|
||
* OpenGL is a trademark of Silicon Graphics Incorporated.
|
||
|
||
%package devel
|
||
Summary: Libraries, includes and more to develop Mesa applications
|
||
Group: Development/Libraries/X11
|
||
Requires: Mesa = %version
|
||
Requires: Mesa-dri-devel = %version
|
||
Requires: Mesa-libEGL-devel = %version
|
||
Requires: Mesa-libGL-devel = %version
|
||
Requires: Mesa-libGLESv1_CM-devel = %version
|
||
Requires: Mesa-libGLESv2-devel = %version
|
||
Requires: Mesa-libglapi-devel = %version
|
||
Requires: libOSMesa-devel = %version
|
||
Requires: libgbm-devel
|
||
%if 0%{?suse_version} >= 1310
|
||
Requires: libwayland-egl-devel
|
||
%endif
|
||
# bug437293
|
||
%ifarch ppc64
|
||
Obsoletes: Mesa-devel-64bit < %{version}
|
||
Obsoletes: XFree86-Mesa-devel-64bit < %{version}
|
||
Provides: Mesa-devel-64bit = %{version}
|
||
Provides: XFree86-Mesa-devel-64bit = %{version}
|
||
%endif
|
||
#
|
||
Provides: Mesa-devel-static = %{version}
|
||
Provides: xorg-x11-Mesa-devel = %{version}
|
||
Obsoletes: Mesa-devel-static < %{version}
|
||
Obsoletes: xorg-x11-Mesa-devel < %{version}
|
||
Provides: Mesa-libIndirectGL-devel = %{version}
|
||
Obsoletes: Mesa-libIndirectGL-devel < %{version}
|
||
|
||
%description devel
|
||
Mesa is a 3-D graphics library with an API which is very similar to
|
||
that of OpenGL.* To the extent that Mesa utilizes the OpenGL command
|
||
syntax or state machine, it is being used with authorization from
|
||
Silicon Graphics, Inc.(SGI). However, the author does not possess an
|
||
OpenGL license from SGI, and makes no claim that Mesa is in any way a
|
||
compatible replacement for OpenGL or associated with SGI. Those who
|
||
want a licensed implementation of OpenGL should contact a licensed
|
||
vendor.
|
||
|
||
Please do not refer to the library as MesaGL (for legal reasons). It's
|
||
just Mesa or The Mesa 3-D graphics library.
|
||
|
||
* OpenGL is a trademark of Silicon Graphics Incorporated.
|
||
|
||
%package -n Mesa-libEGL1
|
||
# Kudos to Debian for the descriptions
|
||
Summary: Free implementation of the EGL API
|
||
Group: System/Libraries
|
||
|
||
%description -n Mesa-libEGL1
|
||
This package contains the EGL native platform graphics interface
|
||
library. EGL provides a platform-agnostic mechanism for creating
|
||
rendering surfaces for use with other graphics libraries, such as
|
||
OpenGL|ES and OpenVG.
|
||
|
||
This package contains modules to interface with the existing system
|
||
GLX or DRI2 drivers to provide OpenGL via EGL. The Mesa main package
|
||
provides drivers to provide hardware-accelerated OpenGL|ES and OpenVG
|
||
support.
|
||
|
||
%package -n Mesa-libEGL-devel
|
||
Summary: Development files for the EGL API
|
||
Group: Development/Libraries/C and C++
|
||
Requires: Mesa-libEGL1 = %version
|
||
# Other requires taken care of by pkgconfig already
|
||
|
||
%description -n Mesa-libEGL-devel
|
||
This package contains the development environment required for
|
||
compiling programs against EGL native platform graphics interface
|
||
library. EGL provides a platform-agnostic mechanism for creating
|
||
rendering surfaces for use with other graphics libraries, such as
|
||
OpenGL|ES and OpenVG.
|
||
|
||
This package provides the development environment for compiling
|
||
programs against the EGL library.
|
||
|
||
%package -n Mesa-libGL1
|
||
Summary: The GL/GLX runtime of the Mesa 3D graphics library
|
||
Group: System/Libraries
|
||
Requires: Mesa = %version
|
||
|
||
%description -n Mesa-libGL1
|
||
Mesa is a software library for 3D computer graphics that provides a
|
||
generic OpenGL implementation for rendering three-dimensional
|
||
graphics.
|
||
|
||
GLX ("OpenGL Extension to the X Window System") provides the
|
||
interface connecting OpenGL and the X Window System: it enables
|
||
programs wishing to use OpenGL to do so within a window provided by
|
||
the X Window System.
|
||
|
||
%package -n Mesa-libGL-devel
|
||
Summary: GL/GLX development files of the OpenGL API
|
||
Group: Development/Libraries/C and C++
|
||
Requires: Mesa-libGL1 = %version
|
||
|
||
%description -n Mesa-libGL-devel
|
||
Mesa is a software library for 3D computer graphics that provides a
|
||
generic OpenGL implementation for rendering three-dimensional
|
||
graphics.
|
||
|
||
This package includes headers and static libraries for compiling
|
||
programs with Mesa.
|
||
|
||
%package -n Mesa-libGLESv1_CM1
|
||
Summary: Free implementation of the OpenGL|ES 1.x Common Profile API
|
||
Group: System/Libraries
|
||
|
||
%description -n Mesa-libGLESv1_CM1
|
||
OpenGL|ES is a cross-platform API for full-function 2D and 3D
|
||
graphics on embedded systems - including consoles, phones, appliances
|
||
and vehicles. It contains a subset of OpenGL plus a number of
|
||
extensions for the special needs of embedded systems.
|
||
|
||
OpenGL|ES 1.x provides an API for fixed-function hardware.
|
||
|
||
%package -n Mesa-libGLESv1_CM-devel
|
||
Summary: Development files for the OpenGL ES 1.x API
|
||
Group: Development/Libraries/C and C++
|
||
Requires: Mesa-libGLESv1_CM1 = %version
|
||
Requires: pkgconfig(egl)
|
||
|
||
%description -n Mesa-libGLESv1_CM-devel
|
||
OpenGL|ES is a cross-platform API for full-function 2D and 3D
|
||
graphics on embedded systems - including consoles, phones, appliances
|
||
and vehicles. It contains a subset of OpenGL plus a number of
|
||
extensions for the special needs of embedded systems.
|
||
|
||
OpenGL|ES 1.x provides an API for fixed-function hardware.
|
||
|
||
This package provides a development environment for building programs
|
||
using the OpenGL|ES 1.x APIs.
|
||
|
||
%package -n Mesa-libGLESv2-2
|
||
Summary: Free implementation of the OpenGL|ES 2.x API
|
||
Group: System/Libraries
|
||
|
||
%description -n Mesa-libGLESv2-2
|
||
OpenGL|ES is a cross-platform API for full-function 2D and 3D
|
||
graphics on embedded systems - including consoles, phones, appliances
|
||
and vehicles. It contains a subset of OpenGL plus a number of
|
||
extensions for the special needs of embedded systems.
|
||
|
||
OpenGL|ES 2.x provides an API for programmable hardware including
|
||
vertex and fragment shaders.
|
||
|
||
The libGLESv2.so.2 library provides symbols for all OpenGL ES 2 and
|
||
ES 3 entry points.
|
||
|
||
%package -n Mesa-libGLESv2-devel
|
||
Summary: Development files for the OpenGL ES 2.x API
|
||
Group: Development/Libraries/C and C++
|
||
Requires: Mesa-libGLESv2-2 = %version
|
||
Requires: pkgconfig(egl)
|
||
|
||
%description -n Mesa-libGLESv2-devel
|
||
OpenGL|ES is a cross-platform API for full-function 2D and 3D
|
||
graphics on embedded systems - including consoles, phones, appliances
|
||
and vehicles. It contains a subset of OpenGL plus a number of
|
||
extensions for the special needs of embedded systems.
|
||
|
||
OpenGL|ES 2.x provides an API for programmable hardware including
|
||
vertex and fragment shaders.
|
||
|
||
This package provides a development environment for building
|
||
applications using the OpenGL|ES 2.x APIs.
|
||
|
||
%package -n Mesa-libGLESv3-devel
|
||
Summary: Development files for the OpenGL ES 3.x API
|
||
Group: Development/Libraries/C and C++
|
||
Requires: Mesa-libGLESv2-2 = %version
|
||
Requires: pkgconfig(egl)
|
||
|
||
%description -n Mesa-libGLESv3-devel
|
||
OpenGL|ES is a cross-platform API for full-function 2D and 3D
|
||
graphics on embedded systems - including consoles, phones, appliances
|
||
and vehicles. It contains a subset of OpenGL plus a number of
|
||
extensions for the special needs of embedded systems.
|
||
|
||
This package provides a development environment for building
|
||
applications using the OpenGL|ES 3.x APIs.
|
||
|
||
%package -n libOSMesa9
|
||
Summary: Mesa Off-screen rendering extension
|
||
Group: System/Libraries
|
||
|
||
%description -n libOSMesa9
|
||
OSmesa is a Mesa extension that allows programs to render to an
|
||
off-screen buffer using the OpenGL API without having to create a
|
||
rendering context on an X Server. It uses a pure software renderer.
|
||
|
||
%package -n libOSMesa-devel
|
||
Summary: Development files for the Mesa Offscreen Rendering extension
|
||
Group: Development/Libraries/C and C++
|
||
Requires: libOSMesa9 = %version
|
||
|
||
%description -n libOSMesa-devel
|
||
Development files for the OSmesa Mesa extension that allows programs to render to an
|
||
off-screen buffer using the OpenGL API without having to create a
|
||
rendering context on an X Server. It uses a pure software renderer.
|
||
|
||
%package -n Mesa-libglapi0
|
||
Summary: Free implementation of the GL API
|
||
Group: System/Libraries
|
||
|
||
%description -n Mesa-libglapi0
|
||
The Mesa GL API module is responsible for dispatching all the gl*
|
||
functions. It is intended to be mainly used by the Mesa-libGLES*
|
||
packages.
|
||
|
||
%package -n Mesa-libglapi-devel
|
||
Summary: Development files for the free implementation of the GL API
|
||
Group: Development/Libraries/C and C++
|
||
Requires: Mesa-libglapi0 = %version
|
||
|
||
%description -n Mesa-libglapi-devel
|
||
Development files for the Mesa GL API module which is responsible for
|
||
dispatching all the gl* functions. It is intended to be mainly used by
|
||
the Mesa-libGLES* packages.
|
||
|
||
%package -n Mesa-dri-devel
|
||
Summary: Development files for the DRI API
|
||
Group: Development/Libraries/C and C++
|
||
Requires: Mesa = %version
|
||
|
||
%description -n Mesa-dri-devel
|
||
This package contains the development environment required for
|
||
compiling programs and libraries using the DRI API.
|
||
|
||
%package -n libgbm1
|
||
Summary: Generic buffer management API
|
||
Group: System/Libraries
|
||
|
||
%description -n libgbm1
|
||
This package contains the GBM buffer management library. It provides
|
||
a mechanism for allocating buffers for graphics rendering tied to
|
||
Mesa.
|
||
|
||
GBM is intended to be used as a native platform for EGL on drm or
|
||
openwfd.
|
||
|
||
%package -n libgbm-devel
|
||
Summary: Development files for the EGL API
|
||
Group: Development/Libraries/C and C++
|
||
Requires: libgbm1 = %version
|
||
|
||
%description -n libgbm-devel
|
||
This package contains the GBM buffer management library. It provides
|
||
a mechanism for allocating buffers for graphics rendering tied to
|
||
Mesa.
|
||
|
||
GBM is intended to be used as a native platform for EGL on drm or
|
||
openwfd.
|
||
|
||
This package provides the development environment for compiling
|
||
programs against the GBM library.
|
||
|
||
%if 0%{?suse_version} >= 1310
|
||
|
||
%package -n libwayland-egl1
|
||
Summary: Additional egl functions for wayland
|
||
Group: System/Libraries
|
||
|
||
%description -n libwayland-egl1
|
||
This package provides additional functions for egl-using programs
|
||
that run within the wayland framework. This allows for applications
|
||
that need not run full-screen and cooperate with a compositor.
|
||
|
||
%package -n libwayland-egl-devel
|
||
Summary: Development files for libwayland-egl1
|
||
Group: Development/Libraries/C and C++
|
||
Requires: libwayland-egl1 = %version
|
||
|
||
%description -n libwayland-egl-devel
|
||
This package is required to link wayland client applications to the EGL
|
||
implementation of Mesa.
|
||
%endif
|
||
|
||
%package -n libxatracker2
|
||
Summary: XA state tracker
|
||
Group: System/Libraries
|
||
Version: 1.0.0
|
||
Release: 0
|
||
|
||
%description -n libxatracker2
|
||
This package contains the XA state tracker for gallium3D driver.
|
||
It superseeds the Xorg state tracker and provides an infrastructure
|
||
to accelerate Xorg 2D operations. It is currently used by vmwgfx
|
||
video driver.
|
||
|
||
%package -n libxatracker-devel
|
||
Summary: Development files for the XA API
|
||
Group: Development/Libraries/C and C++
|
||
Version: 1.0.0
|
||
Release: 0
|
||
Requires: libxatracker2 = %version
|
||
|
||
%description -n libxatracker-devel
|
||
This package contains the XA state tracker for gallium3D driver.
|
||
It superseeds the Xorg state tracker and provides an infrastructure
|
||
to accelerate Xorg 2D operations. It is currently used by vmwgfx
|
||
video driver.
|
||
|
||
This package provides the development environment for compiling
|
||
programs against the XA state tracker.
|
||
|
||
%package -n libXvMC_nouveau
|
||
Summary: XVMC state tracker for Nouveau
|
||
Group: System/Libraries
|
||
|
||
%description -n libXvMC_nouveau
|
||
This package contains the XvMC state tracker for Nouveau. This is
|
||
still "work in progress", i.e. expect poor video quality, choppy
|
||
videos and artefacts all over.
|
||
|
||
%package -n libXvMC_r600
|
||
Summary: XVMC state tracker for R600
|
||
Group: System/Libraries
|
||
|
||
%description -n libXvMC_r600
|
||
This package contains the XvMC state tracker for R600. This is
|
||
still "work in progress", i.e. expect poor video quality, choppy
|
||
videos and artefacts all over.
|
||
|
||
%package -n libvdpau_nouveau
|
||
Summary: XVMC state tracker for Nouveau
|
||
Group: System/Libraries
|
||
Supplements: xf86-video-nouveau
|
||
|
||
%description -n libvdpau_nouveau
|
||
This package contains the VDPAU state tracker for Nouveau.
|
||
|
||
%package -n libvdpau_r600
|
||
Summary: XVMC state tracker for R600
|
||
Group: System/Libraries
|
||
Supplements: xf86-video-ati
|
||
|
||
%description -n libvdpau_r600
|
||
This package contains the VDPAU state tracker for R600.
|
||
|
||
%package -n libvdpau_radeonsi
|
||
Summary: XVMC state tracker for radeonsi
|
||
Group: System/Libraries
|
||
Supplements: xf86-video-ati
|
||
|
||
%description -n libvdpau_radeonsi
|
||
This package contains the VDPAU state tracker for radeonsi.
|
||
|
||
%prep
|
||
%setup -n %{name}-%{_version} -b4 -q
|
||
# remove some docs
|
||
rm -rf docs/README.{VMS,WIN32,OS2}
|
||
### disabled, but not dropped yet; these still need investigation in
|
||
### order to figure out whether the issue is still reproducable and
|
||
### hence a fix is required
|
||
#%patch11 -p1
|
||
#%patch15 -p1
|
||
#%patch13 -p1
|
||
###
|
||
%patch17 -p1
|
||
%patch18 -p1
|
||
|
||
%build
|
||
%if 0%{?suse_version} >= 1310
|
||
egl_platforms=x11,drm,wayland
|
||
%else
|
||
egl_platforms=x11,drm
|
||
%endif
|
||
autoreconf -fi
|
||
### --with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast,svga \
|
||
### --with-gallium-drivers=r300,r600,nouveau,swrast,svga \
|
||
### --with-gallium-drivers=r300,nouveau,swrast,svga \
|
||
%configure --enable-gles1 \
|
||
--enable-gles2 \
|
||
--enable-dri \
|
||
--with-egl-platforms=$egl_platforms \
|
||
--enable-shared-glapi \
|
||
--enable-texture-float \
|
||
--enable-osmesa \
|
||
--enable-dri3 \
|
||
%if %glamor
|
||
--enable-gbm \
|
||
--enable-glx-tls \
|
||
%endif
|
||
%if %egl_gallium
|
||
--enable-gallium-egl \
|
||
%endif
|
||
%if 0%{?suse_version} < 1315
|
||
--with-dri-searchpath=/usr/%{_lib}/dri/updates:/usr/%{_lib}/dri \
|
||
%else
|
||
--with-dri-searchpath=/usr/%{_lib}/dri \
|
||
%endif
|
||
%ifarch %ix86 x86_64
|
||
--enable-xa \
|
||
--enable-gallium-llvm \
|
||
--with-dri-drivers=i915,i965,nouveau,r200,radeon \
|
||
--enable-opencl-icd \
|
||
%if %llvm_r600
|
||
--enable-llvm-shared-libs \
|
||
--enable-r600-llvm-compiler \
|
||
--with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast,svga \
|
||
%else
|
||
--with-gallium-drivers=r300,r600,nouveau,swrast,svga \
|
||
%endif
|
||
--enable-vdpau \
|
||
--enable-xvmc \
|
||
%endif
|
||
%ifarch %arm ppc64 ppc64le
|
||
--enable-xa \
|
||
--enable-gallium-llvm \
|
||
--with-dri-drivers=nouveau \
|
||
%ifarch %arm
|
||
--with-gallium-drivers=r300,r600,nouveau,swrast,svga,freedreno,vc4 \
|
||
%else
|
||
--with-gallium-drivers=r300,r600,nouveau,swrast,svga \
|
||
%endif
|
||
--enable-vdpau \
|
||
--enable-xvmc \
|
||
%endif
|
||
%ifarch ia64 ppc %sparc hppa
|
||
--with-dri-drivers=nouveau,r200,radeon \
|
||
--with-gallium-drivers=r300,r600,nouveau,swrast \
|
||
%endif
|
||
%ifarch s390 aarch64 m68k
|
||
--with-dri-drivers=swrast \
|
||
--with-gallium-drivers="" \
|
||
%endif
|
||
%ifarch s390x
|
||
--enable-xa \
|
||
--enable-gallium-llvm \
|
||
--with-dri-drivers=swrast \
|
||
--with-gallium-drivers=swrast,svga \
|
||
%endif
|
||
CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
|
||
make %{?_smp_mflags}
|
||
|
||
%install
|
||
make install DESTDIR=$RPM_BUILD_ROOT
|
||
find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \;
|
||
|
||
# Make a symlink to libGL.so.1.2 for compatibility (bnc#809359, bnc#831306)
|
||
test -f $RPM_BUILD_ROOT%{_libdir}/libGL.so.1.2 || \
|
||
ln -s `readlink $RPM_BUILD_ROOT%{_libdir}/libGL.so.1` $RPM_BUILD_ROOT%{_libdir}/libGL.so.1.2
|
||
|
||
for dir in ../xc/doc/man/{GL/gl,GL/glx}; do
|
||
pushd $dir
|
||
xmkmf -a
|
||
make %{?_smp_mflags}
|
||
make install.man DESTDIR=$RPM_BUILD_ROOT MANPATH=%{_mandir} LIBMANSUFFIX=3gl
|
||
popd
|
||
done
|
||
%if 0%{?suse_version} < 1315
|
||
#DRI driver update mechanism
|
||
mkdir -p $RPM_BUILD_ROOT/usr/%{_lib}/dri/updates
|
||
install -m 644 $RPM_SOURCE_DIR/README.updates \
|
||
$RPM_BUILD_ROOT/usr/%{_lib}/dri/updates
|
||
%endif
|
||
|
||
%fdupes -s $RPM_BUILD_ROOT/%_mandir
|
||
### disabled for now on request of Coolo
|
||
### "please take out this libs things from Cristian for 12.3 - I have no interest in debugging
|
||
### broken build dependencies at this point"
|
||
#sed -i -e '/^Libs.private/d' -e '/^Requires.private/d' %{buildroot}%{_libdir}/pkgconfig/*.pc
|
||
|
||
%post -p /sbin/ldconfig
|
||
%postun -p /sbin/ldconfig
|
||
|
||
%post -n Mesa-libEGL1 -p /sbin/ldconfig
|
||
%postun -n Mesa-libEGL1 -p /sbin/ldconfig
|
||
|
||
%post -n Mesa-libGL1 -p /sbin/ldconfig
|
||
%postun -n Mesa-libGL1 -p /sbin/ldconfig
|
||
|
||
%post -n Mesa-libGLESv1_CM1 -p /sbin/ldconfig
|
||
%postun -n Mesa-libGLESv1_CM1 -p /sbin/ldconfig
|
||
|
||
%post -n Mesa-libGLESv2-2 -p /sbin/ldconfig
|
||
%postun -n Mesa-libGLESv2-2 -p /sbin/ldconfig
|
||
|
||
%post -n libOSMesa9 -p /sbin/ldconfig
|
||
%postun -n libOSMesa9 -p /sbin/ldconfig
|
||
|
||
%post -n libgbm1 -p /sbin/ldconfig
|
||
%postun -n libgbm1 -p /sbin/ldconfig
|
||
|
||
%ifarch %ix86 x86_64 %arm ppc64 ppc64le s390x
|
||
%post -n libxatracker2 -p /sbin/ldconfig
|
||
%postun -n libxatracker2 -p /sbin/ldconfig
|
||
%endif
|
||
|
||
%if %xvmc_support
|
||
%post -n libXvMC_nouveau
|
||
%postun -n libXvMC_nouveau
|
||
|
||
%post -n libXvMC_r600
|
||
%postun -n libXvMC_r600
|
||
%endif
|
||
|
||
%if %vdpau_r600
|
||
%post -n libvdpau_r600
|
||
%postun -n libvdpau_r600
|
||
%endif
|
||
|
||
%if %llvm_r600
|
||
%post -n libvdpau_radeonsi
|
||
%postun -n libvdpau_radeonsi
|
||
%endif
|
||
|
||
%post -n Mesa-libglapi0 -p /sbin/ldconfig
|
||
%postun -n Mesa-libglapi0 -p /sbin/ldconfig
|
||
|
||
%if 0%{?suse_version} >= 1310
|
||
%post -n libwayland-egl1 -p /sbin/ldconfig
|
||
%postun -n libwayland-egl1 -p /sbin/ldconfig
|
||
%endif
|
||
|
||
%files
|
||
%defattr(-,root,root)
|
||
%doc docs/README* docs/COPYING
|
||
%config /etc/drirc
|
||
%{_libdir}/dri/
|
||
%if %egl_gallium
|
||
%dir %_libdir/egl/
|
||
%_libdir/egl/egl_gallium.so
|
||
%endif
|
||
#%if %gallium_loader
|
||
#%dir %_libdir/gallium-pipe/
|
||
#%_libdir/gallium-pipe/pipe_*.so
|
||
#%endif
|
||
|
||
%files -n Mesa-libEGL1
|
||
%defattr(-,root,root)
|
||
%_libdir/libEGL.so.1*
|
||
|
||
%files -n Mesa-libEGL-devel
|
||
%defattr(-,root,root)
|
||
%_includedir/EGL
|
||
%_includedir/KHR
|
||
%_libdir/libEGL.so
|
||
%_libdir/pkgconfig/egl.pc
|
||
|
||
%files -n Mesa-libGL1
|
||
%defattr(-,root,root)
|
||
%_libdir/libGL.so.1*
|
||
|
||
%files -n Mesa-libGL-devel
|
||
%defattr(-,root,root)
|
||
%dir %_includedir/GL
|
||
%_includedir/GL/*.h
|
||
%exclude %_includedir/GL/osmesa.h
|
||
%_libdir/libGL.so
|
||
%_libdir/pkgconfig/gl.pc
|
||
%_mandir/man3/gl[A-Z]*
|
||
|
||
%files -n Mesa-libGLESv1_CM1
|
||
%defattr(-,root,root)
|
||
%_libdir/libGLESv1_CM.so.1*
|
||
|
||
%files -n Mesa-libGLESv1_CM-devel
|
||
%defattr(-,root,root)
|
||
%_includedir/GLES
|
||
%_libdir/libGLESv1_CM.so
|
||
%_libdir/pkgconfig/glesv1_cm.pc
|
||
|
||
%files -n Mesa-libGLESv2-2
|
||
%defattr(-,root,root)
|
||
%_libdir/libGLESv2.so.2*
|
||
|
||
%files -n Mesa-libGLESv2-devel
|
||
%defattr(-,root,root)
|
||
%_includedir/GLES2
|
||
%_libdir/libGLESv2.so
|
||
%_libdir/pkgconfig/glesv2.pc
|
||
|
||
%files -n Mesa-libGLESv3-devel
|
||
%defattr(-,root,root)
|
||
%_includedir/GLES3
|
||
#%_libdir/libGLESv3.so
|
||
#%_libdir/pkgconfig/glesv3.pc
|
||
|
||
%files -n libOSMesa9
|
||
%defattr(-,root,root)
|
||
%_libdir/libOSMesa.so.8.0.0
|
||
%_libdir/libOSMesa.so.8
|
||
|
||
%files -n libOSMesa-devel
|
||
%defattr(-,root,root)
|
||
%_includedir/GL/osmesa.h
|
||
%_libdir/libOSMesa.so
|
||
%_libdir/pkgconfig/osmesa.pc
|
||
|
||
%if 0%{?suse_version} >= 1310
|
||
%files -n libwayland-egl1
|
||
%defattr(-,root,root)
|
||
%_libdir/libwayland-egl.so.1*
|
||
|
||
%files -n libwayland-egl-devel
|
||
%defattr(-,root,root)
|
||
%_libdir/libwayland-egl.so
|
||
%_libdir/pkgconfig/wayland-egl.pc
|
||
%endif
|
||
|
||
%files -n libgbm1
|
||
%defattr(-,root,root)
|
||
%_libdir/libgbm.so.1*
|
||
%if %egl_gallium
|
||
%dir %_libdir/gbm/
|
||
%_libdir/gbm/gbm_gallium_drm.so
|
||
%endif
|
||
|
||
%files -n libgbm-devel
|
||
%defattr(-,root,root)
|
||
%_includedir/gbm.h
|
||
%_libdir/libgbm.so
|
||
%_libdir/pkgconfig/gbm.pc
|
||
|
||
%ifarch %ix86 x86_64 %arm ppc64 ppc64le s390x
|
||
%files -n libxatracker2
|
||
%defattr(-,root,root)
|
||
%_libdir/libxatracker.so.2*
|
||
|
||
%files -n libxatracker-devel
|
||
%defattr(-,root,root)
|
||
%_includedir/xa_*.h
|
||
%_libdir/libxatracker.so
|
||
%_libdir/pkgconfig/xatracker.pc
|
||
%endif
|
||
|
||
%if %xvmc_support
|
||
%files -n libXvMC_nouveau
|
||
%defattr(-,root,root)
|
||
%_libdir/libXvMCnouveau.so
|
||
%_libdir/libXvMCnouveau.so.1
|
||
%_libdir/libXvMCnouveau.so.1.0
|
||
%_libdir/libXvMCnouveau.so.1.0.0
|
||
|
||
%files -n libXvMC_r600
|
||
%defattr(-,root,root)
|
||
%_libdir/libXvMCr600.so
|
||
%_libdir/libXvMCr600.so.1
|
||
%_libdir/libXvMCr600.so.1.0
|
||
%_libdir/libXvMCr600.so.1.0.0
|
||
%endif
|
||
|
||
%if %vdpau_nouveau
|
||
%files -n libvdpau_nouveau
|
||
%defattr(-,root,root)
|
||
%_libdir/vdpau/libvdpau_nouveau.so
|
||
%_libdir/vdpau/libvdpau_nouveau.so.1
|
||
%_libdir/vdpau/libvdpau_nouveau.so.1.0
|
||
%_libdir/vdpau/libvdpau_nouveau.so.1.0.0
|
||
%endif
|
||
|
||
%if %vdpau_r600
|
||
%files -n libvdpau_r600
|
||
%defattr(-,root,root)
|
||
%_libdir/vdpau/libvdpau_r600.so
|
||
%_libdir/vdpau/libvdpau_r600.so.1
|
||
%_libdir/vdpau/libvdpau_r600.so.1.0
|
||
%_libdir/vdpau/libvdpau_r600.so.1.0.0
|
||
%endif
|
||
|
||
%if %llvm_r600
|
||
%files -n libvdpau_radeonsi
|
||
%defattr(-,root,root)
|
||
%_libdir/vdpau/libvdpau_radeonsi.so
|
||
%_libdir/vdpau/libvdpau_radeonsi.so.1
|
||
%_libdir/vdpau/libvdpau_radeonsi.so.1.0
|
||
%_libdir/vdpau/libvdpau_radeonsi.so.1.0.0
|
||
%endif
|
||
|
||
%files -n Mesa-libglapi0
|
||
%defattr(-,root,root)
|
||
%_libdir/libglapi.so.0*
|
||
|
||
%files -n Mesa-libglapi-devel
|
||
%defattr(-,root,root)
|
||
%_libdir/libglapi.so
|
||
|
||
%files -n Mesa-dri-devel
|
||
%defattr(-,root,root)
|
||
%_includedir/GL/internal
|
||
%_libdir/pkgconfig/dri.pc
|
||
|
||
%files devel
|
||
%defattr(-,root,root)
|
||
%doc docs/*.html
|
||
|
||
%changelog
|