optimize the mesa spec
Signed-off-by: yanan-rock <yanan@huawei.com>
This commit is contained in:
parent
152d59f8a8
commit
3a2ddd1e49
454
mesa.spec
454
mesa.spec
@ -1,225 +1,319 @@
|
|||||||
%undefine _annotated_build
|
%undefine _annotated_build
|
||||||
|
|
||||||
%define base_drivers nouveau,r100,r200
|
%ifnarch s390x
|
||||||
|
%global with_hardware 1
|
||||||
|
|
||||||
|
%if 0%{?openeuler}
|
||||||
|
%bcond_without vdpau
|
||||||
|
%bcond_without nine
|
||||||
|
%bcond_without omx
|
||||||
|
%else
|
||||||
|
%bcond_with vdpau
|
||||||
|
%bcond_with nine
|
||||||
|
%bcond_with omx
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%bcond_without vaapi
|
||||||
|
%bcond_with opencl
|
||||||
|
%global base_drivers nouveau,r100,r200
|
||||||
|
%endif
|
||||||
|
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
%define platform_drivers ,i915,i965
|
%global platform_drivers ,i915,i965
|
||||||
%define with_vmware 1
|
%global with_iris 1
|
||||||
%define with_iris 1
|
%global with_vmware 1
|
||||||
%define vulkan_drivers intel,amd
|
%if 0%{?openeuler}
|
||||||
|
%global with_xa 1
|
||||||
|
%endif
|
||||||
|
%global vulkan_drivers intel,amd
|
||||||
%else
|
%else
|
||||||
%define vulkan_drivers amd
|
%ifnarch s390x
|
||||||
|
%global vulkan_drivers amd
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch %{arm} aarch64
|
%ifarch %{arm} aarch64
|
||||||
%define with_etnaviv 1
|
%global with_etnaviv 1
|
||||||
%define with_freedreno 1
|
%global with_freedreno 1
|
||||||
%define with_tegra 1
|
%global with_kmsro 1
|
||||||
%define with_panfrost 1
|
%global with_lima 1
|
||||||
%define with_lima 1
|
%global with_panfrost 1
|
||||||
%define with_kmsro 1
|
%global with_tegra 1
|
||||||
%define with_v3d 1
|
%global with_vc4 1
|
||||||
%define with_vc4 1
|
%global with_v3d 1
|
||||||
%define with_asm 1
|
%if 0%{?openeuler}
|
||||||
|
%global with_xa 1
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifnarch %{arm}
|
%ifnarch %{arm} s390x
|
||||||
%global with_radeonsi 1
|
%global with_radeonsi 1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%ifnarch %{x86}
|
||||||
|
%global with_asm 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch %{valgrind_arches}
|
||||||
%bcond_without valgrind
|
%bcond_without valgrind
|
||||||
|
%else
|
||||||
|
%bcond_with valgrind
|
||||||
|
%endif
|
||||||
|
|
||||||
%define dri_drivers %{?base_drivers}%{?platform_drivers}
|
%global dri_drivers %{?base_drivers}%{?platform_drivers}
|
||||||
|
|
||||||
%define with_opencl 0
|
|
||||||
|
|
||||||
Name: mesa
|
Name: mesa
|
||||||
Summary: Mesa graphics libraries
|
Summary: Mesa graphics libraries
|
||||||
Version: 20.1.4
|
Version: 20.1.4
|
||||||
Release: 1
|
Release: 2
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: https://www.mesa3d.org
|
URL: http://www.mesa3d.org
|
||||||
|
|
||||||
Source0: https://mesa.freedesktop.org/archive/%{name}-%{version}.tar.xz
|
Source0: https://mesa.freedesktop.org/archive/%{name}-%{version}.tar.xz
|
||||||
|
|
||||||
Patch0: 0001-evergreen-big-endian.patch
|
Patch3: 0001-evergreen-big-endian.patch
|
||||||
|
|
||||||
BuildRequires: meson gcc gcc-c++ gettext kernel-headers libdrm-devel libXxf86vm-devel expat-devel libX11-devel
|
BuildRequires: meson >= 0.45
|
||||||
BuildRequires: xorg-x11-proto-devel imake libselinux-devel libXrandr-devel libXext-devel libXfixes-devel libXdamage-devel
|
BuildRequires: gcc
|
||||||
BuildRequires: libXi-devel libXmu-devel libxshmfence-devel elfutils python3 llvm-devel clang-devel
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: elfutils-libelf-devel python3-libxml2 libudev-devel bison flex python3-devel
|
BuildRequires: gettext
|
||||||
BuildRequires: wayland-devel wayland-protocols-devel libvdpau-devel libva-devel zlib-devel
|
|
||||||
BuildRequires: libomxil-bellagio-devel libclc-devel vulkan-devel python3-mako
|
%if 0%{?with_hardware}
|
||||||
|
BuildRequires: kernel-headers
|
||||||
|
%endif
|
||||||
|
BuildRequires: pkgconfig(libdrm) >= 2.4.97
|
||||||
|
BuildRequires: pkgconfig(expat)
|
||||||
|
BuildRequires: pkgconfig(zlib) >= 1.2.3
|
||||||
|
BuildRequires: pkgconfig(libselinux)
|
||||||
|
BuildRequires: pkgconfig(wayland-scanner)
|
||||||
|
BuildRequires: pkgconfig(wayland-protocols) >= 1.8
|
||||||
|
BuildRequires: pkgconfig(wayland-client) >= 1.11
|
||||||
|
BuildRequires: pkgconfig(wayland-server) >= 1.11
|
||||||
|
BuildRequires: pkgconfig(wayland-egl-backend) >= 3
|
||||||
|
BuildRequires: pkgconfig(x11)
|
||||||
|
BuildRequires: pkgconfig(xext)
|
||||||
|
BuildRequires: pkgconfig(xdamage) >= 1.1
|
||||||
|
BuildRequires: pkgconfig(xfixes)
|
||||||
|
BuildRequires: pkgconfig(xcb-glx) >= 1.8.1
|
||||||
|
BuildRequires: pkgconfig(xxf86vm)
|
||||||
|
BuildRequires: pkgconfig(xcb)
|
||||||
|
BuildRequires: pkgconfig(x11-xcb)
|
||||||
|
BuildRequires: pkgconfig(xcb-dri2) >= 1.8
|
||||||
|
BuildRequires: pkgconfig(xcb-dri3)
|
||||||
|
BuildRequires: pkgconfig(xcb-present)
|
||||||
|
BuildRequires: pkgconfig(xcb-sync)
|
||||||
|
BuildRequires: pkgconfig(xshmfence) >= 1.1
|
||||||
|
BuildRequires: pkgconfig(dri2proto) >= 2.8
|
||||||
|
BuildRequires: pkgconfig(glproto) >= 1.4.14
|
||||||
|
BuildRequires: pkgconfig(xcb-xfixes)
|
||||||
|
BuildRequires: pkgconfig(xcb-randr)
|
||||||
|
BuildRequires: pkgconfig(xrandr) >= 1.3
|
||||||
|
BuildRequires: bison
|
||||||
|
BuildRequires: flex
|
||||||
|
%if 0%{?with_vdpau}
|
||||||
|
BuildRequires: pkgconfig(vdpau) >= 1.1
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_vaapi}
|
||||||
|
BuildRequires: pkgconfig(libva) >= 0.38.0
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_omx}
|
||||||
|
BuildRequires: pkgconfig(libomxil-bellagio)
|
||||||
|
%endif
|
||||||
|
BuildRequires: pkgconfig(libelf)
|
||||||
|
BuildRequires: pkgconfig(libglvnd) >= 0.2.0
|
||||||
|
BuildRequires: llvm-devel >= 7.0.0
|
||||||
%if 0%{?with_opencl}
|
%if 0%{?with_opencl}
|
||||||
BuildRequires: opencl-filesystem
|
BuildRequires: clang-devel
|
||||||
|
BuildRequires: pkgconfig(libclc)
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with valgrind}
|
||||||
%ifarch %{valgrind_arches}
|
BuildRequires: pkgconfig(valgrind)
|
||||||
BuildRequires: valgrind-devel
|
%endif
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-mako
|
||||||
|
%if 0%{?with_hardware}
|
||||||
|
BuildRequires: vulkan-headers
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: libglvnd-devel
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package filesystem
|
%package filesystem
|
||||||
Summary: Mesa driver filesystem
|
Summary: Mesa driver filesystem
|
||||||
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release}
|
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Obsoletes: mesa-dri-filesystem < %{?epoch:%{epoch}:}%{version}-%{release}
|
Obsoletes: mesa-dri-filesystem < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
%description filesystem
|
%description filesystem
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libGL
|
%package libGL
|
||||||
Summary: Mesa libGL runtime libraries
|
Summary: Mesa libGL runtime libraries
|
||||||
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Requires: libglvnd-glx%{?_isa} >= 1:1.0.1-0.9
|
Requires: libglvnd-glx%{?_isa} >= 1:1.0.1-0.9
|
||||||
|
|
||||||
%description libGL
|
%description libGL
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libGL-devel
|
%package libGL-devel
|
||||||
Summary: Mesa libGL development package
|
Summary: Mesa libGL development package
|
||||||
Requires: %{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Requires: libglvnd-devel%{?_isa}
|
Requires: libglvnd-devel%{?_isa}
|
||||||
Provides: libGL-devel libGL-devel%{?_isa}
|
Provides: libGL-devel
|
||||||
|
Provides: libGL-devel%{?_isa}
|
||||||
|
|
||||||
%description libGL-devel
|
%description libGL-devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libEGL
|
%package libEGL
|
||||||
Summary: Mesa libEGL runtime libraries
|
Summary: Mesa libEGL runtime libraries
|
||||||
Requires: libglvnd-egl%{?_isa}
|
Requires: libglvnd-egl%{?_isa}
|
||||||
|
|
||||||
%description libEGL
|
%description libEGL
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libEGL-devel
|
%package libEGL-devel
|
||||||
Summary: Mesa libEGL development package
|
Summary: Mesa libEGL development package
|
||||||
Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Requires: libglvnd-devel%{?_isa} %{name}-khr-devel
|
Requires: libglvnd-devel%{?_isa}
|
||||||
Provides: libEGL-devel libEGL-devel%{?_isa}
|
Requires: %{name}-khr-devel%{?_isa}
|
||||||
|
Provides: libEGL-devel
|
||||||
|
Provides: libEGL-devel%{?_isa}
|
||||||
|
|
||||||
%description libEGL-devel
|
%description libEGL-devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package dri-drivers
|
%package dri-drivers
|
||||||
Summary: Mesa-based DRI drivers
|
Summary: Mesa-based DRI drivers
|
||||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
%description dri-drivers
|
%description dri-drivers
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package omx-drivers
|
%if 0%{?with_omx}
|
||||||
|
%package omx-drivers
|
||||||
Summary: Mesa-based OMX drivers
|
Summary: Mesa-based OMX drivers
|
||||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
%description omx-drivers
|
%description omx-drivers
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?with_vdpau}
|
||||||
%package vdpau-drivers
|
%package vdpau-drivers
|
||||||
Summary: Mesa-based VDPAU drivers
|
Summary: Mesa-based VDPAU drivers
|
||||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
%description vdpau-drivers
|
%description vdpau-drivers
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
%endif
|
||||||
|
|
||||||
%package libOSMesa
|
%package libOSMesa
|
||||||
Summary: Mesa offscreen rendering libraries
|
Summary: Mesa offscreen rendering libraries
|
||||||
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Provides: libOSMesa libOSMesa%{?_isa}
|
Provides: libOSMesa
|
||||||
|
Provides: libOSMesa%{?_isa}
|
||||||
|
|
||||||
%description libOSMesa
|
%description libOSMesa
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libOSMesa-devel
|
%package libOSMesa-devel
|
||||||
Summary: Mesa offscreen rendering development package
|
Summary: Mesa offscreen rendering development package
|
||||||
Requires: %{name}-libOSMesa%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-libOSMesa%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
%description libOSMesa-devel
|
%description libOSMesa-devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libgbm
|
%package libgbm
|
||||||
Summary: Mesa gbm runtime library
|
Summary: Mesa gbm runtime library
|
||||||
Provides: libgdm libgbm%{?_isa}
|
Provides: libgbm
|
||||||
|
Provides: libgbm%{?_isa}
|
||||||
|
|
||||||
%description libgbm
|
%description libgbm
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libgbm-devel
|
%package libgbm-devel
|
||||||
Summary: Mesa libgbm development package
|
Summary: Mesa libgbm development package
|
||||||
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Provides: libgbm-devel libgbm-devel%{?_isa}
|
Provides: libgbm-devel
|
||||||
|
Provides: libgbm-devel%{?_isa}
|
||||||
|
|
||||||
%description libgbm-devel
|
%description libgbm-devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libxatracker
|
%if 0%{?with_xa}
|
||||||
|
%package libxatracker
|
||||||
Summary: Mesa XA state tracker
|
Summary: Mesa XA state tracker
|
||||||
Provides: libxatracker libxatracker%{?_isa}
|
Provides: libxatracker
|
||||||
|
Provides: libxatracker%{?_isa}
|
||||||
|
|
||||||
%description libxatracker
|
%description libxatracker
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libxatracker-devel
|
%package libxatracker-devel
|
||||||
Summary: Mesa XA state tracker development package
|
Summary: Mesa XA state tracker development package
|
||||||
Requires: %{name}-libxatracker%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-libxatracker%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Provides: libxatracker-devel libxatracker-devel%{?_isa}
|
Provides: libxatracker-devel
|
||||||
|
Provides: libxatracker-devel%{?_isa}
|
||||||
|
|
||||||
%description libxatracker-devel
|
%description libxatracker-devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
%endif
|
||||||
|
|
||||||
%package libglapi
|
%package libglapi
|
||||||
Summary: Mesa shared glapi
|
Summary: Mesa shared glapi
|
||||||
Provides: libglapi libglapi%{?_isa}
|
Provides: libglapi
|
||||||
|
Provides: libglapi%{?_isa}
|
||||||
|
|
||||||
%description libglapi
|
%description libglapi
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%if 0%{?with_opencl}
|
%if 0%{?with_opencl}
|
||||||
%package libOpenCL
|
%package libOpenCL
|
||||||
Summary: Mesa OpenCL runtime library
|
Summary: Mesa OpenCL runtime library
|
||||||
Requires: ocl-icd%{?_isa}
|
Requires: ocl-icd%{?_isa}
|
||||||
Requires: libclc%{?_isa}
|
Requires: libclc%{?_isa}
|
||||||
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Requires: opencl-filesystem
|
Requires: opencl-filesystem
|
||||||
|
|
||||||
%description libOpenCL
|
%description libOpenCL
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libOpenCL-devel
|
%package libOpenCL-devel
|
||||||
Summary: Mesa OpenCL development package
|
Summary: Mesa OpenCL development package
|
||||||
Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
%description libOpenCL-devel
|
%description libOpenCL-devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%package libd3d
|
%if 0%{?with_nine}
|
||||||
|
%package libd3d
|
||||||
Summary: Mesa Direct3D9 state tracker
|
Summary: Mesa Direct3D9 state tracker
|
||||||
|
|
||||||
%description libd3d
|
%description libd3d
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%package libd3d-devel
|
%package libd3d-devel
|
||||||
Summary: Mesa Direct3D9 state tracker development package
|
Summary: Mesa Direct3D9 state tracker development package
|
||||||
Requires: %{name}-libd3d%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-libd3d%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
|
||||||
%description libd3d-devel
|
%description libd3d-devel
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
%endif
|
||||||
|
|
||||||
%package vulkan-drivers
|
%package vulkan-drivers
|
||||||
Summary: Mesa Vulkan drivers
|
Summary: Mesa Vulkan drivers
|
||||||
Requires: vulkan%{?_isa}
|
Requires: vulkan%{_isa}
|
||||||
|
|
||||||
%description vulkan-drivers
|
%description vulkan-drivers
|
||||||
The drivers with support for the Vulkan API.
|
The drivers with support for the Vulkan API.
|
||||||
|
|
||||||
%package vulkan-devel
|
%package vulkan-devel
|
||||||
Summary: Mesa Vulkan development files
|
Summary: Mesa Vulkan development files
|
||||||
Requires: %{name}-vulkan-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
Requires: %{name}-vulkan-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
Requires: vulkan-devel
|
Requires: vulkan-devel
|
||||||
|
|
||||||
%description vulkan-devel
|
%description vulkan-devel
|
||||||
Headers for development with the Vulkan API.
|
Headers for development with the Vulkan API.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
@ -228,18 +322,33 @@ Headers for development with the Vulkan API.
|
|||||||
# Make sure the build uses gnu++14 as llvm 10 headers require that
|
# Make sure the build uses gnu++14 as llvm 10 headers require that
|
||||||
sed -i -e 's/cpp_std=gnu++11/cpp_std=gnu++14/g' meson.build
|
sed -i -e 's/cpp_std=gnu++11/cpp_std=gnu++14/g' meson.build
|
||||||
|
|
||||||
|
# cElementTree no longer exists in Python 3.9
|
||||||
|
sed -i -e 's/import xml.etree.cElementTree/import xml.etree.ElementTree/g' \
|
||||||
|
src/amd/vulkan/radv_extensions.py \
|
||||||
|
src/freedreno/vulkan/tu_extensions.py \
|
||||||
|
src/intel/vulkan/anv_extensions_gen.py
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
|
# Build with -fcommon until the omx build with gcc10 is fixed upstream
|
||||||
|
# https://gitlab.freedesktop.org/mesa/mesa/issues/2385
|
||||||
|
%global optflags %{optflags} -fcommon
|
||||||
|
|
||||||
%meson -Dcpp_std=gnu++14 \
|
%meson -Dcpp_std=gnu++14 \
|
||||||
-Dplatforms=x11,wayland,drm,surfaceless \
|
-Dplatforms=x11,wayland,drm,surfaceless \
|
||||||
-Ddri3=true \
|
-Ddri3=true \
|
||||||
-Ddri-drivers=%{?dri_drivers} \
|
-Ddri-drivers=%{?dri_drivers} \
|
||||||
|
%if 0%{?with_hardware}
|
||||||
-Dgallium-drivers=swrast,virgl,r300,nouveau%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost} \
|
-Dgallium-drivers=swrast,virgl,r300,nouveau%{?with_iris:,iris}%{?with_vmware:,svga}%{?with_radeonsi:,radeonsi,r600}%{?with_freedreno:,freedreno}%{?with_etnaviv:,etnaviv}%{?with_tegra:,tegra}%{?with_vc4:,vc4}%{?with_v3d:,v3d}%{?with_kmsro:,kmsro}%{?with_lima:,lima}%{?with_panfrost:,panfrost} \
|
||||||
-Dgallium-vdpau=true \
|
%else
|
||||||
|
-Dgallium-drivers=swrast,virgl \
|
||||||
|
%endif
|
||||||
|
-Dgallium-vdpau=%{?with_vdpau:true}%{!?with_vdpau:false} \
|
||||||
-Dgallium-xvmc=false \
|
-Dgallium-xvmc=false \
|
||||||
-Dgallium-omx=bellagio \
|
-Dgallium-omx=%{?with_omx:bellagio}%{!?with_omx:disabled} \
|
||||||
-Dgallium-va=true \
|
-Dgallium-va=%{?with_vaapi:true}%{!?with_vaapi:false} \
|
||||||
-Dgallium-xa=true \
|
-Dgallium-xa=%{?with_xa:true}%{!?with_xa:false} \
|
||||||
-Dgallium-nine=true \
|
-Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \
|
||||||
-Dgallium-opencl=disabled \
|
-Dgallium-opencl=disabled \
|
||||||
-Dvulkan-drivers=%{?vulkan_drivers} \
|
-Dvulkan-drivers=%{?vulkan_drivers} \
|
||||||
-Dshared-glapi=true \
|
-Dshared-glapi=true \
|
||||||
@ -264,134 +373,126 @@ sed -i -e 's/cpp_std=gnu++11/cpp_std=gnu++14/g' meson.build
|
|||||||
%install
|
%install
|
||||||
%meson_install
|
%meson_install
|
||||||
|
|
||||||
rm -f %{buildroot}%{_libdir}/vdpau/*.so
|
# libvdpau opens the versioned name, don't bother including the unversioned
|
||||||
rm -f %{buildroot}%{_libdir}/libGLX_mesa.so
|
rm -vf %{buildroot}%{_libdir}/vdpau/*.so
|
||||||
rm -f %{buildroot}%{_libdir}/libEGL_mesa.so
|
# likewise glvnd
|
||||||
rm -f %{buildroot}%{_libdir}/libGLES*
|
rm -vf %{buildroot}%{_libdir}/libGLX_mesa.so
|
||||||
|
rm -vf %{buildroot}%{_libdir}/libEGL_mesa.so
|
||||||
|
# XXX can we just not build this
|
||||||
|
rm -vf %{buildroot}%{_libdir}/libGLES*
|
||||||
|
|
||||||
|
# glvnd needs a default provider for indirect rendering where it cannot
|
||||||
|
# determine the vendor
|
||||||
ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0
|
ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0
|
||||||
|
|
||||||
%delete_la
|
# this keeps breaking, check it early. note that the exit from eu-ftr is odd.
|
||||||
|
|
||||||
pushd %{buildroot}%{_libdir}
|
pushd %{buildroot}%{_libdir}
|
||||||
for i in libOSMesa*.so libGL.so ; do
|
for i in libOSMesa*.so libGL.so ; do
|
||||||
eu-findtextrel $i && exit 1
|
eu-findtextrel $i && exit 1
|
||||||
done
|
done
|
||||||
popd
|
popd
|
||||||
|
|
||||||
%ldconfig_scriptlets libglapi
|
%files filesystem
|
||||||
%ldconfig_scriptlets libOSMesa
|
%dir %{_libdir}/dri
|
||||||
%ldconfig_scriptlets libgbm
|
%if 0%{?with_hardware}
|
||||||
%ldconfig_scriptlets libxatracker
|
%if 0%{?with_vdpau}
|
||||||
%if 0%{?with_opencl}
|
%dir %{_libdir}/vdpau
|
||||||
%ldconfig_scriptlets libOpenCL
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files filesystem
|
|
||||||
%defattr(-,root,root)
|
|
||||||
%doc docs/libGL.txt
|
|
||||||
%license docs/license.html
|
|
||||||
%dir %{_libdir}/dri
|
|
||||||
%dir %{_libdir}/vdpau
|
|
||||||
|
|
||||||
%files libGL
|
%files libGL
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_libdir}/libGLX_mesa.so.0*
|
%{_libdir}/libGLX_mesa.so.0*
|
||||||
%{_libdir}/libGLX_system.so.0*
|
%{_libdir}/libGLX_system.so.0*
|
||||||
|
|
||||||
%files libGL-devel
|
%files libGL-devel
|
||||||
%defattr(-,root,root)
|
%dir %{_includedir}/GL/internal
|
||||||
%{_includedir}/GL/internal/dri_interface.h
|
%{_includedir}/GL/internal/dri_interface.h
|
||||||
%{_libdir}/libglapi.so
|
|
||||||
%{_libdir}/pkgconfig/dri.pc
|
%{_libdir}/pkgconfig/dri.pc
|
||||||
|
%{_libdir}/libglapi.so
|
||||||
|
|
||||||
%files libEGL
|
%files libEGL
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
|
%{_datadir}/glvnd/egl_vendor.d/50_mesa.json
|
||||||
%{_libdir}/libEGL_mesa.so.0*
|
%{_libdir}/libEGL_mesa.so.0*
|
||||||
|
|
||||||
%files libEGL-devel
|
%files libEGL-devel
|
||||||
%defattr(-,root,root)
|
%dir %{_includedir}/EGL
|
||||||
%{_includedir}/EGL/egl*.h
|
%{_includedir}/EGL/eglmesaext.h
|
||||||
|
%{_includedir}/EGL/eglextchromium.h
|
||||||
|
|
||||||
|
%ldconfig_scriptlets libglapi
|
||||||
%files libglapi
|
%files libglapi
|
||||||
%defattr(-,root,root)
|
%{_libdir}/libglapi.so.0
|
||||||
%{_libdir}/libglapi.so.0*
|
%{_libdir}/libglapi.so.0.*
|
||||||
|
|
||||||
|
%ldconfig_scriptlets libOSMesa
|
||||||
%files libOSMesa
|
%files libOSMesa
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_libdir}/libOSMesa.so.8*
|
%{_libdir}/libOSMesa.so.8*
|
||||||
|
|
||||||
%files libOSMesa-devel
|
%files libOSMesa-devel
|
||||||
%defattr(-,root,root)
|
%dir %{_includedir}/GL
|
||||||
%{_includedir}/GL/osmesa.h
|
%{_includedir}/GL/osmesa.h
|
||||||
%{_libdir}/libOSMesa.so
|
%{_libdir}/libOSMesa.so
|
||||||
%{_libdir}/pkgconfig/osmesa.pc
|
%{_libdir}/pkgconfig/osmesa.pc
|
||||||
|
|
||||||
|
%ldconfig_scriptlets libgbm
|
||||||
%files libgbm
|
%files libgbm
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_libdir}/libgbm.so.1
|
%{_libdir}/libgbm.so.1
|
||||||
%{_libdir}/libgbm.so.1.*
|
%{_libdir}/libgbm.so.1.*
|
||||||
|
|
||||||
%files libgbm-devel
|
%files libgbm-devel
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_libdir}/libgbm.so
|
%{_libdir}/libgbm.so
|
||||||
%{_includedir}/gbm.h
|
%{_includedir}/gbm.h
|
||||||
%{_libdir}/pkgconfig/gbm.pc
|
%{_libdir}/pkgconfig/gbm.pc
|
||||||
|
|
||||||
|
%if 0%{?with_xa}
|
||||||
|
%ldconfig_scriptlets libxatracker
|
||||||
%files libxatracker
|
%files libxatracker
|
||||||
%defattr(-,root,root)
|
%if 0%{?with_hardware}
|
||||||
%{_libdir}/libxatracker.so.2*
|
%{_libdir}/libxatracker.so.2
|
||||||
|
%{_libdir}/libxatracker.so.2.*
|
||||||
|
%endif
|
||||||
|
|
||||||
%files libxatracker-devel
|
%files libxatracker-devel
|
||||||
%defattr(-,root,root)
|
%if 0%{?with_hardware}
|
||||||
%{_libdir}/libxatracker.so
|
%{_libdir}/libxatracker.so
|
||||||
%{_includedir}/xa_*.h
|
%{_includedir}/xa_tracker.h
|
||||||
|
%{_includedir}/xa_composite.h
|
||||||
|
%{_includedir}/xa_context.h
|
||||||
%{_libdir}/pkgconfig/xatracker.pc
|
%{_libdir}/pkgconfig/xatracker.pc
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
%if 0%{?with_opencl}
|
%if 0%{?with_opencl}
|
||||||
|
%ldconfig_scriptlets libOpenCL
|
||||||
%files libOpenCL
|
%files libOpenCL
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_libdir}/libMesaOpenCL.so.*
|
%{_libdir}/libMesaOpenCL.so.*
|
||||||
%{_sysconfdir}/OpenCL/vendors/mesa.icd
|
%{_sysconfdir}/OpenCL/vendors/mesa.icd
|
||||||
|
|
||||||
%files libOpenCL-devel
|
%files libOpenCL-devel
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_libdir}/libMesaOpenCL.so
|
%{_libdir}/libMesaOpenCL.so
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?with_nine}
|
||||||
%files libd3d
|
%files libd3d
|
||||||
%defattr(-,root,root)
|
%dir %{_libdir}/d3d/
|
||||||
%{_libdir}/d3d/*.so.*
|
%{_libdir}/d3d/*.so.*
|
||||||
|
|
||||||
%files libd3d-devel
|
%files libd3d-devel
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_libdir}/pkgconfig/d3d.pc
|
%{_libdir}/pkgconfig/d3d.pc
|
||||||
%{_includedir}/d3dadapter/
|
%{_includedir}/d3dadapter/
|
||||||
%{_libdir}/d3d/*.so
|
%{_libdir}/d3d/*.so
|
||||||
|
%endif
|
||||||
|
|
||||||
%files dri-drivers
|
%files dri-drivers
|
||||||
%defattr(-,root,root)
|
|
||||||
%dir %{_datadir}/drirc.d
|
%dir %{_datadir}/drirc.d
|
||||||
%{_datadir}/drirc.d/00-mesa-defaults.conf
|
%{_datadir}/drirc.d/00-mesa-defaults.conf
|
||||||
|
%if 0%{?with_hardware}
|
||||||
%{_libdir}/dri/radeon_dri.so
|
%{_libdir}/dri/radeon_dri.so
|
||||||
%{_libdir}/dri/r200_dri.so
|
%{_libdir}/dri/r200_dri.so
|
||||||
%{_libdir}/dri/nouveau_vieux_dri.so
|
%{_libdir}/dri/nouveau_vieux_dri.so
|
||||||
%{_libdir}/dri/r300_dri.so
|
%{_libdir}/dri/r300_dri.so
|
||||||
|
%if 0%{?with_radeonsi}
|
||||||
%{_libdir}/dri/r600_dri.so
|
%{_libdir}/dri/r600_dri.so
|
||||||
%{_libdir}/dri/radeonsi_dri.so
|
%{_libdir}/dri/radeonsi_dri.so
|
||||||
%{_libdir}/dri/nouveau_dri.so
|
%endif
|
||||||
%{_libdir}/dri/nouveau_drv_video.so
|
|
||||||
%{_libdir}/dri/r600_drv_video.so
|
|
||||||
%{_libdir}/dri/radeonsi_drv_video.so
|
|
||||||
%{_libdir}/dri/kms_swrast_dri.so
|
|
||||||
%{_libdir}/dri/swrast_dri.so
|
|
||||||
%{_libdir}/dri/virtio_gpu_dri.so
|
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
%{_libdir}/dri/i915_dri.so
|
%{_libdir}/dri/i915_dri.so
|
||||||
%{_libdir}/dri/i965_dri.so
|
%{_libdir}/dri/i965_dri.so
|
||||||
%{_libdir}/dri/vmwgfx_dri.so
|
|
||||||
%{_libdir}/dri/iris_dri.so
|
%{_libdir}/dri/iris_dri.so
|
||||||
%endif
|
%endif
|
||||||
%ifarch %{arm} aarch64
|
%ifarch %{arm} aarch64
|
||||||
@ -399,16 +500,48 @@ popd
|
|||||||
%{_libdir}/dri/mcde_dri.so
|
%{_libdir}/dri/mcde_dri.so
|
||||||
%{_libdir}/dri/mxsfb-drm_dri.so
|
%{_libdir}/dri/mxsfb-drm_dri.so
|
||||||
%{_libdir}/dri/stm_dri.so
|
%{_libdir}/dri/stm_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_vc4}
|
||||||
%{_libdir}/dri/vc4_dri.so
|
%{_libdir}/dri/vc4_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_v3d}
|
||||||
|
%{_libdir}/dri/v3d_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_freedreno}
|
||||||
%{_libdir}/dri/kgsl_dri.so
|
%{_libdir}/dri/kgsl_dri.so
|
||||||
%{_libdir}/dri/msm_dri.so
|
%{_libdir}/dri/msm_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_etnaviv}
|
||||||
%{_libdir}/dri/etnaviv_dri.so
|
%{_libdir}/dri/etnaviv_dri.so
|
||||||
%{_libdir}/dri/imx-drm_dri.so
|
%{_libdir}/dri/imx-drm_dri.so
|
||||||
%{_libdir}/dri/v3d_dri.so
|
%endif
|
||||||
|
%if 0%{?with_tegra}
|
||||||
%{_libdir}/dri/tegra_dri.so
|
%{_libdir}/dri/tegra_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_lima}
|
||||||
%{_libdir}/dri/lima_dri.so
|
%{_libdir}/dri/lima_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_panfrost}
|
||||||
%{_libdir}/dri/panfrost_dri.so
|
%{_libdir}/dri/panfrost_dri.so
|
||||||
%endif
|
%endif
|
||||||
|
%{_libdir}/dri/nouveau_dri.so
|
||||||
|
%if 0%{?with_vmware}
|
||||||
|
%{_libdir}/dri/vmwgfx_dri.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_vaapi}
|
||||||
|
%{_libdir}/dri/nouveau_drv_video.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_radeonsi}
|
||||||
|
%if 0%{?with_vaapi}
|
||||||
|
%{_libdir}/dri/r600_drv_video.so
|
||||||
|
%{_libdir}/dri/radeonsi_drv_video.so
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_opencl}
|
||||||
|
%dir %{_libdir}/gallium-pipe
|
||||||
|
%{_libdir}/gallium-pipe/*.so
|
||||||
|
%endif
|
||||||
%if 0%{?with_kmsro}
|
%if 0%{?with_kmsro}
|
||||||
%{_libdir}/dri/armada-drm_dri.so
|
%{_libdir}/dri/armada-drm_dri.so
|
||||||
%{_libdir}/dri/exynos_dri.so
|
%{_libdir}/dri/exynos_dri.so
|
||||||
@ -424,17 +557,28 @@ popd
|
|||||||
%{_libdir}/dri/st7735r_dri.so
|
%{_libdir}/dri/st7735r_dri.so
|
||||||
%{_libdir}/dri/sun4i-drm_dri.so
|
%{_libdir}/dri/sun4i-drm_dri.so
|
||||||
%endif
|
%endif
|
||||||
|
%{_libdir}/dri/kms_swrast_dri.so
|
||||||
|
%{_libdir}/dri/swrast_dri.so
|
||||||
|
%{_libdir}/dri/virtio_gpu_dri.so
|
||||||
|
|
||||||
|
%if 0%{?with_hardware}
|
||||||
|
%if 0%{?with_omx}
|
||||||
%files omx-drivers
|
%files omx-drivers
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_libdir}/bellagio/libomx_mesa.so
|
%{_libdir}/bellagio/libomx_mesa.so
|
||||||
|
%endif
|
||||||
|
%if 0%{?with_vdpau}
|
||||||
%files vdpau-drivers
|
%files vdpau-drivers
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
|
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
|
||||||
%{_libdir}/vdpau/libvdpau_r*.so.1*
|
%{_libdir}/vdpau/libvdpau_r300.so.1*
|
||||||
|
%if 0%{?with_radeonsi}
|
||||||
|
%{_libdir}/vdpau/libvdpau_r600.so.1*
|
||||||
|
%{_libdir}/vdpau/libvdpau_radeonsi.so.1*
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
%files vulkan-drivers
|
%files vulkan-drivers
|
||||||
|
%if 0%{?with_hardware}
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
%{_libdir}/libvulkan_intel.so
|
%{_libdir}/libvulkan_intel.so
|
||||||
%{_datadir}/vulkan/icd.d/intel_icd.*.json
|
%{_datadir}/vulkan/icd.d/intel_icd.*.json
|
||||||
@ -443,16 +587,28 @@ popd
|
|||||||
%{_datadir}/vulkan/icd.d/radeon_icd.*.json
|
%{_datadir}/vulkan/icd.d/radeon_icd.*.json
|
||||||
%{_libdir}/libVkLayer_MESA_device_select.so
|
%{_libdir}/libVkLayer_MESA_device_select.so
|
||||||
%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
|
%{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
|
||||||
|
%endif
|
||||||
|
|
||||||
%files vulkan-devel
|
%files vulkan-devel
|
||||||
|
%if 0%{?with_hardware}
|
||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
%{_includedir}/vulkan/
|
%{_includedir}/vulkan/vulkan_intel.h
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Aug 03 2020 orange-snn <songnannan2@huawei.com> - 20.1.4-1
|
* Thu Mar 25 2021 yanan <yanan@huawei.com> - 20.1.4-2
|
||||||
|
- optimize the mesa spec
|
||||||
|
|
||||||
|
* Sat Oct 10 2020 hanhui <hanhui15@huawei.com> - 20.1.4-1
|
||||||
- update to 20.1.4
|
- update to 20.1.4
|
||||||
|
|
||||||
|
* Wed Jun 03 2020 songnannan <songnannan2@huawei.com> - 18.3.6-2
|
||||||
|
- add mesa-khr-header subpackage to hold <KHR/khrplatform.h>
|
||||||
|
|
||||||
|
* Tue Jun 02 2020 songnannan <songnannan2@huawei.com> - 18.3.6-1
|
||||||
|
- update to 18.3.6
|
||||||
|
|
||||||
* Wed Jan 15 2020 openEuler Buildteam <buildteam@openeuler.org> - 18.2.2-6
|
* Wed Jan 15 2020 openEuler Buildteam <buildteam@openeuler.org> - 18.2.2-6
|
||||||
- disable opencl
|
- disable opencl
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user