]> git.pld-linux.org Git - packages/Mesa.git/blobdiff - Mesa.spec
Build with static llvm 3.8
[packages/Mesa.git] / Mesa.spec
index e987f9e83f1e4ddc992f4dc9fac207db522ef957..baa06bcf84801c98bab7996a37033cdf0c236b5c 100644 (file)
--- a/Mesa.spec
+++ b/Mesa.spec
@@ -4,6 +4,7 @@
 # - 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)
+# - libglvnd?
 #
 # Conditional build:
 %bcond_without gallium         # gallium drivers
@@ -23,6 +24,7 @@
 %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_with    shared_llvm     # enable linking with shared LLVM libs – may cause compatibility problems with Steam and games
 #
 # 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
@@ -31,7 +33,7 @@
 # minimal supported xserver version
 %define                xserver_ver             1.5.0
 # other packages
-%define                libdrm_ver              2.4.63
+%define                libdrm_ver              2.4.66
 %define                dri2proto_ver           2.6
 %define                dri3proto_ver           1.0
 %define                glproto_ver             1.4.14
 %undefine      with_wayland
 %endif
 
+%define        rel     1
 Summary:       Free OpenGL implementation
 Summary(pl.UTF-8):     Wolnodostępna implementacja standardu OpenGL
 Name:          Mesa
-Version:       11.1.2
-Release:       2
+Version:       13.0.0
+Release:       1.1
 License:       MIT (core) and others - see license.html file
 Group:         X11/Libraries
 Source0:       ftp://ftp.freedesktop.org/pub/mesa/%{version}/mesa-%{version}.tar.xz
-# Source0-md5: 0a1e9b0419b7cda01203eedaedfd37b5
-Patch0:                missing-type.patch
-Patch1:                x32.patch
+# Source0-md5: 8c4ca7da1be2b8f9a877db09304335a4
 URL:           http://www.mesa3d.org/
 BuildRequires: autoconf >= 2.60
 BuildRequires: automake
@@ -71,17 +72,18 @@ BuildRequires:      automake
 BuildRequires: elfutils-devel
 BuildRequires: expat-devel
 BuildRequires: gcc >= 6:4.2.0
+%{?with_nine:BuildRequires:    gcc-c++ >= 6:4.6}
 %{?with_opencl:BuildRequires:  gcc-c++ >= 6:4.7}
 BuildRequires: libdrm-devel >= %{libdrm_ver}
 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.3.0}
-%{?with_va:BuildRequires:      pkgconfig(libva) >= 0.35.0}
+%{?with_va:BuildRequires:      libva-devel >= 1.6.0}
+%{?with_va:BuildRequires:      pkgconfig(libva) >= 0.38.0}
 BuildRequires: libvdpau-devel >= 1.1
 BuildRequires: libxcb-devel >= 1.10
-%{?with_gallium_radeon:BuildRequires:  llvm-devel >= 3.4.2}
+%{?with_gallium_radeon:BuildRequires:  llvm-devel >= 3.8}
 %{?with_opencl:BuildRequires:  llvm-libclc}
 # for SHA1 (could use also libmd/libsha1/libgcrypt/openssl instead)
 BuildRequires: nettle-devel
@@ -216,7 +218,7 @@ License:    MIT
 Group:         X11/Libraries
 Requires:      %{name}-libglapi = %{version}-%{release}
 Requires:      libdrm >= %{libdrm_ver}
-Provides:      OpenGL = 4.1
+Provides:      OpenGL = 4.5
 Provides:      OpenGL-GLX = 1.4
 Obsoletes:     Mesa
 Obsoletes:     Mesa-dri
@@ -261,7 +263,7 @@ 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 = 4.1
+Provides:      OpenGL-devel = 4.5
 Obsoletes:     Mesa-devel
 Obsoletes:     X11-OpenGL-devel < 1:7.0.0
 Obsoletes:     X11-OpenGL-devel-base < 1:7.0.0
@@ -280,7 +282,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 = 4.1
+Provides:      OpenGL-static = 4.5
 Obsoletes:     Mesa-static
 Obsoletes:     X11-OpenGL-static < 1:7.0.0
 Obsoletes:     XFree86-OpenGL-static < 1:7.0.0
@@ -522,15 +524,57 @@ R600/R700.
 
 %package -n libva-driver-gallium
 Summary:       VA driver for Gallium State Tracker
-Summary(pl.UTF-8):     Sterownik VA do Gallium
+Summary(pl.UTF-8):     Sterowniki VA do Gallium
 Group:         Libraries
-Requires:      libva >= 1.3.0
+%if %{with gallium_radeon}
+Requires:      libva-driver-r600
+Requires:      libva-driver-radeonsi
+%endif
+%if %{with gallium_nouveau}
+Requires:      libva-driver-nouveau
+%endif
 
 %description -n libva-driver-gallium
-VA driver for Gallium State Tracker.
+VA drivers for Gallium State Tracker (r600, radeonsi & nouveau).
 
 %description -n libva-driver-gallium -l pl.UTF-8
-Sterownik VA do Gallium.
+Sterowniki VA do Gallium (r600, radeonsi & nouveau).
+
+%package -n libva-driver-r600
+Summary:       VA driver for ATI Radeon R600 series adapters
+Summary(pl.UTF-8):     Sterownik VA dla kart ATI Radeon z serii R600
+Group:         Libraries
+Requires:      libva >= 1.6.0
+
+%description -n libva-driver-r600
+VA driver for ATI Radeon R600 series adapters.
+
+%description -n libva-driver-r600 -l pl.UTF-8
+Sterownik VA dla kart ATI Radeon z serii R600.
+
+%package -n libva-driver-radeonsi
+Summary:       VA driver for ATI Radeon SI adapters
+Summary(pl.UTF-8):     Sterownik VA dla kart ATI Radeon SI
+Group:         Libraries
+Requires:      libva >= 1.6.0
+
+%description -n libva-driver-radeonsi
+VA driver for ATI Radeon adapters based on Southern Islands chips.
+
+%description -n libva-driver-radeonsi -l pl.UTF-8
+Sterownik VA dla kart ATI Radeon opartych na układach Southern Islands.
+
+%package -n libva-driver-nouveau
+Summary:       VA driver for NVidia adapters
+Summary(pl.UTF-8):     Sterownik VA dla kart NVidia
+Group:         Libraries
+Requires:      libva >= 1.6.0
+
+%description -n libva-driver-nouveau
+VA driver for NVidia adapters.
+
+%description -n libva-driver-nouveau -l pl.UTF-8
+Sterownik VA dla kart NVidia.
 
 %package libgbm
 Summary:       Mesa Graphics Buffer Manager library
@@ -736,7 +780,6 @@ Summary:    X.org DRI driver for Intel i915 card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart Intel i915
 License:       MIT
 Group:         X11/Libraries
-Requires:      xorg-driver-video-intel
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 Obsoletes:     Mesa-dri-driver-intel-i830
@@ -755,7 +798,6 @@ Summary:    X.org DRI driver for Intel i965 card family
 Summary(pl.UTF-8):     Sterownik X.org DRI dla rodziny kart Intel i965
 License:       MIT
 Group:         X11/Libraries
-Requires:      xorg-driver-video-intel
 Requires:      xorg-xserver-libglx(glapi) = %{glapi_ver}
 Requires:      xorg-xserver-server >= %{xserver_ver}
 Obsoletes:     Mesa-dri-driver-intel-i830
@@ -1158,10 +1200,36 @@ Radeon adapters based on Southern Islands chips.
 Sterownik Mesa radeonsi dla API Bellagio OpenMAX IL. Obsługuje karty
 ATI Radeon oparte na układach Southern Islands.
 
+%package vulkan-icd-intel
+Summary:       Mesa Vulkan driver for Intel GPUs
+Summary(pl.UTF-8):     Sterownik Vulkan dla GPU firmy Intel
+License:       MIT
+Group:         Libraries
+Suggests:      vulkan(loader)
+Requires:      libdrm >= %{libdrm_ver}
+Provides:      vulkan(icd) = 1.0.3
+
+%description vulkan-icd-intel
+Mesa Vulkan driver for Intel GPUs.
+
+%description vulkan-icd-intel -l pl.UTF-8
+Sterownik Vulkan dla GPU Intela.
+
+%package vulkan-icd-intel-devel
+Summary:       Header files for Mesa Intel GPU Vulkan driver
+Summary(pl.UTF-8):     Pliki nagłówkowe sterownika Vulkan dla GPU Intela
+License:       MIT
+Group:         Development/Libraries
+Requires:      %{name}-vulkan-icd-intel = %{version}-%{release}
+
+%description vulkan-icd-intel-devel
+eader files for Mesa Intel GPU Vulkan driver.
+
+%description vulkan-icd-intel-devel -l pl.UTF-8
+Pliki nagłówkowe sterownika Vulkan dla GPU Intel.
+
 %prep
 %setup -q -n mesa-%{version}
-%patch0 -p1
-%patch1 -p1
 
 %build
 %{__libtoolize}
@@ -1204,6 +1272,8 @@ vc4 \
 
 gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
 
+vulkan_drivers="intel"
+
 %configure \
        --disable-silent-rules \
        %{__enable gbm} \
@@ -1222,12 +1292,11 @@ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
 %endif
 %if %{with gallium}
        --enable-gallium-llvm \
-       --enable-llvm-shared-libs \
-       %{__enable egl gallium-egl} \
-       %{__enable gbm gallium-gbm} \
+       %{__enable_disable shared_llvm llvm-shared-libs} \
        %{__enable ocl_icd opencl-icd} \
        %{?with_nine:--enable-nine} \
        %{__enable opencl} \
+       %{__enable va} \
        --enable-vdpau \
        %{?with_omx:--enable-omx} \
        %{?with_xa:--enable-xa} \
@@ -1238,6 +1307,8 @@ gallium_drivers=$(echo $gallium_drivers | xargs | tr ' ' ',')
 %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
 
@@ -1251,8 +1322,6 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-# strip out undesirable headers
-%{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/wglext.h
 # dlopened by soname
 %{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so}
 %{?with_gallium:%{__rm} $RPM_BUILD_ROOT%{_libdir}/libXvMC*.so.1.0}
@@ -1266,7 +1335,9 @@ rm -rf $RPM_BUILD_ROOT
 %{?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}
+
+# these are provided by vulkan-devel
+rm -r $RPM_BUILD_ROOT%{_includedir}/vulkan/{vk_platform.h,vulkan.h}
 
 # 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
@@ -1456,7 +1527,22 @@ rm -rf $RPM_BUILD_ROOT
 %if %{with va}
 %files -n libva-driver-gallium
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libva/dri/gallium_drv_video.so
+
+%if %{with gallium_radeon}
+%files -n libva-driver-r600
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libva/dri/r600_drv_video.so
+
+%files -n libva-driver-radeonsi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libva/dri/radeonsi_drv_video.so
+%endif
+
+%if %{with gallium_nouveau}
+%files -n libva-driver-nouveau
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libva/dri/nouveau_drv_video.so
+%endif
 %endif
 %endif
 
@@ -1674,3 +1760,12 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/bellagio/libomx_mesa.so
 %endif
+
+%files vulkan-icd-intel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvulkan_intel.so
+%{_datadir}/vulkan/icd.d/intel_icd*.json
+
+%files vulkan-icd-intel-devel
+%defattr(644,root,root,755)
+%{_includedir}/vulkan/vulkan_intel.h
This page took 0.10908 seconds and 4 git commands to generate.