X-Git-Url: http://git.pld-linux.org/?p=packages%2FMesa.git;a=blobdiff_plain;f=Mesa.spec;h=f60cb84ed913c75bff17baa6bff8af39a2a84b3d;hp=e9521896d0b07c0cefd33de0410cda30d4782f17;hb=e7dc0b51e051ab16664c68a5c7f95eae433b322c;hpb=58276982e92278bfffa4d3ef4cd15c72f56d6599 diff --git a/Mesa.spec b/Mesa.spec index e952189..f60cb84 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -1,5 +1,6 @@ # # TODO: +# - check if gallium_intel note is still valid, switch the bcond if not # - consider: # - subpackage with non-dri libGL for use with X-servers with missing GLX extension? # - resurrect static if it's useful (using plain xorg target? DRI doesn't support static) @@ -7,98 +8,125 @@ # Conditional build: %bcond_without gallium # gallium drivers %bcond_with gallium_intel # gallium i915 driver (instead of plain dri; doesn't work with AIGLX) -%bcond_without gallium_nouveau # gallium nouveau driver (instead of plain dri) -%bcond_without dri_nouveau # nouveau DRI driver (any kind) +%bcond_without gallium_nouveau # gallium nouveau driver +%bcond_without gallium_radeon # gallium radeon drivers %bcond_without egl # EGL libraries +# "Cannot enable OpenVG, because egl_gallium has been removed and +# OpenVG hasn't been integrated into standard libEGL yet" +%bcond_with openvg # OpenVG %bcond_without gbm # Graphics Buffer Manager +%bcond_without nine # Nine Direct3D 9+ state tracker (for Wine) +%bcond_without opencl # OpenCL support +%bcond_without ocl_icd # OpenCL as ICD (installable client driver) +%bcond_without omx # OpenMAX (Bellagio OMXIL) support +%bcond_without va # VA library %bcond_without wayland # Wayland EGL %bcond_without xa # XA state tracker (for vmwgfx xorg driver) +%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 # -# minimal supported xserver version -%define xserver_ver 1.5.0 # 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 -# -%define libdrm_ver 2.4.39 -%define dri2proto_ver 2.6 -%define glproto_ver 1.4.14 -# -%define snap 20120921 -# +%define glapi_ver 7.1.0 +# minimal supported xserver version +%define xserver_ver 1.5.0 +# other packages +%define libdrm_ver 2.4.56 +%define dri2proto_ver 2.6 +%define dri3proto_ver 1.0 +%define glproto_ver 1.4.14 +%define presentproto_ver 1.0 + +# no clang/llvm on x32 yet +%ifarch x32 +%undefine with_gallium +%endif + +%if %{without gallium} +%undefine with_gallium_intel +%undefine with_gallium_nouveau +%undefine with_gallium_radeon +%undefine with_nine +%undefine with_ocl_icd +%undefine with_omx +%undefine with_opencl +%undefine with_xa +%endif + +%if %{without egl} +%undefine with_gbm +%undefine with_wayland +%endif + Summary: Free OpenGL implementation Summary(pl.UTF-8): Wolnodostępna implementacja standardu OpenGL Name: Mesa -Version: 9.0 -Release: 0.1 +Version: 10.5.5 +Release: 1 License: MIT (core) and others - see license.html file Group: X11/Libraries -Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar.bz2 -# Source0-md5: 60e557ce407be3732711da484ab3db6c -Patch0: %{name}-realclean.patch -Patch1: %{name}-link.patch -Patch2: %{name}-wayland.patch +Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/mesa-%{version}.tar.xz +# Source0-md5: 5e6e182fd9414b74b95c45b4eda99fb5 +Patch0: missing-type.patch URL: http://www.mesa3d.org/ BuildRequires: autoconf >= 2.60 BuildRequires: automake +%{?with_opencl:BuildRequires: clang-devel >= 3.1} +BuildRequires: elfutils-devel BuildRequires: expat-devel -BuildRequires: gcc >= 5:3.3 +BuildRequires: gcc >= 6:4.2.0 +%{?with_opencl:BuildRequires: gcc-c++ >= 6:4.7} BuildRequires: libdrm-devel >= %{libdrm_ver} BuildRequires: libselinux-devel -BuildRequires: libstdc++-devel >= 5:3.3.0 +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.3.0} +%{?with_va:BuildRequires: pkgconfig(libva) >= 0.35.0} BuildRequires: libvdpau-devel >= 0.4.1 -BuildRequires: llvm-devel >= 2.9 +BuildRequires: libxcb-devel >= 1.10 +%{?with_gallium_radeon:BuildRequires: llvm-devel >= 3.4.2} +%{?with_opencl:BuildRequires: llvm-libclc} +%{?with_ocl_icd:BuildRequires: ocl-icd-devel} +%{?with_omx:BuildRequires: libomxil-bellagio-devel} +BuildRequires: perl-base BuildRequires: pixman-devel BuildRequires: pkgconfig BuildRequires: pkgconfig(talloc) >= 2.0.1 -BuildRequires: python -BuildRequires: python-libxml2 -BuildRequires: python-modules +BuildRequires: pkgconfig(xcb-dri3) +BuildRequires: pkgconfig(xcb-present) +BuildRequires: python >= 2 +BuildRequires: python-Mako >= 0.3.4 +BuildRequires: python-modules >= 2 BuildRequires: rpmbuild(macros) >= 1.470 BuildRequires: sed >= 4.0 +%{?with_egl:BuildRequires: udev-devel >= 1:151} # wayland-{client,server} -%{?with_wayland:BuildRequires: wayland-devel} +%{?with_wayland:BuildRequires: wayland-devel >= 1.2.0} BuildRequires: xorg-lib-libXdamage-devel BuildRequires: xorg-lib-libXext-devel >= 1.0.5 BuildRequires: xorg-lib-libXfixes-devel BuildRequires: xorg-lib-libXt-devel 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 -BuildRequires: xorg-xserver-server-devel >= %{xserver_ver} -%if %{with egl} -BuildRequires: libxcb-devel -BuildRequires: udev-devel >= 1:150 -%endif %if %{with gallium} BuildRequires: xorg-proto-xextproto-devel >= 7.0.99.1 -BuildRequires: xorg-xserver-server-devel >= 1.6.0 +BuildRequires: xorg-xserver-server-devel >= %{xserver_ver} %endif BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%if %{without gallium} -%undefine with_gallium_intel -%undefine with_gallium_nouveau -%undefine with_xa -%endif - -%if %{without dri_nouveau} -%undefine with_gallium_nouveau -%endif - -%if %{without egl} -%undefine with_gbm -%undefine with_wayland -%endif - -# _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?) -%define skip_post_check_so libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libXvMCnouveau.so.* libdricore.*.so.* libOSMesa.so.* libdricore.*so.* +# 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.* # llvm build broken %define filterout_ld -Wl,--as-needed @@ -127,10 +155,14 @@ Requires: %{name}-libglapi = %{version}-%{release} # glx driver in libEGL dlopens libGL.so Requires: OpenGL >= 1.2 Requires: libdrm >= %{libdrm_ver} +Requires: libxcb >= 1.9 +%{?with_wayland:Requires: wayland >= 1.2.0} %if %{with gallium} +%if %{with openvg} # for egl_gallium.so Requires: %{name}-libOpenVG = %{version}-%{release} -Requires: udev-libs >= 1:150 +%endif +Requires: udev-libs >= 1:151 %endif %if %{with gbm} Requires: %{name}-libgbm = %{version}-%{release} @@ -158,7 +190,7 @@ Requires: %{name}-libEGL = %{version}-%{release} Requires: libdrm-devel >= %{libdrm_ver} Requires: xorg-lib-libX11-devel Requires: xorg-lib-libXdamage-devel -Requires: xorg-lib-libXext-devel +Requires: xorg-lib-libXext-devel >= 1.0.5 Requires: xorg-lib-libXfixes-devel Requires: xorg-lib-libXxf86vm-devel Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver} @@ -192,10 +224,11 @@ License: MIT Group: X11/Libraries Requires: %{name}-libglapi = %{version}-%{release} Requires: libdrm >= %{libdrm_ver} -Provides: OpenGL = 2.1 +Provides: OpenGL = 3.3 Provides: OpenGL-GLX = 1.4 Obsoletes: Mesa Obsoletes: Mesa-dri +Obsoletes: Mesa-dri-core < 10.0.0 Obsoletes: X11-OpenGL-libGL < 1:7.0.0 Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0 @@ -230,13 +263,13 @@ Requires: OpenGL >= 1.5 Requires: libdrm-devel >= %{libdrm_ver} Requires: xorg-lib-libX11-devel Requires: xorg-lib-libXdamage-devel -Requires: xorg-lib-libXext-devel +Requires: xorg-lib-libXext-devel >= 1.0.5 Requires: xorg-lib-libXxf86vm-devel Requires: xorg-proto-dri2proto-devel >= %{dri2proto_ver} Requires: xorg-proto-glproto-devel >= %{glproto_ver} Suggests: OpenGL-doc-man Provides: OpenGL-GLX-devel = 1.4 -Provides: OpenGL-devel = 2.1 +Provides: OpenGL-devel = 3.3 Obsoletes: Mesa-devel Obsoletes: X11-OpenGL-devel < 1:7.0.0 Obsoletes: X11-OpenGL-devel-base < 1:7.0.0 @@ -255,7 +288,7 @@ Summary(pl.UTF-8): Statyczna biblioteka libGL z projektu Mesa3D License: MIT Group: X11/Development/Libraries Requires: %{name}-libGL-devel = %{version}-%{release} -Provides: OpenGL-static = 2.1 +Provides: OpenGL-static = 3.3 Obsoletes: Mesa-static Obsoletes: X11-OpenGL-static < 1:7.0.0 Obsoletes: XFree86-OpenGL-static < 1:7.0.0 @@ -352,6 +385,78 @@ Static OSMesa (off-screen renderer) library. %description libOSMesa-static -l pl.UTF-8 Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci). +%package OpenCL-icd +Summary: Mesa implementation of OpenCL (Compuing Language) API ICD +Summary(pl.UTF-8): Implementacja Mesa API OpenCL (języka obliczeń) ICD +License: MIT +Group: Libraries +Requires: filesystem >= 4.0-29 +Requires: libdrm >= %{libdrm_ver} +Requires: llvm-libclc +Requires: udev-libs >= 1:151 +Provides: OpenCL = 1.1 +Provides: ocl-icd-driver + +%description OpenCL-icd +This package contains Mesa implementation of OpenCL - standard for +cross-platform, parallel programming of modern processors found in +personal computers, servers and handheld/embedded devices. OpenCL +specification can be found on Khronos Group site: +. Mesa implements OpenCL 1.1. + +The implementation is provided as an installable client driver (ICD) +for use with the ocl-icd loader. + +%description OpenCL-icd -l pl.UTF-8 +Ten pakiet zawiera implementację Mesa standardu OpenCL - standardu +wieloplatformowego, równoległego programowania nowoczesnych +procesorów, jakie znajdują się w komputerach osobistych, serwerach +oraz urządzeniach przenośnych/wbudowanych. Specyfikację OpenCL można +znaleźć na stronie Khronos Group: . +Mesa zawiera implementację OpenCL w wersji 1.1. + +Implementacja dostarczona jest w postaci instalowalnego sterownika klienta +(ICD), który może być użyty z loaderem ocl-icd. + +%package libOpenCL +Summary: Mesa implementation of OpenCL (Compuing Language) API +Summary(pl.UTF-8): Implementacja Mesa API OpenCL (języka obliczeń) +License: MIT +Group: Libraries +Requires: libdrm >= %{libdrm_ver} +Requires: llvm-libclc +Requires: udev-libs >= 1:151 +Provides: OpenCL = 1.1 + +%description libOpenCL +This package contains Mesa implementation of OpenCL - standard for +cross-platform, parallel programming of modern processors found in +personal computers, servers and handheld/embedded devices. OpenCL +specification can be found on Khronos Group site: +. Mesa implements OpenCL 1.1. + +%description libOpenCL -l pl.UTF-8 +Ten pakiet zawiera implementację Mesa standardu OpenCL - standardu +wieloplatformowego, równoległego programowania nowoczesnych +procesorów, jakie znajdują się w komputerach osobistych, serwerach +oraz urządzeniach przenośnych/wbudowanych. Specyfikację OpenCL można +znaleźć na stronie Khronos Group: . +Mesa zawiera implementację OpenCL w wersji 1.1. + +%package libOpenCL-devel +Summary: Header files for Mesa OpenCL library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Mesa OpenCL +License: MIT +Group: Development/Libraries +Requires: %{name}-libOpenCL = %{version}-%{release} +Provides: OpenCL-devel = 1.1 + +%description libOpenCL-devel +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) @@ -404,23 +509,6 @@ Mesa implementation of XvMC API for NVidia adapters (NV40-NV96, NVa0). %description libXvMC-nouveau -l pl.UTF-8 Implementacja Mesa API XvMC dla kart NVidia (NV40-NV96, NVa0). -%package libXvMC-r300 -Summary: Mesa implementation of XvMC API for ATI Radeon R300 series adapters -Summary(pl.UTF-8): Implementacja Mesa API XvMC dla kart ATI Radeon z serii R300 -License: MIT -Group: Libraries -Requires: libdrm >= %{libdrm_ver} -Requires: xorg-lib-libXvMC >= 1.0.6 -Conflicts: Mesa-libXvMC - -%description libXvMC-r300 -Mesa implementation of XvMC API for ATI Radeon adapters based on -R300/R400/RS690/R500 chips. - -%description libXvMC-r300 -l pl.UTF-8 -Implementacja Mesa API XvMC dla kart ATI Radeon opartych na układach -R300/R400/RS690/R500. - %package libXvMC-r600 Summary: Mesa implementation of XvMC API for ATI Radeon R600 series adapters Summary(pl.UTF-8): Implementacja Mesa API XvMC dla kart ATI Radeon z serii R600 @@ -438,26 +526,24 @@ R600/R700 chips. Implementacja Mesa API XvMC dla kart ATI Radeon opartych na układach R600/R700. -%package libXvMC-softpipe -Summary: Mesa softpipe implementation of XvMC API -Summary(pl.UTF-8): Implementacja Mesa softpipe API XvMC -License: MIT +%package -n libva-driver-gallium +Summary: VA driver for Gallium State Tracker +Summary(pl.UTF-8): Sterownik VA do Gallium Group: Libraries -Requires: libdrm >= %{libdrm_ver} -Requires: xorg-lib-libXvMC >= 1.0.6 -Conflicts: Mesa-libXvMC +Requires: libva >= 1.3.0 -%description libXvMC-softpipe -Mesa softpipe implementation of XvMC API. +%description -n libva-driver-gallium +VA driver for Gallium State Tracker. -%description libXvMC-softpipe -l pl.UTF-8 -Implementacja Mesa softpipe API XvMC. +%description -n libva-driver-gallium -l pl.UTF-8 +Sterownik VA do Gallium. %package libgbm Summary: Mesa Graphics Buffer Manager library Summary(pl.UTF-8): Biblioteka Mesa Graphics Buffer Manager Group: Libraries -Requires: udev-libs >= 1:150 +Requires: %{name}-libglapi = %{version}-%{release} +Requires: udev-libs >= 1:151 Conflicts: Mesa-libEGL < 8.0.1-2 %description libgbm @@ -471,7 +557,7 @@ Summary: Header file for Mesa Graphics Buffer Manager library Summary(pl.UTF-8): Plik nagłówkowy biblioteki Mesa Graphics Buffer Manager Group: Development/Libraries Requires: %{name}-libgbm = %{version}-%{release} -Requires: udev-devel >= 1:150 +Requires: udev-devel >= 1:151 %description libgbm-devel Header file for Mesa Graphics Buffer Manager library. @@ -480,24 +566,12 @@ Header file for Mesa Graphics Buffer Manager library. Plik nagłówkowy biblioteki Mesa Graphics Buffer Manager (zarządcy bufora graficznego). -%package gbm-driver-swrast -Summary: Software (swrast) driver for Mesa GBM framework -Summary(pl.UTF-8): Sterownik programowy (swrast) dla szkieletu Mesa GBM -Group: Libraries -Requires: %{name}-libgbm = %{version}-%{release} - -%description gbm-driver-swrast -Software (swrast) driver for Mesa Graphics Buffer Manager. - -%description gbm-driver-swrast -l pl.UTF-8 -Sterownik programowy (swrast) dla szkieletu Mesa Graphics Buffer -Manager (zarządcy bufora graficznego). - %package gbm-driver-i915 Summary: i915 driver for Mesa GBM framework Summary(pl.UTF-8): Sterownik i915 dla szkieletu Mesa GBM Group: Libraries Requires: %{name}-libgbm = %{version}-%{release} +Obsoletes: Mesa-opencl-driver-i915 %description gbm-driver-i915 i915 driver for Mesa Graphics Buffer Manager. It supports Intel @@ -513,6 +587,7 @@ Summary: nouveau driver for Mesa GBM framework Summary(pl.UTF-8): Sterownik nouveau dla szkieletu Mesa GBM Group: Libraries Requires: %{name}-libgbm = %{version}-%{release} +Obsoletes: Mesa-opencl-driver-nouveau %description gbm-driver-nouveau nouveau driver for Mesa Graphics Buffer Manager. It supports NVidia @@ -527,6 +602,7 @@ Summary: r300 driver for Mesa GBM framework Summary(pl.UTF-8): Sterownik r300 dla szkieletu Mesa GBM Group: Libraries Requires: %{name}-libgbm = %{version}-%{release} +Obsoletes: Mesa-opencl-driver-r300 %description gbm-driver-r300 r300 driver for Mesa Graphics Buffer Manager. It supports ATI Radeon @@ -542,6 +618,8 @@ Summary: r600 driver for Mesa GBM framework Summary(pl.UTF-8): Sterownik r600 dla szkieletu Mesa GBM Group: Libraries Requires: %{name}-libgbm = %{version}-%{release} +Obsoletes: Mesa-libllvmradeon +Obsoletes: Mesa-opencl-driver-r600 %description gbm-driver-r600 r600 driver for Mesa Graphics Buffer Manager. It supports ATI Radeon @@ -557,6 +635,8 @@ Summary: radeonsi driver for Mesa GBM framework Summary(pl.UTF-8): Sterownik radeonsi dla szkieletu Mesa GBM Group: Libraries Requires: %{name}-libgbm = %{version}-%{release} +Obsoletes: Mesa-libllvmradeon +Obsoletes: Mesa-opencl-driver-radeonsi %description gbm-driver-radeonsi radeonsi driver for Mesa Graphics Buffer Manager. It supports ATI @@ -567,11 +647,26 @@ Sterownik radeonsi dla szkieletu Mesa Graphics Buffer Manager (zarządcy bufora graficznego). Obsługuje karty graficzne ATI Radeon oparte na układach Southern Islands. +%package gbm-driver-swrast +Summary: Software (swrast) driver for Mesa GBM framework +Summary(pl.UTF-8): Sterownik programowy (swrast) dla szkieletu Mesa GBM +Group: Libraries +Requires: %{name}-libgbm = %{version}-%{release} +Obsoletes: Mesa-opencl-driver-swrast + +%description gbm-driver-swrast +Software (swrast) driver for Mesa Graphics Buffer Manager. + +%description gbm-driver-swrast -l pl.UTF-8 +Sterownik programowy (swrast) dla szkieletu Mesa Graphics Buffer +Manager (zarządcy bufora graficznego). + %package gbm-driver-vmwgfx Summary: vmwgfx driver for Mesa GBM framework Summary(pl.UTF-8): Sterownik vmwgfx dla szkieletu Mesa GBM Group: Libraries Requires: %{name}-libgbm = %{version}-%{release} +Obsoletes: Mesa-opencl-driver-vmwgfx %description gbm-driver-vmwgfx vmwgfx driver for Mesa Graphics Buffer Manager. It supports VMware @@ -612,7 +707,6 @@ Summary(pl.UTF-8): Pliki programistyczne biblioteki Wayland EGL Group: Development/Libraries Requires: %{name}-libwayland-egl = %{version}-%{release} Requires: libdrm-devel >= %{libdrm_ver} -Requires: wayland-devel %description libwayland-egl-devel Development files for Wayland EGL platform library. @@ -658,20 +752,6 @@ Khronos platform header file. %description khrplatform-devel -l pl.UTF-8 Plik nagłówkowy platformy Khronos. -%package dri-core -Summary: X.org DRI core library -Summary(pl.UTF-8): Biblioteka X.org DRI core -License: MIT -Group: X11/Libraries -Requires: xorg-xserver-libglx(glapi) = %{glapi_ver} -Requires: xorg-xserver-server >= %{xserver_ver} - -%description dri-core -X.org DRI core library. - -%description dri-core -l pl.UTF-8 -Biblioteka X.org DRI core. - %package dri-driver-ati-radeon-R100 Summary: X.org DRI driver for ATI R100 card family Summary(pl.UTF-8): Sterownik X.org DRI dla rodziny kart ATI R100 @@ -834,6 +914,30 @@ X.org DRI driver for VMWare. %description dri-driver-vmwgfx -l pl.UTF-8 Sterownik X.org DRI dla VMware. +%package d3d +Summary: Nine Direct3D9 driver (for Wine) +Summary(pl.UTF-8): Sterownik Direct3D9 Nine (dla Wine) +Group: Libraries +Requires: libdrm >= %{libdrm_ver} + +%description d3d +Nine Direct3D9 driver (for Wine). + +%description d3d -l pl.UTF-8 +Sterownik Direct3D9 Nine (dla Wine). + +%package d3d-devel +Summary: Nine Direct3D9 driver API +Summary(pl.UTF-8): API sterownika Direct3D9 Nine +Group: Development/Libraries +Requires: libdrm-devel >= %{libdrm_ver} + +%description d3d-devel +Nine Direct3D9 driver API. + +%description d3d-devel -l pl.UTF-8 +API sterownika Direct3D9 Nine. + %package -n libvdpau-driver-mesa-nouveau Summary: Mesa nouveau driver for the vdpau API Summary(pl.UTF-8): Sterownik Mesa nouveau dla API vdpau @@ -862,11 +966,11 @@ Conflicts: libvdpau-driver-mesa %description -n libvdpau-driver-mesa-r300 Mesa r300 driver for the vdpau API. It supports ATI Radeon adapters -based on R300/R400/RS690/R500 chips. +based on R300 chips. %description -n libvdpau-driver-mesa-r300 -l pl.UTF-8 Sterownik Mesa r300 dla API vdpau. Obsługuje karty ATI Radeon oparte -na układach R300/R400/RS690/R500. +na układach R300. %package -n libvdpau-driver-mesa-r600 Summary: Mesa r600 driver for the vdpau API @@ -893,6 +997,7 @@ Group: X11/Libraries Requires: libdrm >= %{libdrm_ver} Requires: libvdpau >= 0.4.1 Conflicts: libvdpau-driver-mesa +Obsoletes: Mesa-libllvmradeon %description -n libvdpau-driver-mesa-radeonsi Mesa radeonsi driver for the vdpau API. It supports ATI Radeon @@ -902,27 +1007,78 @@ adapters based on Southern Islands chips. Sterownik Mesa radeonsi dla API vdpau. Obsługuje karty ATI Radeon oparte na układach Southern Islands. -%package -n libvdpau-driver-mesa-softpipe -Summary: Mesa softpipe driver for the vdpau API -Summary(pl.UTF-8): Sterownik Mesa softpipe dla API vdpau +%package -n omxil-mesa +Summary: Mesa driver for Bellagio OpenMAX IL API +Summary(pl.UTF-8): Sterownik Mesa nouveau dla API Bellagio OpenMAX IL License: MIT Group: X11/Libraries Requires: libdrm >= %{libdrm_ver} -Requires: libvdpau >= 0.4.1 -Conflicts: libvdpau-driver-mesa +Requires: libxcb >= 1.8 +Requires: libomxil-bellagio +Obsoletes: omxil-mesa-nouveau +Obsoletes: omxil-mesa-r600 +Obsoletes: omxil-mesa-radeonsi -%description -n libvdpau-driver-mesa-softpipe -Mesa softpipe driver for the vdpau API. +%description -n omxil-mesa +Mesa driver for Bellagio OpenMAX IL API. + +%description -n omxil-mesa -l pl.UTF-8 +Sterownik Mesa dla API Bellagio OpenMAX IL. + +%package -n omxil-mesa-nouveau +Summary: Mesa nouveau driver for Bellagio OpenMAX IL API +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: libomxil-bellagio -%description -n libvdpau-driver-mesa-softpipe -l pl.UTF-8 -Sterownik Mesa softpipe dla API vdpau. +%description -n omxil-mesa-nouveau +Mesa nouveau driver for Bellagio OpenMAX IL API. It supports NVidia +adapters (NV40-NV96, NVa0). + +%description -n omxil-mesa-nouveau -l pl.UTF-8 +Sterownik Mesa nouveau dla API Bellagio OpenMAX IL. Obsługuje karty +NVidia (NV40-NV96, NVa0). + +%package -n omxil-mesa-r600 +Summary: Mesa r600 driver for Bellagio OpenMAX IL API +Summary(pl.UTF-8): Sterownik Mesa r600 dla API Bellagio OpenMAX IL +License: MIT +Group: X11/Libraries +Requires: libdrm >= %{libdrm_ver} +Requires: libxcb >= 1.8 +Requires: libomxil-bellagio + +%description -n omxil-mesa-r600 +Mesa r600 driver for Bellagio OpenMAX IL API. It supports ATI Radeon +adapters based on R600/R700 chips. + +%description -n omxil-mesa-r600 -l pl.UTF-8 +Sterownik Mesa r600 dla API Bellagio OpenMAX IL. Obsługuje karty ATI +Radeon oparte na układach R600/R700. + +%package -n omxil-mesa-radeonsi +Summary: Mesa radeonsi driver for Bellagio OpenMAX IL API +Summary(pl.UTF-8): Sterownik Mesa radeonsi dla API Bellagio OpenMAX IL +License: MIT +Group: X11/Libraries +Requires: libdrm >= %{libdrm_ver} +Requires: libxcb >= 1.8 +Requires: libomxil-bellagio + +%description -n omxil-mesa-radeonsi +Mesa radeonsi driver for Bellagio OpenMAX IL API. It supports ATI +Radeon adapters based on Southern Islands chips. + +%description -n omxil-mesa-radeonsi -l pl.UTF-8 +Sterownik Mesa radeonsi dla API Bellagio OpenMAX IL. Obsługuje karty +ATI Radeon oparte na układach Southern Islands. %prep -%setup -q -#%patch100 -p1 -#patch0 -p0 -%patch1 -p1 -#patch2 -p1 +%setup -q -n mesa-%{version} +%patch0 -p1 %build %{__libtoolize} @@ -934,10 +1090,8 @@ dri_drivers="r200 radeon \ %if %{without gallium_intel} i915 \ %endif -i965 -%if %{with dri_nouveau} && %{without gallium_nouveau} -nouveau -%endif +i965 \ +nouveau \ %ifarch sparc sparcv9 sparc64 ffb \ %endif @@ -949,9 +1103,11 @@ gallium_drivers="svga swrast \ %if %{with gallium_intel} i915 \ %endif +%if %{with gallium_radeon} r300 \ r600 \ radeonsi \ +%endif %if %{with gallium_nouveau} nouveau %endif @@ -961,14 +1117,14 @@ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') %configure \ --disable-silent-rules \ - --enable-shared \ - --enable-glx-tls \ - --enable-pic \ - --enable-selinux \ - %{?with_static_libs:--enable-static} \ %{__enable gbm} \ + --enable-glx-tls \ --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 \ @@ -977,22 +1133,29 @@ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') %endif %if %{with gallium} --enable-gallium-llvm \ - --with-llvm-shared-libs \ \ + --enable-llvm-shared-libs \ %{__enable egl gallium-egl} \ %{__enable gbm gallium-gbm} \ - %{?with_egl:--enable-openvg} \ + %{__enable ocl_icd opencl-icd} \ + %{?with_nine:--enable-nine} \ + %{__enable opencl} \ + %{?with_egl:%{?with_openvg:--enable-openvg}} \ --enable-vdpau \ + %{?with_omx:--enable-omx} \ %{?with_xa:--enable-xa} \ --enable-xvmc \ --with-gallium-drivers=${gallium_drivers} \ %else --without-gallium-drivers \ %endif + --with-va-libdir=%{_libdir}/libva/dri \ --with-dri-drivers=${dri_drivers} \ --with-dri-driverdir=%{_libdir}/xorg/modules/dri %{__make} +%{?with_tests:%{__make} check} + %install rm -rf $RPM_BUILD_ROOT @@ -1000,11 +1163,21 @@ rm -rf $RPM_BUILD_ROOT DESTDIR=$RPM_BUILD_ROOT # strip out undesirable headers -%{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/{vms_x_fix,wglext,wmesa}.h +%{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/{wglext,wmesa}.h # dlopened by soname -%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so +%{?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 +%{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libva/dri/gallium_drv_video.la} # remove "OS ABI: Linux 2.4.20" tag, so private copies (nvidia or fglrx), # set up via /etc/ld.so.conf.d/*.conf will be preferred over this @@ -1025,17 +1198,16 @@ rm -rf $RPM_BUILD_ROOT %post libOSMesa -p /sbin/ldconfig %postun libOSMesa -p /sbin/ldconfig +%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-r300 -p /sbin/ldconfig -%postun libXvMC-r300 -p /sbin/ldconfig %post libXvMC-r600 -p /sbin/ldconfig %postun libXvMC-r600 -p /sbin/ldconfig -%post libXvMC-softpipe -p /sbin/ldconfig -%postun libXvMC-softpipe -p /sbin/ldconfig %post libgbm -p /sbin/ldconfig %postun libgbm -p /sbin/ldconfig @@ -1049,18 +1221,11 @@ rm -rf $RPM_BUILD_ROOT %post libxatracker -p /sbin/ldconfig %postun libxatracker -p /sbin/ldconfig -%post dri-core -p /sbin/ldconfig -%postun dri-core -p /sbin/ldconfig - %if %{with egl} %files libEGL %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libEGL.so.*.* %attr(755,root,root) %ghost %{_libdir}/libEGL.so.1 -%if %{with gallium} -%dir %{_libdir}/egl -%attr(755,root,root) %{_libdir}/egl/egl_gallium.so -%endif %files libEGL-devel %defattr(644,root,root,755) @@ -1068,6 +1233,7 @@ rm -rf $RPM_BUILD_ROOT %dir %{_includedir}/EGL %{_includedir}/EGL/egl.h %{_includedir}/EGL/eglext.h +%{_includedir}/EGL/eglextchromium.h %{_includedir}/EGL/eglmesaext.h %{_includedir}/EGL/eglplatform.h %{_pkgconfigdir}/egl.pc @@ -1081,18 +1247,20 @@ rm -rf $RPM_BUILD_ROOT %files libGL %defattr(644,root,root,755) -%doc docs/{*.html,README.{MITS,QUAKE,THREADS},RELNOTES*} +%doc docs/{*.html,README.UVD,patents.txt,relnotes/*.html} %attr(755,root,root) %{_libdir}/libGL.so.*.* %attr(755,root,root) %ghost %{_libdir}/libGL.so.1 # symlink for binary apps which fail to conform Linux OpenGL ABI # (and dlopen libGL.so instead of libGL.so.1; the same does Mesa libEGL) %attr(755,root,root) %{_libdir}/libGL.so +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drirc %files libGL-devel %defattr(644,root,root,755) -%doc docs/*.spec +%doc docs/specs/* %dir %{_includedir}/GL %{_includedir}/GL/gl.h +%{_includedir}/GL/glcorearb.h %{_includedir}/GL/glext.h %{_includedir}/GL/gl_mangle.h %{_includedir}/GL/glx.h @@ -1122,6 +1290,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libGLESv2.so %{_includedir}/GLES %{_includedir}/GLES2 +%{_includedir}/GLES3 %{_pkgconfigdir}/glesv1_cm.pc %{_pkgconfigdir}/glesv2.pc @@ -1142,7 +1311,28 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/libOSMesa.a %endif -%if %{with egl} && %{with gallium} +%if %{with opencl} +%if %{with ocl_icd} +%files OpenCL-icd +%defattr(644,root,root,755) +/etc/OpenCL/vendors/mesa.icd +%attr(755,root,root) %{_libdir}/libMesaOpenCL.so +%attr(755,root,root) %{_libdir}/libMesaOpenCL.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libMesaOpenCL.so.1 +%else +%files libOpenCL +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libOpenCL.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libOpenCL.so.1 + +%files libOpenCL-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libOpenCL.so +%{_includedir}/CL +%endif +%endif + +%if %{with egl} && %{with openvg} && %{with gallium} %files libOpenVG %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libOpenVG.so.*.*.* @@ -1159,24 +1349,22 @@ rm -rf $RPM_BUILD_ROOT %if %{with gallium_nouveau} %files libXvMC-nouveau %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libXvMCnouveau.so.1.0 +%attr(755,root,root) %{_libdir}/libXvMCnouveau.so.1.0.0 %attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1 %endif -%files libXvMC-r300 -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libXvMCr300.so.1.0 -%attr(755,root,root) %ghost %{_libdir}/libXvMCr300.so.1 - +%if %{with gallium_radeon} %files libXvMC-r600 %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libXvMCr600.so.1.0 +%attr(755,root,root) %{_libdir}/libXvMCr600.so.1.0.0 %attr(755,root,root) %ghost %{_libdir}/libXvMCr600.so.1 +%endif -%files libXvMC-softpipe +%if %{with va} +%files -n libva-driver-gallium %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libXvMCsoftpipe.so.1.0 -%attr(755,root,root) %ghost %{_libdir}/libXvMCsoftpipe.so.1 +%attr(755,root,root) %{_libdir}/libva/dri/gallium_drv_video.so +%endif %endif %if %{with gbm} @@ -1185,9 +1373,12 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/libgbm.so.*.* %attr(755,root,root) %ghost %{_libdir}/libgbm.so.1 %if %{with gallium} +%dir %{_libdir}/gallium-pipe +%if %{with openvg} %dir %{_libdir}/gbm %attr(755,root,root) %{_libdir}/gbm/gbm_gallium_drm.so %endif +%endif %files libgbm-devel %defattr(644,root,root,755) @@ -1197,37 +1388,39 @@ rm -rf $RPM_BUILD_ROOT %endif %if %{with gallium} -%files gbm-driver-swrast -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/gbm/pipe_swrast.so - %if %{with gallium_intel} %files gbm-driver-i915 %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/gbm/pipe_i915.so +%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_i915.so %endif %if %{with gallium_nouveau} %files gbm-driver-nouveau %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/gbm/pipe_nouveau.so +%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_nouveau.so %endif +%if %{with gallium_radeon} %files gbm-driver-r300 %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/gbm/pipe_r300.so +%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r300.so %files gbm-driver-r600 %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/gbm/pipe_r600.so +%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_r600.so %files gbm-driver-radeonsi %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/gbm/pipe_radeonsi.so +%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_radeonsi.so +%endif + +%files gbm-driver-swrast +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_swrast.so %files gbm-driver-vmwgfx %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/gbm/pipe_vmwgfx.so +%attr(755,root,root) %{_libdir}/gallium-pipe/pipe_vmwgfx.so %endif %files libglapi @@ -1253,7 +1446,7 @@ rm -rf $RPM_BUILD_ROOT %files libxatracker %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libxatracker.so.*.* -%attr(755,root,root) %ghost %{_libdir}/libxatracker.so.1 +%attr(755,root,root) %ghost %{_libdir}/libxatracker.so.2 %files libxatracker-devel %defattr(644,root,root,755) @@ -1271,11 +1464,6 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/KHR/khrplatform.h %endif -%files dri-core -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libdricore9.0.0.so.*.* -%attr(755,root,root) %ghost %{_libdir}/libdricore9.0.0.so.1 - %files dri-driver-ati-radeon-R100 %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/dri/radeon_dri.so @@ -1285,6 +1473,7 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/xorg/modules/dri/r200_dri.so %if %{with gallium} +%if %{with gallium_radeon} %files dri-driver-ati-radeon-R300 %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/dri/r300_dri.so @@ -1292,11 +1481,12 @@ rm -rf $RPM_BUILD_ROOT %files dri-driver-ati-radeon-R600 %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/dri/r600_dri.so -%endif %files dri-driver-ati-radeon-SI %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/dri/radeonsi_dri.so +%endif +%endif %files dri-driver-intel-i915 %defattr(644,root,root,755) @@ -1306,14 +1496,18 @@ rm -rf $RPM_BUILD_ROOT %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/xorg/modules/dri/i965_dri.so -%if %{with dri_nouveau} %files dri-driver-nouveau %defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/xorg/modules/dri/nouveau_vieux_dri.so +%if %{with gallium_nouveau} %attr(755,root,root) %{_libdir}/xorg/modules/dri/nouveau_dri.so %endif %files dri-driver-swrast %defattr(644,root,root,755) +%if %{with gallium} +%attr(755,root,root) %{_libdir}/xorg/modules/dri/kms_swrast_dri.so +%endif %attr(755,root,root) %{_libdir}/xorg/modules/dri/swrast_dri.so %if %{with gallium} @@ -1322,37 +1516,51 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/xorg/modules/dri/vmwgfx_dri.so %endif +%if %{with nine} +%files d3d +%defattr(644,root,root,755) +%dir %{_libdir}/d3d +%attr(755,root,root) %{_libdir}/d3d/d3dadapter9.so* + +%files d3d-devel +%defattr(644,root,root,755) +%{_includedir}/d3dadapter +%{_pkgconfigdir}/d3d.pc +%endif + %if %{with gallium} # ldconfig is not used in vdpau tree, so package all symlinks %if %{with gallium_nouveau} %files -n libvdpau-driver-mesa-nouveau %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1.0 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1.0.0 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so %endif +%if %{with gallium_radeon} %files -n libvdpau-driver-mesa-r300 %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r300.so.1.0.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 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_r600.so.1.0.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 +%attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1.0.0 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so +%endif +%endif -%files -n libvdpau-driver-mesa-softpipe +%if %{with gallium} && %{with omx} +%files -n omxil-mesa %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so.1.0 -%attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so.1 -%attr(755,root,root) %{_libdir}/vdpau/libvdpau_softpipe.so +%attr(755,root,root) %{_libdir}/bellagio/libomx_mesa.so %endif