/[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 1217642 by tv, Wed Apr 11 20:34:11 2018 UTC revision 1340092 by akien, Mon Dec 10 22:45:28 2018 UTC
# Line 1  Line 1 
 %bcond_with wayland  
   
1  # (cg) Cheater...  # (cg) Cheater...
2  %define Werror_cflags %nil  %define Werror_cflags %nil
3    
# Line 13  Line 11 
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            18.0.0  %define main_version            18.3.0
15  #define relc                    5  #define relc                    1
16  %define rel                     5  %define rel                     4
17    
18  %define release                 %mkrel %{?relc:0.rc%{relc}.}%{rel}  %define release                 %mkrel %{?relc:0.rc%{relc}.}%{rel}
19    
# Line 39  Line 37 
37  %define gbmname                 gbm  %define gbmname                 gbm
38  %define waylandeglname          wayland-egl  %define waylandeglname          wayland-egl
39  %define xaname                  xatracker  %define xaname                  xatracker
40  %define vulkanname              vulkan  %define vulkanname              mesavulkan
41    
42  %define d3dmajor                1  %define d3dmajor                1
43  %define eglmajor                1  %define eglmajor                1
# Line 64  Line 62 
62  %define libwaylandeglname       %mklibname %{waylandeglname} %{waylandeglmajor}  %define libwaylandeglname       %mklibname %{waylandeglname} %{waylandeglmajor}
63  %define libosmesaname           %mklibname osmesa %{osmesamajor}  %define libosmesaname           %mklibname osmesa %{osmesamajor}
64  %define libxaname               %mklibname %{xaname} %{xamajor}  %define libxaname               %mklibname %{xaname} %{xamajor}
 %define libvulkanname           %mklibname %{vulkanname}  
65    
66  %define dridrivers              %mklibname dri-drivers  %define dridrivers              %mklibname dri-drivers
67    
68    %define vulkandrivers   %mklibname %{vulkanname}-drivers
69    %define vulkandevel             %mklibname %{vulkanname} -d
70    
71    %define khrdevel                %mklibname mesakhr -d
72  %define osmesadevel             %mklibname osmesa -d  %define osmesadevel             %mklibname osmesa -d
73    
74  # Architecture-independent Virtual provides:  # Architecture-independent Virtual provides:
# Line 82  Line 83 
83  %define libwaylandeglname_virt  lib%{waylandeglname}  %define libwaylandeglname_virt  lib%{waylandeglname}
84  %define libxaname_virt          lib%{xaname}  %define libxaname_virt          lib%{xaname}
85    
 %define oldlibglname            %mklibname MesaGL 1  
   
86  %define mesasrcdir              %{_prefix}/src/Mesa/  %define mesasrcdir              %{_prefix}/src/Mesa/
87    
88  %define with_vaapi 1  %define with_vaapi 1
89    
 # (akien) Not adding on arm as it would break the build there  
 %define enable_vulkan   0  
90  %ifarch %{ix86} x86_64  %ifarch %{ix86} x86_64
91  %define enable_vulkan   1  %define vulkan_drivers  --with-vulkan-drivers=intel,radeon
92    %else
93    %define vulkan_drivers  --with-vulkan-drivers=radeon
94  %endif  %endif
95    
96    
# Line 106  Line 105 
105  %define platform_drivers ,i915,i965  %define platform_drivers ,i915,i965
106  %define gallium_platform_drivers ,svga  %define gallium_platform_drivers ,svga
107  %endif  %endif
108    
109    %define with_wayland_egl 0
110    
111  %define dri_drivers --with-dri-drivers=%{?base_drivers}%{?platform_drivers}  %define dri_drivers --with-dri-drivers=%{?base_drivers}%{?platform_drivers}
112    
113  Name:           mesa  Name:           mesa
# Line 132  BuildRequires: pkgconfig(xcb-present)  > Line 134  BuildRequires: pkgconfig(xcb-present)  >
134  BuildRequires:  pkgconfig(xext)         >= 1.1.1  BuildRequires:  pkgconfig(xext)         >= 1.1.1
135  BuildRequires:  pkgconfig(xxf86vm)      >= 1.1.0  BuildRequires:  pkgconfig(xxf86vm)      >= 1.1.0
136  BuildRequires:  pkgconfig(xi)           >= 1.3  BuildRequires:  pkgconfig(xi)           >= 1.3
137    BuildRequires:  pkgconfig(xrandr)
138  BuildRequires:  pkgconfig(talloc)  BuildRequires:  pkgconfig(talloc)
139    BuildRequires:  python2-libxml2
140    BuildRequires:  python2-mako
141  BuildRequires:  python3-libxml2  BuildRequires:  python3-libxml2
142  BuildRequires:  python3-mako  BuildRequires:  python3-mako
143  BuildRequires:  makedepend  BuildRequires:  makedepend
# Line 145  BuildRequires:  pkgconfig(libudev) Line 150  BuildRequires:  pkgconfig(libudev)
150  BuildRequires:  pkgconfig(libva)  BuildRequires:  pkgconfig(libva)
151  %endif  %endif
152  BuildRequires:  pkgconfig(vdpau)  BuildRequires:  pkgconfig(vdpau)
 %if %{with wayland}  
153  BuildRequires: pkgconfig(wayland-client)  BuildRequires: pkgconfig(wayland-client)
154  BuildRequires: pkgconfig(wayland-server)  BuildRequires: pkgconfig(wayland-server)
155  BuildRequires: pkgconfig(wayland-protocols)  BuildRequires: pkgconfig(wayland-protocols)
 %endif  
 %if %{enable_vulkan}  
156  BuildRequires:  libgcrypt-devel  BuildRequires:  libgcrypt-devel
 %endif  
157  BuildRequires:  pkgconfig(wayland-protocols) >= 1.8  BuildRequires:  pkgconfig(wayland-protocols) >= 1.8
158    
159  URL:            http://www.mesa3d.org  URL:            http://www.mesa3d.org
# Line 165  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-/'  
   
 # 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 205  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 241  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 259  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 296  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 309  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 326  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}  %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 376  Requires:      %{libxaname_virt} = %{version} Line 363  Requires:      %{libxaname_virt} = %{version}
363  Provides:       lib%{xaname}-devel  Provides:       lib%{xaname}-devel
364  Provides:       %{libxaname}-devel  Provides:       %{libxaname}-devel
365    
366  %if %{enable_vulkan}  %package -n %{vulkandrivers}
367  %package -n %{libvulkanname}_intel  Summary:        Mesa Vulkan driver for Intel and Radeon GPUs
 Summary:        Mesa vulkan driver for Intel GPU  
 Group:          System/Libraries  
   
 %package -n %{libvulkanname}_radeon  
 Summary:        Mesa vulkan driver for Radeon GPU  
368  Group:          System/Libraries  Group:          System/Libraries
369    %ifarch %{ix86} x86_64
370    Obsoletes:      %{_lib}vulkan_intel < 18.3.0-4
371    Provides:       %{_lib}vulkan_intel = %{version}-%{release}
372    %endif
373    Obsoletes:      %{_lib}vulkan_radeon < 18.3.0-4
374    Provides:       %{_lib}vulkan_radeon = %{version}-%{release}
375    
376  %package -n %{libvulkanname}-devel  %package -n %{vulkandevel}
377  Summary:        Mesa's Vulkan development files  Summary:        Mesa's Vulkan development files for Intel and Radeon drivers
378  Group:          Development/C  Group:          Development/C
379  Requires:       %{libvulkanname}_intel = %{version}-%{release}  Requires:       %{vulkandrivers} = %{version}-%{release}
380  Provides:       libvulkan-devel  Obsoletes:      %{_lib}vulkan-devel < 0:18.3.0-4
381  Provides:       libvulkan_intel-devel  Provides:   %{vulkanname}-devel = %{version}-%{release}
 %endif  
382    
383  %package        common-devel  %package        common-devel
384  Summary:        Meta package for mesa devel  Summary:        Meta package for mesa devel
# Line 442  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 482  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}  %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 514  with the r600 driver. Line 504  with the r600 driver.
504  This packages provides a VPDAU plugin to enable video acceleration  This packages provides a VPDAU plugin to enable video acceleration
505  with the radeonsi driver.  with the radeonsi driver.
506    
507  %if %{enable_vulkan}  %description -n %{vulkandrivers}
508  %description -n %{libvulkanname}_intel  This package contains the Vulkan parts for Mesa's Intel and Radeon drivers.
 This package contains the Vulkan parts for Mesa's Intel driver.  
509    
510  %description -n %{libvulkanname}_radeon  %description -n %{vulkandevel}
 This package contains the Vulkan parts for Mesa's Radeon driver.  
   
 %description -n %{libvulkanname}-devel  
511  This package contains the development files for Mesa's Vulkan implementation.  This package contains the development files for Mesa's Vulkan implementation.
 %endif  
512    
513  #------------------------------------------------------------------------------  #------------------------------------------------------------------------------
514    
# Line 538  autoreconf -vfi Line 523  autoreconf -vfi
523  automake --add-missing  automake --add-missing
524    
525  %configure2_5x \  %configure2_5x \
 %if %{enable_vulkan}  
                 --with-vulkan-drivers=intel,radeon \  
 %endif  
526                  --enable-gallium-osmesa \                  --enable-gallium-osmesa \
527                  --with-dri-driverdir=%{_libdir}/dri \                  --with-dri-driverdir=%{_libdir}/dri \
528                  --enable-egl \                  --enable-egl \
# Line 549  automake --add-missing Line 531  automake --add-missing
531                  --disable-xvmc \                  --disable-xvmc \
532                  --enable-vdpau \                  --enable-vdpau \
533                  %{?with_vaapi:--enable-va} \                  %{?with_vaapi:--enable-va} \
534                  --with-platforms=x11,drm,surfaceless%{?with_wayland:,wayland} \                  --with-platforms=x11,drm,surfaceless,wayland \
535                  --enable-shared-glapi \                  --enable-shared-glapi \
536                  --enable-gbm \                  --enable-gbm \
537                  --enable-glx \                  --enable-glx \
# Line 560  automake --add-missing Line 542  automake --add-missing
542                  --enable-xa \                  --enable-xa \
543                  --enable-nine \                  --enable-nine \
544                  --with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast,%{?with_freedreno:freedreno,}%{?with_etnaviv:etnaviv,imx,}%{?with_vc4:vc4,}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} \
545            %{?vulkan_drivers} \
546          %{?dri_drivers}          %{?dri_drivers}
547                  # end of configure options                  # end of configure options
548    
# Line 590  rm -f %{buildroot}%{_includedir}/GL/w*.h Line 573  rm -f %{buildroot}%{_includedir}/GL/w*.h
573  # remove .la files  # remove .la files
574  find %{buildroot} -name '*.la' -delete  find %{buildroot} -name '*.la' -delete
575    
576    # remove libwayland-egl on F28+ where it's built as part of wayland source package
577    %if !%{?with_wayland_egl}
578    rm -f %{buildroot}%{_libdir}/libwayland-egl.so*
579    rm -f %{buildroot}%{_libdir}/pkgconfig/wayland-egl.pc
580    %endif
581    
582    %ifnarch %{ix86} x86_64
583    # To have something to package for mesavulkan-devel on arm/aarch64 for now
584    mkdir %{buildroot}%{_includedir}/vulkan
585    %endif
586    
587  #------------------------------------------------------------------------------  #------------------------------------------------------------------------------
588    
589  %files  %files
590  %config(noreplace) %{_sysconfdir}/drirc  /usr/share/drirc.d/
591    
592  %files -n %{dridrivers}  %files -n %{dridrivers}
593  %dir %{_libdir}/dri  %dir %{_libdir}/dri
# Line 627  find %{buildroot} -name '*.la' -delete Line 621  find %{buildroot} -name '*.la' -delete
621  %{_libdir}/libgbm.so.%{gbmmajor}  %{_libdir}/libgbm.so.%{gbmmajor}
622  %{_libdir}/libgbm.so.%{gbmmajor}.*  %{_libdir}/libgbm.so.%{gbmmajor}.*
623    
624  %if %{with wayland}  %if %{?with_wayland_egl}
625  %files -n %{libwaylandeglname}  %files -n %{libwaylandeglname}
626  %{_libdir}/libwayland-egl.so.%{waylandeglmajor}  %{_libdir}/libwayland-egl.so.%{waylandeglmajor}
627  %{_libdir}/libwayland-egl.so.%{waylandeglmajor}.*  %{_libdir}/libwayland-egl.so.%{waylandeglmajor}.*
# Line 655  find %{buildroot} -name '*.la' -delete Line 649  find %{buildroot} -name '*.la' -delete
649    
650  %files -n %{libeglname}-devel  %files -n %{libeglname}-devel
651  %{_includedir}/EGL  %{_includedir}/EGL
 %{_includedir}/KHR  
652  %{_libdir}/libEGL.so  %{_libdir}/libEGL.so
653  %{_libdir}/pkgconfig/egl.pc  %{_libdir}/pkgconfig/egl.pc
654    
655    %files -n %{khrdevel}
656    %{_includedir}/KHR
657    
658  %files -n %{osmesadevel}  %files -n %{osmesadevel}
659  %dir %{_includedir}/GL  %dir %{_includedir}/GL
660  %{_includedir}/GL/osmesa.h  %{_includedir}/GL/osmesa.h
# Line 689  find %{buildroot} -name '*.la' -delete Line 685  find %{buildroot} -name '*.la' -delete
685  %{_includedir}/gbm.h  %{_includedir}/gbm.h
686  %{_libdir}/pkgconfig/gbm.pc  %{_libdir}/pkgconfig/gbm.pc
687    
688  %if %{with wayland}  %if %{?with_wayland_egl}
689  %files -n %{libwaylandeglname}-devel  %files -n %{libwaylandeglname}-devel
690  %{_libdir}/libwayland-egl.so  %{_libdir}/libwayland-egl.so
691  %{_libdir}/pkgconfig/wayland-egl.pc  %{_libdir}/pkgconfig/wayland-egl.pc
# Line 714  find %{buildroot} -name '*.la' -delete Line 710  find %{buildroot} -name '*.la' -delete
710  %files -n %{_lib}vdpau-driver-radeonsi  %files -n %{_lib}vdpau-driver-radeonsi
711  %{_libdir}/vdpau/libvdpau_radeonsi.so.*  %{_libdir}/vdpau/libvdpau_radeonsi.so.*
712    
713  %if %{enable_vulkan}  %files -n %{vulkandrivers}
 %files -n %{libvulkanname}_intel  
714  %dir %{_datadir}/vulkan  %dir %{_datadir}/vulkan
715  %dir %{_datadir}/vulkan/icd.d  %dir %{_datadir}/vulkan/icd.d
716    %ifarch %{ix86} x86_64
717  %{_datadir}/vulkan/icd.d/intel_icd*.json  %{_datadir}/vulkan/icd.d/intel_icd*.json
 # (akien) No lib major?  
718  %{_libdir}/libvulkan_intel.so  %{_libdir}/libvulkan_intel.so
719    %endif
 %files -n %{libvulkanname}_radeon  
 %dir %{_datadir}/vulkan  
 %dir %{_datadir}/vulkan/icd.d  
720  %{_datadir}/vulkan/icd.d/radeon_icd*.json  %{_datadir}/vulkan/icd.d/radeon_icd*.json
 # (akien) No lib major?  
721  %{_libdir}/libvulkan_radeon.so  %{_libdir}/libvulkan_radeon.so
722    
723  %files -n %{libvulkanname}-devel  %files -n %{vulkandevel}
724  %{_includedir}/vulkan/  %dir %{_includedir}/vulkan
725    %ifarch %{ix86} x86_64
726    %{_includedir}/vulkan/vulkan_intel.h
727  %endif  %endif

Legend:
Removed from v.1217642  
changed lines
  Added in v.1340092

  ViewVC Help
Powered by ViewVC 1.1.30