X-Git-Url: http://git.pld-linux.org/?p=packages%2FMesa.git;a=blobdiff_plain;f=Mesa.spec;h=d3f6c391ceb9bd1da839823b8c1ced889b7536f7;hp=bbf50c63f983c1934264919b979702134ab0505f;hb=ef3a19d328bfd9cb7962a76e45a05fa0f3b5789a;hpb=50af97daaad3b10f5f0b81aea8ab042a410d9225 diff --git a/Mesa.spec b/Mesa.spec index bbf50c6..d3f6c39 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -1,14 +1,11 @@ -# -# TODO: -# - check if gallium_i915 note is still valid, switch the bcond if not +# TODO: libtizonia >= 0.10.0 as an alternative for bellagio? # # Conditional build: %bcond_without gallium # gallium drivers -%bcond_with gallium_i915 # gallium i915 Intel driver (instead of plain dri; doesn't work with AIGLX) +%bcond_with gallium_i915 # gallium i915 driver instead of dri i915 driver %bcond_without gallium_nouveau # gallium nouveau driver %bcond_without gallium_radeon # gallium radeon drivers %bcond_without egl # EGL libraries -%bcond_with openvg # OpenVG library [not building since 10.4, dropped in 10.6] %bcond_without gbm # Graphics Buffer Manager %bcond_without nine # Nine Direct3D 9+ state tracker (for Wine) %bcond_without opencl # OpenCL support @@ -20,32 +17,27 @@ %bcond_without xa # XA state tracker (for vmwgfx xorg driver) %bcond_with hud_extra # HUD block/NIC I/O HUD stats support %bcond_with lm_sensors # HUD lm_sensors support -%bcond_with texture_float # floating-point textures and renderbuffers (SGI patent in US) -%bcond_with static_libs # static libraries [not supported for DRI, thus broken currently] %bcond_with tests # tests -%bcond_without shared_llvm # disable use of the shared LLVM libs %bcond_without radv # disable build of the radeon Vulkan driver # # glapi version (glapi tables in dri drivers and libglx must be in sync); # set to current Mesa version on ABI break, when xserver tables get regenerated # (until they start to be somehow versioned themselves) %define glapi_ver 7.1.0 -# minimal supported xserver version -%define xserver_ver 1.5.0 # other packages -%define libdrm_ver 2.4.85 +%define libdrm_ver 2.4.97 %define dri2proto_ver 2.8 -%define dri3proto_ver 1.0 %define glproto_ver 1.4.14 -%define presentproto_ver 1.0 %define zlib_ver 1.2.8 +%define wayland_ver 1.11 +%define llvm_ver 7.0.0 +%define gcc_ver 6:4.8.0 %if %{without gallium} %undefine with_gallium_i915 %undefine with_gallium_nouveau %undefine with_gallium_radeon %undefine with_nine -%undefine with_ocl_icd %undefine with_omx %undefine with_opencl %undefine with_xa @@ -56,85 +48,75 @@ %undefine with_wayland %endif +%if %{without opencl} +%undefine with_ocl_icd +%endif + Summary: Free OpenGL implementation Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL Name: Mesa -Version: 17.3.4 +Version: 19.1.1 Release: 1 License: MIT (core) and others - see license.html file Group: X11/Libraries -Source0: ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz -# Source0-md5: f08eccad27f34366db1bb3997d288c2f -Patch0: %{name}-link.patch -Patch1: glvnd-fix-gl-dot-pc.patch +#Source0: ftp://ftp.freedesktop.org/pub/mesa/mesa-%{version}.tar.xz +## Source0-md5: 7c61a801311fb8d2f7b3cceb7b5cf308 +Source0: https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-%{version}/mesa-mesa-%{version}.tar.bz2 +# Source0-md5: 2324dd1054888452684cfcd0a71a9f0d +Patch0: nouveau_no_rtti.patch URL: http://www.mesa3d.org/ -BuildRequires: autoconf >= 2.60 -BuildRequires: automake -%{?with_opencl:BuildRequires: clang-devel >= 3.1} +%{?with_opencl:BuildRequires: clang-devel >= %{llvm_ver}} BuildRequires: elfutils-devel BuildRequires: expat-devel >= 1.95 -BuildRequires: gcc >= 6:4.2.0 -%{?with_nine:BuildRequires: gcc-c++ >= 6:4.6} -%{?with_opencl:BuildRequires: gcc-c++ >= 6:4.7} +BuildRequires: gcc >= %{gcc_ver} BuildRequires: libdrm-devel >= %{libdrm_ver} %{?with_glvnd:BuildRequires: libglvnd-devel >= 0.2.0} BuildRequires: libselinux-devel -BuildRequires: libstdc++-devel >= 6:4.2.0 -BuildRequires: libtalloc-devel >= 2:2.0.1 -BuildRequires: libtool >= 2:2.2 -%{?with_va:BuildRequires: libva-devel >= 1.6.0} -%{?with_va:BuildRequires: pkgconfig(libva) >= 0.38.0} +BuildRequires: libstdc++-devel >= %{gcc_ver} +BuildRequires: libunwind-devel +%{?with_va:BuildRequires: libva-devel} +%{?with_va:BuildRequires: pkgconfig(libva) >= 0.39.0} BuildRequires: libvdpau-devel >= 1.1 -BuildRequires: libxcb-devel >= 1.10 -# gallium core requires 3.3.0, swr/r600/radeonsi require 3.9.0 -%{?with_gallium:BuildRequires: llvm-devel >= 3.9} -%{?with_radv:BuildRequires: llvm-devel >= 3.9} +BuildRequires: libxcb-devel >= 1.13 +%{?with_gallium:BuildRequires: llvm-devel >= %{llvm_ver}} +%{?with_radv:BuildRequires: llvm-devel >= %{llvm_ver}} %{?with_opencl:BuildRequires: llvm-libclc} -# for SHA1 (could use also libmd/libsha1/libgcrypt/openssl instead) -BuildRequires: nettle-devel -%{?with_ocl_icd:BuildRequires: ocl-icd-devel} %{?with_omx:BuildRequires: libomxil-bellagio-devel} -BuildRequires: perl-base -BuildRequires: pixman-devel +BuildRequires: meson >= 0.45 +BuildRequires: ninja >= 1.5 BuildRequires: pkgconfig BuildRequires: pkgconfig(talloc) >= 2.0.1 -BuildRequires: pkgconfig(xcb-dri3) -BuildRequires: pkgconfig(xcb-present) -BuildRequires: python >= 2 -BuildRequires: python-Mako >= 0.8.0 -BuildRequires: python-modules >= 2 +BuildRequires: pkgconfig(xcb-dri2) >= 1.8 +BuildRequires: pkgconfig(xcb-dri3) >= 1.13 +BuildRequires: pkgconfig(xcb-glx) >= 1.8.1 +BuildRequires: pkgconfig(xcb-present) >= 1.13 +BuildRequires: pkgconfig(xcb-randr) >= 1.12 +BuildRequires: python3 +BuildRequires: python3-Mako >= 0.8.0 BuildRequires: rpmbuild(macros) >= 1.470 BuildRequires: sed >= 4.0 # wayland-{client,server} -%{?with_wayland:BuildRequires: wayland-devel >= 1.11.0} +%{?with_wayland:BuildRequires: wayland-devel >= %{wayland_ver}} %{?with_wayland:BuildRequires: wayland-protocols >= 1.8} +%{?with_wayland:BuildRequires: wayland-egl-devel >= %{wayland_ver}} BuildRequires: xorg-lib-libXdamage-devel >= 1.1 BuildRequires: xorg-lib-libXext-devel >= 1.0.5 BuildRequires: xorg-lib-libXfixes-devel -BuildRequires: xorg-lib-libXt-devel +BuildRequires: xorg-lib-libXrandr-devel >= 1.3 BuildRequires: xorg-lib-libXvMC-devel >= 1.0.6 BuildRequires: xorg-lib-libXxf86vm-devel BuildRequires: xorg-lib-libxshmfence-devel >= 1.1 BuildRequires: xorg-proto-dri2proto-devel >= %{dri2proto_ver} -BuildRequires: xorg-proto-dri3proto-devel >= %{dri3proto_ver} BuildRequires: xorg-proto-glproto-devel >= %{glproto_ver} -BuildRequires: xorg-proto-presentproto-devel >= %{presentproto_ver} -BuildRequires: xorg-util-makedepend %if %{with gallium} -%{?with_lm_sensors:BuildRequires: lm_sensors-devel >= 4.0} -BuildRequires: xorg-proto-xextproto-devel >= 7.0.99.1 -BuildRequires: xorg-xserver-server-devel >= %{xserver_ver} +%{?with_lm_sensors:BuildRequires: lm_sensors-devel} %endif BuildRequires: zlib-devel >= %{zlib_ver} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # libGLESv1_CM, libGLESv2, libGL, libOSMesa: # _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?) -# libgbm: circular dependency with libEGL (wayland_buffer_is_drm symbol) -%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libgbm.*.so.* libGLX_mesa.so.0.* - -# llvm build broken -%define filterout_ld -Wl,--as-needed +%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libOSMesa.so.* libGLX_mesa.so.0.* %description Mesa is a 3-D graphics library with an API which is very similar to @@ -160,7 +142,7 @@ Requires: %{name}-libglapi = %{version}-%{release} # glx driver in libEGL dlopens libGL.so Requires: OpenGL >= 1.2 Requires: libdrm >= %{libdrm_ver} -Requires: libxcb >= 1.9 +Requires: libxcb >= 1.13 %{?with_wayland:Requires: wayland >= 1.11.0} %if %{with gbm} Requires: %{name}-libgbm = %{version}-%{release} @@ -222,6 +204,7 @@ License: MIT Group: X11/Libraries Requires: %{name}-libglapi = %{version}-%{release} Requires: libdrm >= %{libdrm_ver} +Requires: libxcb >= 1.13 Requires: xorg-lib-libXdamage >= 1.1 Provides: OpenGL = 4.5 Provides: OpenGL-GLX = 1.4 @@ -458,43 +441,6 @@ Header files for Mesa OpenCL library. %description libOpenCL-devel -l pl.UTF-8 Pliki nagłówkowe biblioteki Mesa OpenCL. -%package libOpenVG -Summary: Mesa implementation of OpenVG (Vector Graphics Accelleration) API -Summary(pl.UTF-8): Implementacja Mesa API OpenVG (akceleracji grafiki wektorowej) -License: MIT -Group: Libraries -Provides: OpenVG = 1.1 - -%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: . -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: . 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: %{name}-khrplatform-devel = %{version}-%{release} -Requires: %{name}-libOpenVG = %{version}-%{release} -Provides: OpenVG-devel = 1.1 - -%description libOpenVG-devel -Header file for Mesa OpenVG library. - -%description libOpenVG-devel -l pl.UTF-8 -Plik nagłówkowy biblioteki Mesa OpenVG. - %package libXvMC-nouveau Summary: Mesa implementation of XvMC API for NVidia adapters Summary(pl.UTF-8): Implementacja Mesa API XvMC dla kart NVidia @@ -626,31 +572,6 @@ Mesa GL API shared library, common for various APIs (EGL, GL, GLES). Biblioteka współdzielona Mesa GL API, wspólna dla różnych API (EGL, GL, GLES). -%package libwayland-egl -Summary: Wayland EGL library -Summary(pl.UTF-8): Biblioteka Wayland EGL -Group: Libraries -Requires: libdrm >= %{libdrm_ver} - -%description libwayland-egl -Wayland EGL platform library. - -%description libwayland-egl -l pl.UTF-8 -Biblioteka platformy EGL Wayland. - -%package libwayland-egl-devel -Summary: Development files for Wayland EGL library -Summary(pl.UTF-8): Pliki programistyczne biblioteki Wayland EGL -Group: Development/Libraries -Requires: %{name}-libwayland-egl = %{version}-%{release} -Requires: libdrm-devel >= %{libdrm_ver} - -%description libwayland-egl-devel -Development files for Wayland EGL platform library. - -%description libwayland-egl-devel -l pl.UTF-8 -Pliki programistyczne biblioteki platformy EGL Wayland. - %package libxatracker Summary: Xorg Gallium3D accelleration library Summary(pl.UTF-8): Biblioteka akceleracji Gallium3D dla Xorg @@ -793,13 +714,13 @@ Requires: zlib >= %{zlib_ver} X.org Gallium DRI driver for ATI Southern Islands card family (Radeon HD 7700-8000, R9, APU). It supports TAHITI, PITCAIRN, VERDE, OLAND, HAINAN, BONAIRE, KABINI, MULLINS, KAVERI, HAWAII, ICELAND, TONGA, -CARRIZO, FIJI, POLARIS, STONEY chips. +CARRIZO, FIJI, POLARIS, STONEY, VEGA, RAVEN chips. %description dri-driver-ati-radeon-SI -l pl.UTF-8 Sterownik X.org DRI Gallium dla rodziny kart ATI Southern Islands (Radeon HD 7700-8000, R9, APU). Obsługuje układy TAHITI, PITCAIRN, VERDE, OLAND, HAINAN, BONAIRE, KABINI, MULLINS, KAVERI, HAWAII, -ICELAND, TONGA, CARRIZO, FIJI, POLARIS, STONEY. +ICELAND, TONGA, CARRIZO, FIJI, POLARIS, STONEY, VEGA, RAVEN. %package dri-driver-etnaviv Summary: X.org DRI driver for Vivante 3D chips @@ -812,10 +733,10 @@ Requires: xorg-xserver-server >= %{xserver_ver} Requires: zlib >= %{zlib_ver} %description dri-driver-etnaviv -X.org DRI driver for Vivante 3D chips. +X.org Gallium DRI driver for Vivante 3D chips. %description dri-driver-etnaviv -l pl.UTF-8 -Sterownik X.org DRI dla układów Vivante 3D. +Sterownik X.org DRI Gallium dla układów Vivante 3D. %package dri-driver-freedreno Summary: X.org DRI driver for Adreno chips @@ -828,10 +749,10 @@ Requires: xorg-xserver-server >= %{xserver_ver} Requires: zlib >= %{zlib_ver} %description dri-driver-freedreno -X.org DRI driver for Adreno chips. +X.org Gallium DRI driver for Adreno chips. %description dri-driver-freedreno -l pl.UTF-8 -Sterownik X.org DRI dla układów Adreno. +Sterownik X.org DRI Gallium dla układów Adreno. %package dri-driver-intel-i915 Summary: X.org DRI driver for Intel i915 card family @@ -867,13 +788,69 @@ Obsoletes: X11-driver-i810-dri < 1:7.0.0 X.org (non-Gallium) DRI driver for Intel i965 card family (946GZ, 965G, 965Q, 965GM, 965GME, GM45, G41, B43, Q45/Q43, G45/G43, Ironlake, Sandybridge, Ivybridge, Haswell, Ray Trail, Broadwell, Cherrytrail, -Braswell, Cherryview, Skylake, Broxton, Kabylake, Geminilake); +Braswell, Cherryview, Skylake, Broxton, Kabylake, Coffeelake, +Geminilake, Whiskey Lake, Comet Lake, Cannonlake, Ice Lake, Elkhart +Lake). %description dri-driver-intel-i965 -l pl.UTF-8 Sterownik X.org DRI (nie Gallium) dla rodziny kart Intel i965 (946GZ, 965G, 965Q, 965GM, 965GME, GM45, G41, B43, Q45/Q43, G45/G43, Ironlake, Sandybridge, Ivybridge, Haswell, Ray Trail, Broadwell, Cherrytrail, -Braswell, Cherryview, Skylake, Broxton, Kabylake, Geminilake); +Braswell, Cherryview, Skylake, Broxton, Kabylake, Coffeelake, +Geminilake, Whiskey Lake, Comet Lake, Cannonlake, Ice Lake, Elkhart +Lake). + +%package dri-driver-intel-iris +Summary: X.org DRI driver for Intel Iris (Gen8+) card family +Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart Intel Iris (Gen8+) +License: MIT +Group: X11/Libraries +Requires: xorg-xserver-libglx(glapi) = %{glapi_ver} +Requires: xorg-xserver-server >= %{xserver_ver} +Requires: zlib >= %{zlib_ver} + +%description dri-driver-intel-iris +X.org Gallium DRI driver for Intel Iris (Gen8+) card family +(Broadwell, Skylake, Broxton, Kabylake, Coffeelake, Geminilake, +Whiskey Lake, Comet Lake, Cannonlake, Ice Lake, Elkhart Lake). + +%description dri-driver-intel-iris -l pl.UTF-8 +Sterownik X.org DRI Gallium dla rodziny kart Intel Iris (Gen8+: +Broadwell, Skylake, Broxton, Kabylake, Coffeelake, Geminilake, +Whiskey Lake, Comet Lake, Cannonlake, Ice Lake, Elkhart Lake). + +%package dri-driver-kmsro +Summary: X.org Gallium DRI driver using KMS Render-Only architecture +Summary(pl.UTF-8): Sterownik X.org DRI Gallium wykorzystujący architekturę KMS Render-Only +License: MIT +Group: X11/Libraries +#Requires: xorg-driver-video-? +Requires: xorg-xserver-libglx(glapi) = %{glapi_ver} +Requires: xorg-xserver-server >= %{xserver_ver} +Requires: zlib >= %{zlib_ver} + +%description dri-driver-kmsro +X.org Gallium DRI driver using KMS Render-Only architecture. + +%description dri-driver-kmsro -l pl.UTF-8 +Sterownik X.org DRI Gallium wykorzystujący architekturę KMS +Render-Only. + +%package dri-driver-lima +Summary: X.org DRI driver for Mali Utgard chips +Summary(pl.UTF-8): Sterownik X.org DRI dla układów Mali Utgard +License: MIT +Group: X11/Libraries +#Requires: xorg-driver-video-??? +Requires: xorg-xserver-libglx(glapi) = %{glapi_ver} +Requires: xorg-xserver-server >= %{xserver_ver} +Requires: zlib >= %{zlib_ver} + +%description dri-driver-lima +X.org Gallium DRI driver for Mali Utgard chips. + +%description dri-driver-lima -l pl.UTF-8 +Sterownik X.org DRI Gallium dla układów Mali Utgard. %package dri-driver-nouveau Summary: X.org DRI driver for NVIDIA card family @@ -891,6 +868,22 @@ 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-panfrost +Summary: X.org DRI driver for Mali Midgard/Bifrost chips +Summary(pl.UTF-8): Sterownik X.org DRI dla układów Mali Midgard/Bifrost +License: MIT +Group: X11/Libraries +#Requires: xorg-driver-video-??? +Requires: xorg-xserver-libglx(glapi) = %{glapi_ver} +Requires: xorg-xserver-server >= %{xserver_ver} +Requires: zlib >= %{zlib_ver} + +%description dri-driver-panfrost +X.org Gallium DRI driver for Mali Midgard/Bifrost chips. + +%description dri-driver-panfrost -l pl.UTF-8 +Sterownik X.org DRI Gallium dla układów Mali Midgard/Bifrost. + %package dri-driver-swrast Summary: X.org DRI software rasterizer driver Summary(pl.UTF-8): Sterownik X.org DRI obsługujący rysowanie programowe @@ -906,6 +899,38 @@ X.org DRI software rasterizer driver. %description dri-driver-swrast -l pl.UTF-8 Sterownik X.org DRI obsługujący rysowanie programowe. +%package dri-driver-tegra +Summary: X.org DRI driver for Tegra SoC chips +Summary(pl.UTF-8): Sterownik X.org DRI dla układów SoC Tegra +License: MIT +Group: X11/Libraries +#Requires: xorg-driver-video-??? +Requires: xorg-xserver-libglx(glapi) = %{glapi_ver} +Requires: xorg-xserver-server >= %{xserver_ver} +Requires: zlib >= %{zlib_ver} + +%description dri-driver-tegra +X.org Gallium DRI driver for Tegra SoC chips. + +%description dri-driver-tegra -l pl.UTF-8 +Sterownik X.org DRI Gallium dla układów Tegra SoC. + +%package dri-driver-v3d +Summary: X.org DRI driver for Broadcom VC5 chips +Summary(pl.UTF-8): Sterownik X.org DRI dla układów Broadcom VC5 +License: MIT +Group: X11/Libraries +Requires: xorg-driver-video-modesetting +Requires: xorg-xserver-libglx(glapi) = %{glapi_ver} +Requires: xorg-xserver-server >= %{xserver_ver} +Requires: zlib >= %{zlib_ver} + +%description dri-driver-v3d +X.org Gallium DRI driver for Broadcom VC5 chips. + +%description dri-driver-v3d -l pl.UTF-8 +Sterownik X.org DRI Gallium dla układów Broadcom VC5. + %package dri-driver-vc4 Summary: X.org DRI driver for Broadcom VC4 chips Summary(pl.UTF-8): Sterownik X.org DRI dla układów Broadcom VC4 @@ -917,10 +942,10 @@ Requires: xorg-xserver-server >= %{xserver_ver} Requires: zlib >= %{zlib_ver} %description dri-driver-vc4 -X.org DRI driver for Broadcom VC4 chips. +X.org Gallium DRI driver for Broadcom VC4 chips. %description dri-driver-vc4 -l pl.UTF-8 -Sterownik X.org DRI dla układów Broadcom VC4. +Sterownik X.org DRI Gallium dla układów Broadcom VC4. %package dri-driver-virgl Summary: X.org DRI driver for QEMU VirGL @@ -954,12 +979,12 @@ X.org DRI driver for VMWare. Sterownik X.org DRI dla VMware. %package pipe-driver-i915 -Summary: i915 driver for Mesa Gallium dynamic pipe loader -Summary(pl.UTF-8): Sterownik i915 dla dynamicznego systemu potoków szkieletu Mesa Gallium -Group: Libraries -Requires: zlib >= %{zlib_ver} -Obsoletes: Mesa-gbm-driver-i915 -Obsoletes: Mesa-opencl-driver-i915 +Summary: i915 driver for Mesa Gallium dynamic pipe loader +Summary(pl.UTF-8): Sterownik i915 dla dynamicznego systemu potoków szkieletu Mesa Gallium +Group: Libraries +Requires: zlib >= %{zlib_ver} +Obsoletes: Mesa-gbm-driver-i915 +Obsoletes: Mesa-opencl-driver-i915 %description pipe-driver-i915 i915 driver for Mesa Gallium dynamic pipe loader. It supports Intel @@ -1204,7 +1229,7 @@ Summary(pl.UTF-8): Sterownik Mesa nouveau dla API Bellagio OpenMAX IL License: MIT Group: X11/Libraries Requires: libdrm >= %{libdrm_ver} -Requires: libxcb >= 1.8 +Requires: libxcb >= 1.13 Requires: libomxil-bellagio Requires: zlib >= %{zlib_ver} Obsoletes: omxil-mesa-nouveau @@ -1223,6 +1248,11 @@ Summary(pl.UTF-8): Sterownik Vulkan dla GPU firmy Intel License: MIT Group: Libraries Requires: libdrm >= %{libdrm_ver} +Requires: libxcb >= 1.13 +Requires: xorg-lib-libXrandr >= 1.3 +Requires: xorg-lib-libxshmfence >= 1.1 +# wayland-client +Requires: wayland >= %{wayland_ver} Requires: zlib >= %{zlib_ver} Suggests: vulkan(loader) Provides: vulkan(icd) = 1.0.3 @@ -1251,6 +1281,12 @@ Summary: radv - experimental Mesa Vulkan driver for AMD Radeon GPUs Summary(pl.UTF-8): radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD License: MIT Group: Libraries +Requires: libdrm >= %{libdrm_ver} +Requires: libxcb >= 1.13 +Requires: xorg-lib-libXrandr >= 1.3 +Requires: xorg-lib-libxshmfence >= 1.1 +# wayland-client +Requires: wayland >= %{wayland_ver} Requires: zlib >= %{zlib_ver} Suggests: vulkan(loader) Provides: vulkan(icd) = 1.0.3 @@ -1262,19 +1298,23 @@ radv - experimental Mesa Vulkan driver for AMD Radeon GPUs. radv - eksperymentalny sterownik Vulkan dla GPU firmy AMD. %prep -%setup -q -n mesa-%{version} +%setup -q -n mesa-mesa-%{version} + %patch0 -p1 -%if %{with glvnd} -%patch1 -p1 -%endif %build -%{__libtoolize} -%{__aclocal} -I m4 -%{__autoconf} -%{__automake} -dri_drivers="nouveau r200 radeon swrast \ +%if %{with opencl} +if [ "$(llvm-config --has-rtti)" != "YES" ] ; then + echo "Clover (gallium OpenCL) requires LLVM with RTTI!" + exit 1 +fi +%endif + +dri_drivers="nouveau r100 r200 \ +%if %{without gallium} +swrast +%endif %ifarch %{ix86} %{x8664} x32 i965 %{!?with_gallium_i915:i915} \ %endif @@ -1282,9 +1322,9 @@ i965 %{!?with_gallium_i915:i915} \ dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',') -gallium_drivers="svga swrast virgl \ +gallium_drivers="virgl swrast \ %ifarch %{ix86} %{x8664} x32 -swr %{?with_gallium_i915:i915} \ +svga iris swr %{?with_gallium_i915:i915} \ %endif %if %{with gallium_radeon} r300 r600 radeonsi \ @@ -1292,17 +1332,21 @@ r300 r600 radeonsi \ %if %{with gallium_nouveau} nouveau %endif -%ifarch %{arm} +%ifarch %{arm} aarch64 etnaviv \ freedreno \ -imx \ +kmsro \ +lima \ +panfrost \ +tegra \ +v3d \ vc4 \ %endif " gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') -vulkan_drivers="%{?with_radv:radeon} \ +vulkan_drivers="%{?with_radv:amd} \ %ifarch %{ix86} %{x8664} x32 intel \ %endif @@ -1310,70 +1354,50 @@ intel \ vulkan_drivers=$(echo $vulkan_drivers | xargs | tr ' ' ',') -%configure \ - --disable-silent-rules \ - %{__enable gbm} \ - --enable-glx-tls \ - %{?with_glvnd:--enable-libglvnd} \ - --enable-osmesa \ - --enable-selinux \ - --enable-shared \ - --enable-shared-glapi \ - %{?with_static_libs:--enable-static} \ - %{?with_texture_float:--enable-texture-float} \ -%if %{with egl} - --enable-egl \ - --enable-gles1 \ - --enable-gles2 \ - --with-platforms=x11%{?with_gbm:,drm}%{?with_wayland:,wayland} \ +%meson build \ + -Dplatforms=x11,drm,%{?with_wayland:,wayland},surfaceless \ + -Ddri3=true \ + -Ddri-drivers=${dri_drivers} \ + -Ddri-drivers-path=%{_libdir}/xorg/modules/dri \ + -Degl=%{?with_egl:true}%{!?with_egl:false} \ + -Dgallium-drivers=${gallium_drivers} \ + %{?with_hud_extra:-Dgallium-extra-hud=true} \ + -Dgallium-nine=%{?with_nine:true}%{!?with_nine:false} \ + -Dgallium-omx=%{?with_omx:bellagio}%{!?with_omx:disabled} \ +%if %{with opencl} +%if %{with ocl_icd} + -Dgallium-opencl=icd \ +%else + -Dgallium-opencl=standalone \ %endif -%if %{with gallium} - %{?with_hud_extra:--enable-gallium-extra-hud} \ - --enable-llvm \ - %{__enable_disable shared_llvm llvm-shared-libs} \ - %{__enable ocl_icd opencl-icd} \ - %{?with_lm_sensors:--enable-lmsensors} \ - %{?with_nine:--enable-nine} \ - %{__enable opencl} \ - %{__enable va} \ - --enable-vdpau \ - %{?with_omx:--enable-omx-bellagio} \ - %{?with_xa:--enable-xa} \ - --enable-xvmc \ - --with-gallium-drivers=${gallium_drivers} \ %else - --without-gallium-drivers \ + -Dgallium-opencl=disabled \ %endif - --with-dri-drivers=${dri_drivers} \ - --with-dri-driverdir=%{_libdir}/xorg/modules/dri \ - --with-vulkan-drivers=${vulkan_drivers} \ - --with-vulkan-icddir=/usr/share/vulkan/icd.d \ - --with-sha1=libnettle \ - --with-va-libdir=%{_libdir}/libva/dri - -%{__make} - -%{?with_tests:%{__make} check} + -Dgallium-va=%{?with_va:true}%{!?with_va:false} \ + -Dgallium-vdpau=true \ + -Dgallium-xvmc=true \ + -Dgallium-xa=%{?with_xa:true}%{!?with_xa:false} \ + -Dgbm=%{?with_gbm:true}%{!?with_gbm:false} \ + -Dglvnd=%{?with_glvnd:true}%{!?with_glvnd:false} \ + -Dlibunwind=true \ + -Dlmsensors=%{?with_lm_sensors:true}%{!?with_lm_sensors:false} \ + -Dosmesa=%{?with_gallium:gallium}%{!?with_gallium:classic} \ + -Dselinux=true \ + -Dva-libs-path=%{_libdir}/libva/dri \ + -Dvulkan-drivers=${vulkan_drivers} \ + -Dvulkan-icd-dir=/usr/share/vulkan/icd.d + +%meson_build -C build + +%{?with_tests:%meson_test -C build} %install rm -rf $RPM_BUILD_ROOT -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT +%meson_install -C build -# dlopened by soname -%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so} -%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so.1.0} -# dlopened by soname or .so link -%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_*.so.1.0} # not used externally %{__rm} $RPM_BUILD_ROOT%{_libdir}/libglapi.so -# dlopened -%{?with_omx:%{__rm} $RPM_BUILD_ROOT%{_libdir}/bellagio/libomx_*.la} -%{?with_nine:%{__rm} $RPM_BUILD_ROOT%{_libdir}/d3d/d3dadapter9.la} -%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/pipe_*.la} -# not defined by standards; and not needed, there is pkg-config support -%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib*.la %if %{without glvnd} # remove "OS ABI: Linux 2.4.20" tag, so private copies (nvidia or fglrx), @@ -1399,9 +1423,6 @@ rm -rf $RPM_BUILD_ROOT %post libOpenCL -p /sbin/ldconfig %postun libOpenCL -p /sbin/ldconfig -%post libOpenVG -p /sbin/ldconfig -%postun libOpenVG -p /sbin/ldconfig - %post libXvMC-nouveau -p /sbin/ldconfig %postun libXvMC-nouveau -p /sbin/ldconfig %post libXvMC-r600 -p /sbin/ldconfig @@ -1413,9 +1434,6 @@ rm -rf $RPM_BUILD_ROOT %post libglapi -p /sbin/ldconfig %postun libglapi -p /sbin/ldconfig -%post libwayland-egl -p /sbin/ldconfig -%postun libwayland-egl -p /sbin/ldconfig - %post libxatracker -p /sbin/ldconfig %postun libxatracker -p /sbin/ldconfig @@ -1445,17 +1463,11 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/EGL/eglmesaext.h %{_includedir}/EGL/eglplatform.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.UVD,patents.txt,relnotes/*.html} +%doc docs/{*.html,README.UVD,features.txt,relnotes/*.html} %if %{with glvnd} %attr(755,root,root) %{_libdir}/libGLX_mesa.so.*.* %attr(755,root,root) %ghost %{_libdir}/libGLX_mesa.so.0 @@ -1467,7 +1479,7 @@ rm -rf $RPM_BUILD_ROOT # (and dlopen libGL.so instead of libGL.so.1; the same does Mesa libEGL) %attr(755,root,root) %{_libdir}/libGL.so %endif -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drirc +%{_datadir}/drirc.d %files libGL-devel %defattr(644,root,root,755) @@ -1485,12 +1497,6 @@ rm -rf $RPM_BUILD_ROOT %{_pkgconfigdir}/dri.pc %{_pkgconfigdir}/gl.pc -%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.*.*.* @@ -1519,12 +1525,6 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/GL/osmesa.h %{_pkgconfigdir}/osmesa.pc -%if %{with static_libs} -%files libOSMesa-static -%defattr(644,root,root,755) -%{_libdir}/libOSMesa.a -%endif - %if %{with opencl} %if %{with ocl_icd} %files OpenCL-icd @@ -1550,32 +1550,17 @@ rm -rf $RPM_BUILD_ROOT %endif %endif -%if %{with egl} && %{with openvg} && %{with gallium} -%files libOpenVG -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libOpenVG.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libOpenVG.so.1 - -%files libOpenVG-devel -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libOpenVG.so -%{_includedir}/VG -%{_pkgconfigdir}/vg.pc -%endif - %if %{with gallium} %if %{with gallium_nouveau} %files libXvMC-nouveau %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libXvMCnouveau.so.1.0.0 -%attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1 +%attr(755,root,root) %{_libdir}/libXvMCnouveau.so %endif %if %{with gallium_radeon} %files libXvMC-r600 %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libXvMCr600.so.1.0.0 -%attr(755,root,root) %ghost %{_libdir}/libXvMCr600.so.1 +%attr(755,root,root) %{_libdir}/libXvMCr600.so %endif %if %{with va} @@ -1620,18 +1605,6 @@ rm -rf $RPM_BUILD_ROOT # libglapi-devel? nothing seems to need it atm. #%attr(755,root,root) %{_libdir}/libglapi.so -%if %{with wayland} -%files libwayland-egl -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libwayland-egl.so.*.* -%attr(755,root,root) %ghost %{_libdir}/libwayland-egl.so.1 - -%files libwayland-egl-devel -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libwayland-egl.so -%{_pkgconfigdir}/wayland-egl.pc -%endif - %if %{with xa} %files libxatracker %defattr(644,root,root,755) @@ -1686,6 +1659,12 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/dri/i965_dri.so +%if %{with gallium} +%files dri-driver-intel-iris +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/xorg/modules/dri/iris_dri.so +%endif + %files dri-driver-nouveau %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/dri/nouveau_vieux_dri.so @@ -1712,6 +1691,39 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/xorg/modules/dri/kgsl_dri.so %attr(755,root,root) %{_libdir}/xorg/modules/dri/msm_dri.so +%files dri-driver-kmsro +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/xorg/modules/dri/armada-drm_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/exynos_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/hx8357d_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/ili9225_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/ili9341_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/imx-drm_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/meson_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/mi0283qt_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/pl111_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/repaper_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/rockchip_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/st7586_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/st7735r_dri.so +%attr(755,root,root) %{_libdir}/xorg/modules/dri/sun4i-drm_dri.so + +%files dri-driver-lima +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/xorg/modules/dri/lima_dri.so + +%files dri-driver-panfrost +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/xorg/modules/dri/panfrost_dri.so + +%files dri-driver-tegra +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/xorg/modules/dri/tegra_dri.so + +%files dri-driver-v3d +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/xorg/modules/dri/v3d_dri.so + %files dri-driver-vc4 %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/dri/vc4_dri.so @@ -1727,11 +1739,12 @@ rm -rf $RPM_BUILD_ROOT %endif %if %{with gallium} +%if %{with opencl} +%ifarch %{ix86} %{x8664} x32 %if %{with gallium_i915} -%files pipe-driver-i915 -%defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/gallium-pipe/pipe_i915.so %endif +%endif %ifarch %{arm} %files pipe-driver-msm @@ -1766,12 +1779,14 @@ rm -rf $RPM_BUILD_ROOT %files pipe-driver-vmwgfx %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/gallium-pipe/pipe_vmwgfx.so +%endif +# currently disabled as cannot be built with swrast %ifarch %{ix86} %{x8664} x32 %files swr %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libswrAVX.so -%attr(755,root,root) %{_libdir}/libswrAVX2.so +%attr(755,root,root) %{_libdir}/libswrAVX.so* +%attr(755,root,root) %{_libdir}/libswrAVX2.so* %endif %endif @@ -1793,6 +1808,7 @@ rm -rf $RPM_BUILD_ROOT %files -n libvdpau-driver-mesa-nouveau %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1.0.0 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1.0 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so %endif @@ -1801,18 +1817,21 @@ rm -rf $RPM_BUILD_ROOT %files -n libvdpau-driver-mesa-r300 %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0.0 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so %files -n libvdpau-driver-mesa-r600 %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0.0 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so %files -n libvdpau-driver-mesa-radeonsi %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1.0.0 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1.0 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so %endif