/[packages]/cauldron/mesa/current/SPECS/mesa.spec
ViewVC logotype

Diff of /cauldron/mesa/current/SPECS/mesa.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1177988 by tmb, Mon Nov 20 22:06:50 2017 UTC revision 1339667 by akien, Mon Dec 10 09:14:31 2018 UTC
# Line 1  Line 1 
 %if "%distro_section" == "tainted"  
 %global build_plf 1  
 %else  
 %global build_plf 0  
 %endif  
   
1  # (cg) Cheater...  # (cg) Cheater...
2  %define Werror_cflags %nil  %define Werror_cflags %nil
3    
# Line 12  Line 6 
6    
7  # https://cgit.freedesktop.org/mesa/mesa/commit/?h=13.0&id=3bb0415ab96f74183f7aa58c1a543448653ccb3e  # https://cgit.freedesktop.org/mesa/mesa/commit/?h=13.0&id=3bb0415ab96f74183f7aa58c1a543448653ccb3e
8  %define git 0  %define git 0
9  %define git_branch 17.3  %define git_branch 18.0
10    
11  %define opengl_ver 4.5  %define opengl_ver 4.5
12    
13  # define version, RC & release  # define version, RC & release
14  %define main_version            17.3.0  %define main_version            18.3.0
15  %define relc                    5  #define relc                    1
16  %define rel                     1  %define rel                     2
17    
18  %define release                 %mkrel %{?relc:0.rc%{relc}.}%{rel}  %define release                 %mkrel %{?relc:0.rc%{relc}.}%{rel}
19    
# Line 72  Line 66 
66    
67  %define dridrivers              %mklibname dri-drivers  %define dridrivers              %mklibname dri-drivers
68    
69    %define khrdevel                %mklibname mesakhr -d
70  %define osmesadevel             %mklibname osmesa -d  %define osmesadevel             %mklibname osmesa -d
71    
72  # Architecture-independent Virtual provides:  # Architecture-independent Virtual provides:
# Line 86  Line 81 
81  %define libwaylandeglname_virt  lib%{waylandeglname}  %define libwaylandeglname_virt  lib%{waylandeglname}
82  %define libxaname_virt          lib%{xaname}  %define libxaname_virt          lib%{xaname}
83    
 %define oldlibglname            %mklibname MesaGL 1  
   
84  %define mesasrcdir              %{_prefix}/src/Mesa/  %define mesasrcdir              %{_prefix}/src/Mesa/
85    
86    %define with_vaapi 1
87    
88  # (akien) Not adding on arm as it would break the build there  # (akien) Not adding on arm as it would break the build there
89  %define enable_vulkan   0  %define enable_vulkan   0
90  %ifarch %{ix86} x86_64  %ifarch %{ix86} x86_64
91  %define enable_vulkan   1  %define enable_vulkan   1
92  %endif  %endif
93    
94    
95    %ifarch %{arm} aarch64
96    %define with_etnaviv   1
97    %define with_freedreno 1
98    %define with_vc4       1
99    %endif
100    
101  %define base_drivers swrast,nouveau,radeon,r200  %define base_drivers swrast,nouveau,radeon,r200
102  %ifarch %{ix86} x86_64  %ifarch %{ix86} x86_64
103  %define platform_drivers ,i915,i965  %define platform_drivers ,i915,i965
104  %define gallium_platform_drivers ,svga  %define gallium_platform_drivers ,svga
105  %endif  %endif
106    
107    %define with_wayland_egl 0
108    
109  %define dri_drivers --with-dri-drivers=%{?base_drivers}%{?platform_drivers}  %define dri_drivers --with-dri-drivers=%{?base_drivers}%{?platform_drivers}
110    
111  Name:           mesa  Name:           mesa
# Line 121  BuildRequires: pkgconfig(xdamage)      >= 1.1 Line 126  BuildRequires: pkgconfig(xdamage)      >= 1.1
126  BuildRequires:  pkgconfig(expat)                >= 2.0.1  BuildRequires:  pkgconfig(expat)                >= 2.0.1
127  BuildRequires:  gccmakedep  BuildRequires:  gccmakedep
128  BuildRequires:  x11-proto-devel         >= 7.3  BuildRequires:  x11-proto-devel         >= 7.3
129  BuildRequires:  pkgconfig(libdrm)       >= 2.4.60  BuildRequires:  pkgconfig(libdrm)       >= 2.4.91
130  BuildRequires:  pkgconfig(xcb-dri3)  BuildRequires:  pkgconfig(xcb-dri3)
131  BuildRequires:  pkgconfig(xcb-present)  >= 1.11  BuildRequires:  pkgconfig(xcb-present)  >= 1.11
132  BuildRequires:  pkgconfig(xext)         >= 1.1.1  BuildRequires:  pkgconfig(xext)         >= 1.1.1
133  BuildRequires:  pkgconfig(xxf86vm)      >= 1.1.0  BuildRequires:  pkgconfig(xxf86vm)      >= 1.1.0
134  BuildRequires:  pkgconfig(xi)           >= 1.3  BuildRequires:  pkgconfig(xi)           >= 1.3
135    BuildRequires:  pkgconfig(xrandr)
136  BuildRequires:  pkgconfig(talloc)  BuildRequires:  pkgconfig(talloc)
137  BuildRequires:  libxml2-python  BuildRequires:  python2-libxml2
138  BuildRequires:  python-mako  BuildRequires:  python2-mako
139    BuildRequires:  python3-libxml2
140    BuildRequires:  python3-mako
141  BuildRequires:  makedepend  BuildRequires:  makedepend
142  BuildRequires:  bison  BuildRequires:  bison
143  BuildRequires:  flex  BuildRequires:  flex
144  BuildRequires:  pkgconfig(libelf)  BuildRequires:  pkgconfig(libelf)
145  BuildRequires:  llvm-devel >= 3.9.1-5  BuildRequires:  llvm-devel >= 3.9.1-5
146  BuildRequires:  pkgconfig(libudev)  BuildRequires:  pkgconfig(libudev)
147    %if 0%{?with_vaapi}
148  BuildRequires:  pkgconfig(libva)  BuildRequires:  pkgconfig(libva)
149    %endif
150  BuildRequires:  pkgconfig(vdpau)  BuildRequires:  pkgconfig(vdpau)
151  BuildRequires:  wayland-devel  BuildRequires: pkgconfig(wayland-client)
152    BuildRequires: pkgconfig(wayland-server)
153    BuildRequires: pkgconfig(wayland-protocols)
154  %if %{enable_vulkan}  %if %{enable_vulkan}
155  BuildRequires:  libgcrypt-devel  BuildRequires:  libgcrypt-devel
156  %endif  %endif
# Line 154  Source0:       https://mesa.freedesktop.org/ar Line 166  Source0:       https://mesa.freedesktop.org/ar
166  %endif  %endif
167  Source3:        make-git-snapshot.sh  Source3:        make-git-snapshot.sh
168    
169  # Instructions to setup your repository clone  Patch000:       fix-linking.patch
 # git://git.freedesktop.org/git/mesa/mesa  
 # git checkout mesa_7_5_branch  
 # git branch mdv-cherry-picks  
 # git am ../02??-*.patch  
 # git branch mdv-redhat  
 # git am ../03??-*.patch  
 # git branch mdv-patches  
 # git am ../09??-*.patch  
 # In order to update to the branch via patches, issue this command:  
 # git format-patch --start-number 100 mesa_7_5_1..mesa_7_5_branch | sed 's/^0\([0-9]\+\)-/Patch\1: 0\1-/'  
   
 # from mesa master: https://cgit.freedesktop.org/mesa/mesa/commit/?id=c591b1e59454db2e8854e36852e0d413ce38b2f2  
 Patch100:       i965-expose-SRGB-visuals-and-turn-on-EGL_KHR_gl-colorspace.patch  
   
 # Cherry picks  
 # git format-patch --start-number 200 mesa_7_5_branch..mdv-cherry-picks  
   
 # Patches "liberated" from Fedora:  
 # http://pkgs.fedoraproject.org/cgit/rpms/mesa.git/  
 # git format-patch --start-number 300 mdv-cherry-picks..mdv-redhat  
170    
171  # https://cgit.freedesktop.org/~ajax/mesa/log/?h=mesa-17.2-s3tc  # mesa staging/18.3 branch from 1
172    
173  # Patches from ChromiumOS  # mesa master branch from 101
174  # http://git.chromium.org/gitweb/?p=chromiumos/overlays/chromiumos-overlay.git;a=tree;f=media-libs/mesa/files;hb=HEAD  Patch101:       mesa-pci_ids-add-new-vega10-pci-ids.patch
175    Patch102:       mesa-pci_ids-add-new-vega20-pci-id.patch
176    
 # Mageia/Mandriva patches  
 # git format-patch --start-number 900 mdv-redhat..mdv-patches  
177    
178  #------------------------------------------------------------------------------  #------------------------------------------------------------------------------
179    
# Line 197  Obsoletes:     Mesa < %{version} Line 188  Obsoletes:     Mesa < %{version}
188  %package -n     %{libglname}  %package -n     %{libglname}
189  Summary:        Files for Mesa (GL and GLX libs)  Summary:        Files for Mesa (GL and GLX libs)
190  Group:          System/Libraries  Group:          System/Libraries
 Obsoletes:      %{oldlibglname} < 6.4  
 Provides:       %{oldlibglname} = %{version}-%{release}  
191  Provides:       %{libglname_virt} = %{version}-%{release}  Provides:       %{libglname_virt} = %{version}-%{release}
192  Requires:       %{dridrivers} >= %{version}-%{release}  Requires:       %{dridrivers} >= %{version}-%{release}
193    
# Line 233  Provides:      libd3d-devel Line 222  Provides:      libd3d-devel
222  Summary:        Development files for Mesa (OpenGL compatible 3D lib)  Summary:        Development files for Mesa (OpenGL compatible 3D lib)
223  Group:          Development/C  Group:          Development/C
224  Requires:       %{libglname} = %{version}-%{release}  Requires:       %{libglname} = %{version}-%{release}
225    Requires:       %{khrdevel} = %{version}-%{release}
226  Provides:       lib%{glname}-devel = %{version}-%{release}  Provides:       lib%{glname}-devel = %{version}-%{release}
227  Provides:       %{glname}-devel = %{version}-%{release}  Provides:       %{glname}-devel = %{version}-%{release}
228  Provides:       GL-devel  Provides:       GL-devel
 Obsoletes:      %{oldlibglname}-devel < 6.4  
 Provides:       %{oldlibglname}-devel = %{version}-%{release}  
229  Provides:       libMesaGL-devel = %{version}-%{release}  Provides:       libMesaGL-devel = %{version}-%{release}
230  Provides:       MesaGL-devel = %{version}-%{release}  Provides:       MesaGL-devel = %{version}-%{release}
231  Provides:       libgl-devel  Provides:       libgl-devel
# Line 251  Provides:      %{libeglname_virt} = %{version Line 239  Provides:      %{libeglname_virt} = %{version
239  Summary:        Development files for Mesa (EGL libs)  Summary:        Development files for Mesa (EGL libs)
240  Group:          Development/C  Group:          Development/C
241  Requires:       %{libeglname} = %{version}-%{release}  Requires:       %{libeglname} = %{version}-%{release}
242    Requires:       %{khrdevel} = %{version}-%{release}
243  Provides:       EGL-devel  Provides:       EGL-devel
244  Provides:       lib%{eglname}-devel  Provides:       lib%{eglname}-devel
245  Provides:       %{eglname}-devel  Provides:       %{eglname}-devel
246  Provides:       libegl-devel  Provides:       libegl-devel
247    
248    %package -n %{khrdevel}
249    Summary:        Mesa Khronos development headers
250    Group:          Development/C
251    Provides:       mesakhr-devel = %{version}-%{release}
252    
253  %package -n %{libosmesaname}  %package -n %{libosmesaname}
254  Summary:        Mesa offscreen rendering library  Summary:        Mesa offscreen rendering library
255  Group:          System/Libraries  Group:          System/Libraries
# Line 288  Provides:      %{libglesv1name_virt} = %{vers Line 282  Provides:      %{libglesv1name_virt} = %{vers
282  Summary:        Development files for glesv1 libs  Summary:        Development files for glesv1 libs
283  Group:          Development/C  Group:          Development/C
284  Requires:       %{libglesv1name} = %{version}-%{release}  Requires:       %{libglesv1name} = %{version}-%{release}
285    Requires:       %{khrdevel} = %{version}-%{release}
286  Provides:       lib%{glesv1name}-devel  Provides:       lib%{glesv1name}-devel
287  Provides:       %{glesv1name}-devel  Provides:       %{glesv1name}-devel
288  Provides:       libglesv1-devel  Provides:       libglesv1-devel
# Line 301  Provides:      %{libglesv2name_virt} = %{vers Line 296  Provides:      %{libglesv2name_virt} = %{vers
296  Summary:        Development files for glesv2 libs  Summary:        Development files for glesv2 libs
297  Group:          Development/C  Group:          Development/C
298  Requires:       %{libglesv2name} = %{version}-%{release}  Requires:       %{libglesv2name} = %{version}-%{release}
299  Requires:       %{libeglname}-devel = %{version}-%{release}  Requires:       %{khrdevel} = %{version}-%{release}
300  Provides:       lib%{glesv2name}-devel  Provides:       lib%{glesv2name}-devel
301  Provides:       %{glesv2name}-devel  Provides:       %{glesv2name}-devel
302  Provides:       libglesv2-devel  Provides:       libglesv2-devel
# Line 318  Requires:      %{libgbmname} = %{version}-%{r Line 313  Requires:      %{libgbmname} = %{version}-%{r
313  Provides:       lib%{gbmname}-devel  Provides:       lib%{gbmname}-devel
314  Provides:       %{gbmname}-devel  Provides:       %{gbmname}-devel
315    
316    %if %{?with_wayland_egl}
317  %package -n     %{libwaylandeglname}  %package -n     %{libwaylandeglname}
318  Summary:        Files for Mesa (Wayland EGL libs)  Summary:        Files for Mesa (Wayland EGL libs)
319  Group:          System/Libraries  Group:          System/Libraries
# Line 329  Group:         Development/C Line 325  Group:         Development/C
325  Requires:       %{libwaylandeglname} = %{version}-%{release}  Requires:       %{libwaylandeglname} = %{version}-%{release}
326  Provides:       lib%{waylandeglname}-devel  Provides:       lib%{waylandeglname}-devel
327  Provides:       %{waylandeglname}-devel  Provides:       %{waylandeglname}-devel
328    %endif
329    
330  %package -n     %{_lib}vdpau-driver-nouveau  %package -n     %{_lib}vdpau-driver-nouveau
331  Summary:        VDPAU plugin for nouveau driver  Summary:        VDPAU plugin for nouveau driver
# Line 432  well-defined subset profiles of OpenGL. Line 429  well-defined subset profiles of OpenGL.
429    
430  This package provides the OpenGL ES library version 1.  This package provides the OpenGL ES library version 1.
431    
432    %description -n %{khrdevel}
433    Mesa Khronos development headers.
434    
435  %description -n %{libosmesaname}  %description -n %{libosmesaname}
436  Mesa offscreen rendering libraries for rendering OpenGL into  Mesa offscreen rendering libraries for rendering OpenGL into
437  application-allocated blocks of memory.  application-allocated blocks of memory.
# Line 472  GBM (Graphics Buffer Manager) parts. Line 472  GBM (Graphics Buffer Manager) parts.
472  Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.  Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
473  GBM (Graphics Buffer Manager) development parts.  GBM (Graphics Buffer Manager) development parts.
474    
475    %if %{?with_wayland_egl}
476  %description -n %{libwaylandeglname}  %description -n %{libwaylandeglname}
477  Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.  Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
478  Wayland EGL platform parts.  Wayland EGL platform parts.
# Line 479  Wayland EGL platform parts. Line 480  Wayland EGL platform parts.
480  %description -n %{libwaylandeglname}-devel  %description -n %{libwaylandeglname}-devel
481  Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.  Mesa is an OpenGL %{opengl_ver} compatible 3D graphics library.
482  Wayland EGL platform development parts.  Wayland EGL platform development parts.
483    %endif
484    
485  %description -n %{libxaname}  %description -n %{libxaname}
486  This packages provides the xa shared library used by gallium.  This packages provides the xa shared library used by gallium.
# Line 518  This package contains the development fi Line 520  This package contains the development fi
520  %prep  %prep
521  %autosetup -n %{name}-%{version}%{?relc:-rc%{relc}} -p1  %autosetup -n %{name}-%{version}%{?relc:-rc%{relc}} -p1
522    
 # this is a hack for S3TC support. r200_screen.c is symlinked to  
 # radeon_screen.c in git, but is its own file in the tarball.  
 cp -f src/mesa/drivers/dri/{radeon,r200}/radeon_screen.c  
   
523  %build  %build
524  # (re)generate auto* generated files using our autotools and libtoolize  # (re)generate auto* generated files using our autotools and libtoolize
525  autoreconf -vfi  autoreconf -vfi
# Line 540  automake --add-missing Line 538  automake --add-missing
538                  --enable-gles2 \                  --enable-gles2 \
539                  --disable-xvmc \                  --disable-xvmc \
540                  --enable-vdpau \                  --enable-vdpau \
541                  --enable-va \                  %{?with_vaapi:--enable-va} \
542                  --with-platforms=x11,wayland,drm \                  --with-platforms=x11,drm,surfaceless,wayland \
543                  --enable-shared-glapi \                  --enable-shared-glapi \
544                  --enable-gbm \                  --enable-gbm \
545                  --enable-glx \                  --enable-glx \
# Line 551  automake --add-missing Line 549  automake --add-missing
549                  --enable-dri \                  --enable-dri \
550                  --enable-xa \                  --enable-xa \
551                  --enable-nine \                  --enable-nine \
552                  --with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast,virgl%{?gallium_platform_drivers} \                  --with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast,%{?with_freedreno:freedreno,}%{?with_etnaviv:etnaviv,imx,}%{?with_vc4:vc4,}virgl%{?gallium_platform_drivers} \
553          %{?dri_drivers}          %{?dri_drivers}
554                  # end of configure options                  # end of configure options
555    
# Line 582  rm -f %{buildroot}%{_includedir}/GL/w*.h Line 580  rm -f %{buildroot}%{_includedir}/GL/w*.h
580  # remove .la files  # remove .la files
581  find %{buildroot} -name '*.la' -delete  find %{buildroot} -name '*.la' -delete
582    
583    # remove libwayland-egl on F28+ where it's built as part of wayland source package
584    %if !%{?with_wayland_egl}
585    rm -f %{buildroot}%{_libdir}/libwayland-egl.so*
586    rm -f %{buildroot}%{_libdir}/pkgconfig/wayland-egl.pc
587    %endif
588    
589  #------------------------------------------------------------------------------  #------------------------------------------------------------------------------
590    
591  %files  %files
592  %config(noreplace) %{_sysconfdir}/drirc  /usr/share/drirc.d/
593    
594  %files -n %{dridrivers}  %files -n %{dridrivers}
595  %dir %{_libdir}/dri  %dir %{_libdir}/dri
# Line 619  find %{buildroot} -name '*.la' -delete Line 623  find %{buildroot} -name '*.la' -delete
623  %{_libdir}/libgbm.so.%{gbmmajor}  %{_libdir}/libgbm.so.%{gbmmajor}
624  %{_libdir}/libgbm.so.%{gbmmajor}.*  %{_libdir}/libgbm.so.%{gbmmajor}.*
625    
626    %if %{?with_wayland_egl}
627  %files -n %{libwaylandeglname}  %files -n %{libwaylandeglname}
628  %{_libdir}/libwayland-egl.so.%{waylandeglmajor}  %{_libdir}/libwayland-egl.so.%{waylandeglmajor}
629  %{_libdir}/libwayland-egl.so.%{waylandeglmajor}.*  %{_libdir}/libwayland-egl.so.%{waylandeglmajor}.*
630    %endif
631    
632  %files -n %{libxaname}  %files -n %{libxaname}
633  %{_libdir}/libxatracker.so.%{xamajor}{,.*}  %{_libdir}/libxatracker.so.%{xamajor}{,.*}
# Line 645  find %{buildroot} -name '*.la' -delete Line 651  find %{buildroot} -name '*.la' -delete
651    
652  %files -n %{libeglname}-devel  %files -n %{libeglname}-devel
653  %{_includedir}/EGL  %{_includedir}/EGL
 %{_includedir}/KHR  
654  %{_libdir}/libEGL.so  %{_libdir}/libEGL.so
655  %{_libdir}/pkgconfig/egl.pc  %{_libdir}/pkgconfig/egl.pc
656    
657    %files -n %{khrdevel}
658    %{_includedir}/KHR
659    
660  %files -n %{osmesadevel}  %files -n %{osmesadevel}
661  %dir %{_includedir}/GL  %dir %{_includedir}/GL
662  %{_includedir}/GL/osmesa.h  %{_includedir}/GL/osmesa.h
# Line 679  find %{buildroot} -name '*.la' -delete Line 687  find %{buildroot} -name '*.la' -delete
687  %{_includedir}/gbm.h  %{_includedir}/gbm.h
688  %{_libdir}/pkgconfig/gbm.pc  %{_libdir}/pkgconfig/gbm.pc
689    
690    %if %{?with_wayland_egl}
691  %files -n %{libwaylandeglname}-devel  %files -n %{libwaylandeglname}-devel
692  %{_libdir}/libwayland-egl.so  %{_libdir}/libwayland-egl.so
693  %{_libdir}/pkgconfig/wayland-egl.pc  %{_libdir}/pkgconfig/wayland-egl.pc
694    %endif
695    
696  %files -n %{libxaname}-devel  %files -n %{libxaname}-devel
697  %{_libdir}/libxatracker.so  %{_libdir}/libxatracker.so

Legend:
Removed from v.1177988  
changed lines
  Added in v.1339667

  ViewVC Help
Powered by ViewVC 1.1.26