X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=Mesa.spec;h=7dc0b04294d8530d7bdc7fa7d4f8b7321de5327e;hb=ada0d9b76df4cb6ddec18e66e4f4c5ba1a99c94d;hp=606b21aaadef95babe972fc1f84773df9391e222;hpb=be00535c50e628cc0a5761b5e9dc507fc5cf0ed5;p=packages%2FMesa.git diff --git a/Mesa.spec b/Mesa.spec index 606b21a..7dc0b04 100644 --- a/Mesa.spec +++ b/Mesa.spec @@ -2,6 +2,7 @@ # TODO: # - check if gallium_intel note is still valid, switch the bcond if not # - consider: +# - ARM drivers (ilo,freedreno,vc4)? # - 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) # @@ -9,13 +10,18 @@ %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 +%bcond_without gallium_radeon # gallium radeon drivers %bcond_without egl # EGL libraries +%bcond_with openvg # OpenVG library [not builind 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 %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 # @@ -26,38 +32,59 @@ # minimal supported xserver version %define xserver_ver 1.5.0 # other packages -%define libdrm_ver 2.4.54 +%define libdrm_ver 2.4.60 %define dri2proto_ver 2.6 %define dri3proto_ver 1.0 %define glproto_ver 1.4.14 %define presentproto_ver 1.0 +%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: 10.2.4 -Release: 1 +Version: 11.0.3 +Release: 2 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: 11d3542da1b703618634be840a87b0b2 +Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/mesa-%{version}.tar.xz +# Source0-md5: bf9118bf0fbf360715cfe60baf7a1db5 +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: libxcb-devel >= 1.10 -BuildRequires: llvm-devel >= 3.3 +%{?with_gallium_radeon:BuildRequires: llvm-devel >= 3.4.2} %{?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 @@ -67,6 +94,7 @@ BuildRequires: pkgconfig(talloc) >= 2.0.1 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 @@ -85,26 +113,12 @@ 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 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_ocl_icd -%undefine with_opencl -%undefine with_xa -%endif - -%if %{without egl} -%undefine with_gbm -%undefine with_wayland -%endif - # 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) @@ -140,8 +154,6 @@ Requires: libdrm >= %{libdrm_ver} Requires: libxcb >= 1.9 %{?with_wayland:Requires: wayland >= 1.2.0} %if %{with gallium} -# for egl_gallium.so -Requires: %{name}-libOpenVG = %{version}-%{release} Requires: udev-libs >= 1:151 %endif %if %{with gbm} @@ -375,6 +387,7 @@ 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 @@ -505,6 +518,18 @@ R600/R700 chips. Implementacja Mesa API XvMC dla kart ATI Radeon opartych na układach R600/R700. +%package -n libva-driver-gallium +Summary: VA driver for Gallium State Tracker +Summary(pl.UTF-8): Sterownik VA do Gallium +Group: Libraries +Requires: libva >= 1.3.0 + +%description -n libva-driver-gallium +VA driver for Gallium State Tracker. + +%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 @@ -881,6 +906,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 @@ -898,6 +947,23 @@ Mesa nouveau driver for the vdpau API. It supports NVidia adapters Sterownik Mesa nouveau dla API vdpau. Obsługuje karty NVidia (NV40-NV96, NVa0). +%package -n libvdpau-driver-mesa-r300 +Summary: Mesa r300 driver for the vdpau API +Summary(pl.UTF-8): Sterownik Mesa r300 dla API vdpau +License: MIT +Group: X11/Libraries +Requires: libdrm >= %{libdrm_ver} +Requires: libvdpau >= 0.4.1 +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 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. + %package -n libvdpau-driver-mesa-r600 Summary: Mesa r600 driver for the vdpau API Summary(pl.UTF-8): Sterownik Mesa r600 dla API vdpau @@ -933,6 +999,24 @@ 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 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: libxcb >= 1.8 +Requires: libomxil-bellagio +Obsoletes: omxil-mesa-nouveau +Obsoletes: omxil-mesa-r600 +Obsoletes: omxil-mesa-radeonsi + +%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 @@ -985,7 +1069,8 @@ Sterownik Mesa radeonsi dla API Bellagio OpenMAX IL. Obsługuje karty ATI Radeon oparte na układach Southern Islands. %prep -%setup -q +%setup -q -n mesa-%{version} +%patch0 -p1 %build %{__libtoolize} @@ -1010,9 +1095,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 @@ -1022,13 +1109,14 @@ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') %configure \ --disable-silent-rules \ - --enable-shared \ - --enable-glx-tls \ - --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 \ @@ -1041,8 +1129,8 @@ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') %{__enable egl gallium-egl} \ %{__enable gbm gallium-gbm} \ %{__enable ocl_icd opencl-icd} \ - %{__enable opencl opencl} \ - %{?with_egl:--enable-openvg} \ + %{?with_nine:--enable-nine} \ + %{__enable opencl} \ --enable-vdpau \ %{?with_omx:--enable-omx} \ %{?with_xa:--enable-xa} \ @@ -1052,7 +1140,9 @@ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',') --without-gallium-drivers \ %endif --with-dri-drivers=${dri_drivers} \ - --with-dri-driverdir=%{_libdir}/xorg/modules/dri + --with-dri-driverdir=%{_libdir}/xorg/modules/dri \ + --with-sha1=libnettle \ + --with-va-libdir=%{_libdir}/libva/dri %{__make} @@ -1065,20 +1155,21 @@ rm -rf $RPM_BUILD_ROOT DESTDIR=$RPM_BUILD_ROOT # strip out undesirable headers -%{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/{wglext,wmesa}.h +%{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/wglext.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} -%{__rm} $RPM_BUILD_ROOT%{_libdir}/egl/egl_*.la -%{__rm} $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/pipe_*.la -%{__rm} $RPM_BUILD_ROOT%{_libdir}/gbm/gbm_*.la -%{__rm} $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_*.la -%{__rm} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri/*.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 @@ -1127,10 +1218,6 @@ rm -rf $RPM_BUILD_ROOT %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) @@ -1138,6 +1225,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 @@ -1151,7 +1239,7 @@ rm -rf $RPM_BUILD_ROOT %files libGL %defattr(644,root,root,755) -%doc docs/{*.html,README.UVD,relnotes/*.html} +%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 @@ -1164,6 +1252,7 @@ rm -rf $RPM_BUILD_ROOT %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 @@ -1235,7 +1324,7 @@ rm -rf $RPM_BUILD_ROOT %endif %endif -%if %{with egl} && %{with gallium} +%if %{with egl} && %{with openvg} && %{with gallium} %files libOpenVG %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libOpenVG.so.*.*.* @@ -1256,21 +1345,27 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %ghost %{_libdir}/libXvMCnouveau.so.1 %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 %endif +%if %{with va} +%files -n libva-driver-gallium +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libva/dri/gallium_drv_video.so +%endif +%endif + %if %{with gbm} %files libgbm %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libgbm.so.*.* %attr(755,root,root) %ghost %{_libdir}/libgbm.so.1 %if %{with gallium} -%dir %{_libdir}/gbm %dir %{_libdir}/gallium-pipe -%attr(755,root,root) %{_libdir}/gbm/gbm_gallium_drm.so %endif %files libgbm-devel @@ -1293,6 +1388,7 @@ rm -rf $RPM_BUILD_ROOT %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}/gallium-pipe/pipe_r300.so @@ -1304,6 +1400,7 @@ rm -rf $RPM_BUILD_ROOT %files gbm-driver-radeonsi %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/gallium-pipe/pipe_radeonsi.so +%endif %files gbm-driver-swrast %defattr(644,root,root,755) @@ -1364,6 +1461,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 @@ -1371,11 +1469,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) @@ -1394,6 +1493,9 @@ rm -rf $RPM_BUILD_ROOT %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} @@ -1402,6 +1504,18 @@ 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} @@ -1412,6 +1526,13 @@ rm -rf $RPM_BUILD_ROOT %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.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 @@ -1424,19 +1545,10 @@ rm -rf $RPM_BUILD_ROOT %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so.1 %attr(755,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so %endif - -%if %{with gallium} && %{with omx} -%if %{with gallium_nouveau} -%files -n omxil-mesa-nouveau -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/bellagio/libomx_nouveau.so %endif -%files -n omxil-mesa-r600 -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/bellagio/libomx_r600.so - -%files -n omxil-mesa-radeonsi +%if %{with gallium} && %{with omx} +%files -n omxil-mesa %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/bellagio/libomx_radeonsi.so +%attr(755,root,root) %{_libdir}/bellagio/libomx_mesa.so %endif