]> git.pld-linux.org Git - packages/Mesa.git/blobdiff - Mesa.spec
- updated to 9.0.2
[packages/Mesa.git] / Mesa.spec
index ee40ad2d3eb5781e3c3385f8ea9b0bc5a8584254..1615f93d0a3046cc9a9d360084a8f18b8e2e92ac 100644 (file)
--- 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)
@@ -10,6 +11,7 @@
 %bcond_without gallium_nouveau # gallium nouveau driver
 %bcond_without egl             # EGL libraries
 %bcond_without gbm             # Graphics Buffer Manager
+%bcond_without opencl          # OpenCL library
 %bcond_without wayland         # Wayland EGL
 %bcond_without xa              # XA state tracker (for vmwgfx xorg driver)
 %bcond_with    static_libs     # static libraries [not supported for DRI, thus broken currently]
 %define                libdrm_ver      2.4.39
 %define                dri2proto_ver   2.6
 %define                glproto_ver     1.4.14
-#
+
 %define                snap            20120921
-#
 Summary:       Free OpenGL implementation
 Summary(pl.UTF-8):     Wolnodostępna implementacja standardu OpenGL
 Name:          Mesa
-Version:       9.0
-Release:       0.1
+Version:       9.0.2
+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
+# Source0-md5: dc45d1192203e418163e0017640e1cfc
 Patch0:                %{name}-link.patch
+Patch1:                %{name}-llvm3.2-support.patch
 URL:           http://www.mesa3d.org/
 BuildRequires: autoconf >= 2.60
 BuildRequires: automake
+%{?with_opencl:BuildRequires:  clang-devel >= 3.1}
 BuildRequires: expat-devel
 BuildRequires: gcc >= 5:3.3
+%{?with_opencl:BuildRequires:  gcc >= 6:4.6}
 BuildRequires: libdrm-devel >= %{libdrm_ver}
 BuildRequires: libselinux-devel
 BuildRequires: libstdc++-devel >= 5:3.3.0
 BuildRequires: libtalloc-devel >= 2:2.0.1
 BuildRequires: libtool >= 2:2.2
 BuildRequires: libvdpau-devel >= 0.4.1
-BuildRequires: libxcb-devel >= 1.8.1
-BuildRequires: llvm-devel >= 2.9
+BuildRequires: libxcb-devel >= 1.9
+BuildRequires: llvm-devel >= 3.1
+%{?with_opencl:BuildRequires:  llvm-libclc}
 BuildRequires: perl-base
 BuildRequires: pixman-devel
 BuildRequires: pkgconfig
@@ -61,7 +66,7 @@ BuildRequires:        rpmbuild(macros) >= 1.470
 BuildRequires: sed >= 4.0
 %{?with_egl:BuildRequires:     udev-devel >= 1:150}
 # wayland-{client,server}
-%{?with_wayland:BuildRequires: wayland-devel}
+%{?with_wayland:BuildRequires: wayland-devel >= 1.0.0}
 BuildRequires: xorg-lib-libXdamage-devel
 BuildRequires: xorg-lib-libXext-devel >= 1.0.5
 BuildRequires: xorg-lib-libXfixes-devel
@@ -81,6 +86,7 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %if %{without gallium}
 %undefine      with_gallium_intel
 %undefine      with_gallium_nouveau
+%undefine      with_opencl
 %undefine      with_xa
 %endif
 
@@ -89,8 +95,11 @@ BuildRoot:   %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %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(?)
+# libdricore: internal library, not linked with libglapi
+# 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.* libdricore.*.so.* libgbm.*.so.*
 
 # llvm build broken
 %define                filterout_ld    -Wl,--as-needed
@@ -119,6 +128,8 @@ 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.0.0}
 %if %{with gallium}
 # for egl_gallium.so
 Requires:      %{name}-libOpenVG = %{version}-%{release}
@@ -344,6 +355,141 @@ Static OSMesa (off-screen renderer) library.
 %description libOSMesa-static -l pl.UTF-8
 Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci).
 
+%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:150
+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:
+<http://www.khronos.org/opencl/>. 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: <http://www.khronos.org/opencl/>.
+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 opencl-driver-i915
+Summary:       i915 driver for Mesa OpenCL implementation
+Summary(pl.UTF-8):     Sterownik i915 dla implementacji Mesa OpenCL
+Group:         Libraries
+Requires:      %{name}-libOpenCL = %{version}-%{release}
+
+%description opencl-driver-i915
+i915 driver for Mesa OpenCL implementation. It supports Intel
+915/945/G33/Q33/Q35/Pineview chips.
+
+%description opencl-driver-i915 -l pl.UTF-8
+Sterownik i915 dla implementacji Mesa standardu OpenCL. Obsługuje
+układy Intela z serii 915/945/G33/Q33/Q35/Pineview.
+
+%package opencl-driver-nouveau
+Summary:       nouveau driver for Mesa OpenCL implementation
+Summary(pl.UTF-8):     Sterownik nouveau dla implementacji Mesa OpenCL
+Group:         Libraries
+Requires:      %{name}-libOpenCL = %{version}-%{release}
+
+%description opencl-driver-nouveau
+nouveau driver for Mesa OpenCL implementation. It supports NVidia
+adapters.
+
+%description opencl-driver-nouveau -l pl.UTF-8
+Sterownik nouveau dla implementacji Mesa standardu OpenCL. Obsługuje
+karty graficzne firmy NVidia.
+
+%package opencl-driver-r300
+Summary:       r300 driver for Mesa OpenCL implementation
+Summary(pl.UTF-8):     Sterownik r300 dla implementacji Mesa OpenCL
+Group:         Libraries
+Requires:      %{name}-libOpenCL = %{version}-%{release}
+
+%description opencl-driver-r300
+r300 driver for Mesa OpenCL implementation. It supports ATI Radeon
+adapters based on R300/R400/RS690/R500 chips.
+
+%description opencl-driver-r300 -l pl.UTF-8
+Sterownik r300 dla implementacji Mesa standardu OpenCL. Obsługuje
+karty graficzne ATI Radeon oparte na układach R300/R400/RS690/R500.
+
+%package opencl-driver-r600
+Summary:       r600 driver for Mesa OpenCL implementation
+Summary(pl.UTF-8):     Sterownik r600 dla implementacji Mesa OpenCL
+Group:         Libraries
+Requires:      %{name}-libOpenCL = %{version}-%{release}
+
+%description opencl-driver-r600
+r600 driver for Mesa OpenCL implementation. It supports ATI Radeon
+adapters based on R600/R700 chips.
+
+%description opencl-driver-r600 -l pl.UTF-8
+Sterownik r600 dla implementacji Mesa standardu OpenCL. Obsługuje
+karty graficzne ATI Radeon oparte na układach R600/R700.
+
+%package opencl-driver-radeonsi
+Summary:       radeonsi driver for Mesa OpenCL implementation
+Summary(pl.UTF-8):     Sterownik radeonsi dla implementacji Mesa OpenCL
+Group:         Libraries
+Requires:      %{name}-libOpenCL = %{version}-%{release}
+
+%description opencl-driver-radeonsi
+radeonsi driver for Mesa OpenCL implementation. It supports ATI Radeon
+adapters based on Southern Islands chips.
+
+%description opencl-driver-radeonsi -l pl.UTF-8
+Sterownik radeonsi dla implementacji Mesa standardu OpenCL. Obsługuje
+karty graficzne ATI Radeon oparte na układach Southern Islands.
+
+%package opencl-driver-swrast
+Summary:       Software (swrast) driver for Mesa OpenCL implementation
+Summary(pl.UTF-8):     Sterownik programowy (swrast) dla implementacji Mesa OpenCL
+Group:         Libraries
+Requires:      %{name}-libOpenCL = %{version}-%{release}
+
+%description opencl-driver-swrast
+Software (swrast) driver for Mesa OpenCL implementation.
+
+%description opencl-driver-swrast -l pl.UTF-8
+Sterownik programowy (swrast) dla implementacji Mesa standardu OpenCL.
+
+%package opencl-driver-vmwgfx
+Summary:       vmwgfx driver for Mesa OpenCL implementation
+Summary(pl.UTF-8):     Sterownik vmwgfx dla implementacji Mesa OpenCL
+Group:         Libraries
+Requires:      %{name}-libOpenCL = %{version}-%{release}
+
+%description opencl-driver-vmwgfx
+vmwgfx driver for Mesa OpenCL implementation. It supports VMware
+virtual video adapter.
+
+%description opencl-driver-vmwgfx -l pl.UTF-8
+Sterownik vmwgfx dla implementacji Mesa standardu OpenCL. Obsługuje
+wirtualną kartę graficzną VMware.
+
 %package libOpenVG
 Summary:       Mesa implementation of OpenVG (Vector Graphics Accelleration) API
 Summary(pl.UTF-8):     Implementacja Mesa API OpenVG (akceleracji grafiki wektorowej)
@@ -472,19 +618,6 @@ 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
@@ -559,6 +692,19 @@ 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}
+
+%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
@@ -604,7 +750,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.
@@ -920,6 +1065,7 @@ Sterownik Mesa softpipe dla API vdpau.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 %{__libtoolize}
@@ -975,6 +1121,7 @@ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
        --with-llvm-shared-libs \ \
        %{__enable egl gallium-egl} \
        %{__enable gbm gallium-gbm} \
+       %{?with_opencl:--enable-opencl} \
        %{?with_egl:--enable-openvg} \
        --enable-vdpau \
        %{?with_xa:--enable-xa} \
@@ -994,12 +1141,14 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
+# omitted by make install (as of 9.0)
+cp -pr include/CL $RPM_BUILD_ROOT%{_includedir}
 # strip out undesirable headers
 %{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/{vms_x_fix,wglext,wmesa}.h
 # dlopened by soname
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so
 # not used externally
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{dricore9.0.0,glapi}.so
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/lib{dricore%{version},glapi}.so
 # dlopened
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri/*.la
 # not defined by standards; and not needed, there is pkg-config support
@@ -1024,6 +1173,9 @@ 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
 
@@ -1141,6 +1293,51 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libOSMesa.a
 %endif
 
+%if %{with opencl}
+%files libOpenCL
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOpenCL.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libOpenCL.so.1
+%dir %{_libdir}/opencl
+
+%files libOpenCL-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOpenCL.so
+%{_includedir}/CL
+
+%if %{with gallium_intel}
+%files opencl-driver-i915
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/opencl/pipe_i915.so
+%endif
+
+%if %{with gallium_nouveau}
+%files opencl-driver-nouveau
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/opencl/pipe_nouveau.so
+%endif
+
+%files opencl-driver-r300
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/opencl/pipe_r300.so
+
+%files opencl-driver-r600
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/opencl/pipe_r600.so
+
+%files opencl-driver-radeonsi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/opencl/pipe_radeonsi.so
+
+%files opencl-driver-swrast
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/opencl/pipe_swrast.so
+
+%files opencl-driver-vmwgfx
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/opencl/pipe_vmwgfx.so
+%endif
+
 %if %{with egl} && %{with gallium}
 %files libOpenVG
 %defattr(644,root,root,755)
@@ -1196,10 +1393,6 @@ 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)
@@ -1224,6 +1417,10 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/gbm/pipe_radeonsi.so
 
+%files gbm-driver-swrast
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/gbm/pipe_swrast.so
+
 %files gbm-driver-vmwgfx
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/gbm/pipe_vmwgfx.so
@@ -1272,8 +1469,8 @@ rm -rf $RPM_BUILD_ROOT
 
 %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
+%attr(755,root,root) %{_libdir}/libdricore%{version}.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdricore%{version}.so.1
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drirc
 
 %files dri-driver-ati-radeon-R100
This page took 0.071672 seconds and 4 git commands to generate.