3 %bcond_with tests # build with tests (require a working Vulkan
6 %define tag windows-rt-%{version}
7 Summary: Vulkan API loader
13 Source0: https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/archive/%{tag}/%{name}-%{version}.tar.gz
14 # Source0-md5: 0691d2d79cf62902df2973bbdf594028
15 Patch0: system_glslang.patch
16 URL: https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers
17 #BuildRequires: LunarGLASS-devel
19 BuildRequires: glslang
20 BuildRequires: glslang-devel
21 BuildRequires: python3
22 BuildRequires: python3-modules
23 BuildRequires: spirv-tools-devel
24 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 Common loader for Vulkan API drivers.
29 %package -n vulkan-layers
30 Summary: Validation layers for Vulkan
31 Group: Development/Libraries
32 Requires: %{name} = %{version}-%{release}
34 %description -n vulkan-layers
35 Validation layers for Vulkan.
37 %package -n vulkan-devel
38 Summary: Header files for the Vulkan API
39 Summary(pl.UTF-8): Pliki nagłówkowe API Vulkan
40 Group: Development/Libraries
41 Requires: %{name} = %{version}-%{release}
43 %description -n vulkan-devel
44 Header files for the Vulkan API.
46 %description -n vulkan-devel -l pl.UTF-8
47 Pliki nagłówkowe API Vulkan.
51 Group: Development/Libraries
52 Requires: %{name} = %{version}-%{release}
58 Summary: Vulkan loader utilities
59 Group: Development/Libraries
60 Requires: %{name} = %{version}-%{release}
63 Vulkan loader utilities.
66 %setup -qn Vulkan-LoaderAndValidationLayers-%{tag}
73 %{?with_tests:-DBUILD_TESTS=ON} \
74 %{!?with_tests:-DBUILD_TESTS=OFF} \
80 LC_ALL=C.utf-8 VK_LAYER_PATH=../layers LD_LIBRARY_PATH=../loader:../layers ./run_all_tests.sh
85 rm -rf $RPM_BUILD_ROOT
86 install -d $RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/vulkan/icd.d \
87 $RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/vulkan/{explicit,implicit}_layer.d \
88 $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/vulkan/layer} \
89 $RPM_BUILD_ROOT%{_includedir}/vulkan \
90 $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
96 cp -p loader/libvulkan.so.1.0.3 $RPM_BUILD_ROOT%{_libdir}
97 ln -s libvulkan.so.1.0.3 $RPM_BUILD_ROOT%{_libdir}/libvulkan.so
98 ln -s libvulkan.so.1.0.3 $RPM_BUILD_ROOT%{_libdir}/libvulkan.so.1
100 cp -p demos/vulkaninfo $RPM_BUILD_ROOT%{_bindir}/vulkaninfo
101 cp -p demos/tri $RPM_BUILD_ROOT%{_bindir}/vulkan-tri
102 cp -p demos/cube $RPM_BUILD_ROOT%{_bindir}/vulkan-cube
104 cp -p install_staging/*.so $RPM_BUILD_ROOT%{_libdir}/vulkan/layer
105 for f in layers/*.json ; do
106 sed -e's@"library_path": "./@"library_path": "%{_libdir}/vulkan/layer/@' $f > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/$(basename $f)
109 cp -p libs/vkjson/libvkjson.a $RPM_BUILD_ROOT%{_libdir}
110 cp -p libs/vkjson/vkjson_{info,unittest} $RPM_BUILD_ROOT%{_bindir}
114 cp -p libs/vkjson/vkjson.h $RPM_BUILD_ROOT%{_includedir}
115 cp -p include/vulkan/* $RPM_BUILD_ROOT%{_includedir}/vulkan
117 cp -p demos/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
120 rm -rf $RPM_BUILD_ROOT
122 %post -p /sbin/ldconfig
123 %postun -p /sbin/ldconfig
126 %defattr(644,root,root,755)
128 %doc loader/{README.md,LoaderAndLayerInterface.md,LinuxICDs.txt}
129 %dir %{_sysconfdir}/vulkan
130 %dir %{_sysconfdir}/vulkan/icd.d
131 %dir %{_sysconfdir}/vulkan/explicit_layer.d
132 %dir %{_sysconfdir}/vulkan/implicit_layer.d
133 %dir %{_datadir}/vulkan
134 %dir %{_datadir}/vulkan/icd.d
135 %dir %{_datadir}/vulkan/explicit_layer.d
136 %dir %{_datadir}/vulkan/implicit_layer.d
137 %{_libdir}/libvulkan.so.1.*.*
138 %ghost %{_libdir}/libvulkan.so.1
139 %dir %{_libdir}/vulkan
142 %defattr(644,root,root,755)
143 %attr(755,root,root) %{_bindir}/vulkan-tri
144 %attr(755,root,root) %{_bindir}/vulkan-cube
147 %defattr(644,root,root,755)
148 %attr(755,root,root) %{_bindir}/vulkaninfo
149 %attr(755,root,root) %{_bindir}/vkjson_info
150 %attr(755,root,root) %{_bindir}/vkjson_unittest
152 %files -n vulkan-layers
153 %defattr(644,root,root,755)
154 %doc LICENSE.txt layers/README.md layers/vk_layer_settings.txt
155 %dir %{_libdir}/vulkan/layer
156 %{_libdir}/vulkan/layer/*.so
157 %{_datadir}/vulkan/explicit_layer.d/*.json
159 %files -n vulkan-devel
160 %defattr(644,root,root,755)
161 %doc LICENSE.txt README.md
162 %{_libdir}/libvulkan.so
163 %{_libdir}/libvkjson.a
164 %{_includedir}/vulkan
165 %{_includedir}/vkjson.h
166 %{_examplesdir}/%{name}-%{version}