]> git.pld-linux.org Git - packages/vulkan-sdk.git/blob - vulkan-loader.spec
up to 20160222 snapshot
[packages/vulkan-sdk.git] / vulkan-loader.spec
1 #
2 # Conditional build:
3 %bcond_with     tests           # build with tests (require a working Vulkan
4                                 # driver (ICD))
5 %define snap    20160222
6 %define commit  b654da708be8f14e7f4c6f78df656229939422c8
7 %define rel     1
8 Summary:        Vulkan API loader
9 Name:           vulkan-loader
10 Version:        1.0.3.0
11 Release:        3.s%{snap}.%{rel}
12 License:        MIT-like
13 Group:          Applications
14 Source0:        https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/archive/%{commit}/%{name}-s%{snap}.tar.gz
15 # Source0-md5:  25e8092b69d15090af5cada36d4fc92d
16 Patch0:         system_glslang.patch
17 URL:            https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers
18 #BuildRequires: LunarGLASS-devel
19 BuildRequires:  cmake
20 BuildRequires:  glslang
21 BuildRequires:  glslang-devel
22 BuildRequires:  python3
23 BuildRequires:  python3-modules
24 BuildRequires:  spirv-tools-devel
25 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26
27 %description
28 Common loader for Vulkan API drivers.
29
30 %package -n vulkan-layers
31 Summary:        Validation layers for Vulkan
32 Group:          Development/Libraries
33 Requires:       %{name} = %{version}-%{release}
34
35 %description -n vulkan-layers
36 Validation layers for Vulkan.
37
38 %package -n vulkan-devel
39 Summary:        Header files for the Vulkan API
40 Summary(pl.UTF-8):      Pliki nagłówkowe API Vulkan
41 Group:          Development/Libraries
42 Requires:       %{name} = %{version}-%{release}
43
44 %description -n vulkan-devel
45 Header files for the Vulkan API.
46
47 %description -n vulkan-devel -l pl.UTF-8
48 Pliki nagłówkowe API Vulkan.
49
50 %package demos
51 Summary:        Vulkan demos
52 Group:          Development/Libraries
53 Requires:       %{name} = %{version}-%{release}
54
55 %description demos
56 Vulkan demos.
57
58 %package utils
59 Summary:        Vulkan loader utilities
60 Group:          Development/Libraries
61 Requires:       %{name} = %{version}-%{release}
62
63 %description utils
64 Vulkan loader utilities.
65
66 %prep
67 %setup -qn Vulkan-LoaderAndValidationLayers-%{commit}
68 %patch0 -p1
69
70 %build
71 install -d build
72 cd build
73 %cmake \
74         -DCMAKE_INSTALL_DATADIR=share \
75         -DCMAKE_INSTALL_SYSCONFDIR=etc \
76         %{?with_tests:-DBUILD_TESTS=ON} \
77         %{!?with_tests:-DBUILD_TESTS=OFF} \
78                 ../
79 %{__make}
80
81 %if %{with tests}
82 cd tests
83 LC_ALL=C.utf-8 VK_LAYER_PATH=../layers LD_LIBRARY_PATH=../loader:../layers ./run_all_tests.sh
84 cd ..
85 %endif
86
87 %install
88 rm -rf $RPM_BUILD_ROOT
89 install -d $RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/vulkan/icd.d \
90 $RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/vulkan/{explicit,implicit}_layer.d \
91         $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/vulkan/layer} \
92         $RPM_BUILD_ROOT%{_includedir}/vulkan \
93         $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
94
95
96 cd build
97 %{__make} install
98
99 cp -p loader/libvulkan.so.1.0.3 $RPM_BUILD_ROOT%{_libdir}
100 ln -s libvulkan.so.1.0.3 $RPM_BUILD_ROOT%{_libdir}/libvulkan.so
101 ln -s libvulkan.so.1.0.3 $RPM_BUILD_ROOT%{_libdir}/libvulkan.so.1
102
103 cp -p demos/vulkaninfo $RPM_BUILD_ROOT%{_bindir}/vulkaninfo
104 cp -p demos/tri $RPM_BUILD_ROOT%{_bindir}/vulkan-tri
105 cp -p demos/cube $RPM_BUILD_ROOT%{_bindir}/vulkan-cube
106
107 cp -p install_staging/*.so $RPM_BUILD_ROOT%{_libdir}/vulkan/layer
108 for f in layers/*.json ; do
109 sed -e's@"library_path": "./@"library_path": "%{_libdir}/vulkan/layer/@' $f > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/$(basename $f)
110 done
111
112 cp -p libs/vkjson/libvkjson.a $RPM_BUILD_ROOT%{_libdir}
113 cp -p libs/vkjson/vkjson_{info,unittest} $RPM_BUILD_ROOT%{_bindir}
114
115 cd ..
116
117 cp -p libs/vkjson/vkjson.h $RPM_BUILD_ROOT%{_includedir}
118 cp -p include/vulkan/* $RPM_BUILD_ROOT%{_includedir}/vulkan
119
120 cp -p demos/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
121
122 %clean
123 rm -rf $RPM_BUILD_ROOT
124
125 %post   -p /sbin/ldconfig
126 %postun -p /sbin/ldconfig
127
128 %files
129 %defattr(644,root,root,755)
130 %doc LICENSE.txt
131 %doc loader/{README.md,LoaderAndLayerInterface.md}
132 %dir %{_sysconfdir}/vulkan
133 %dir %{_sysconfdir}/vulkan/icd.d
134 %dir %{_sysconfdir}/vulkan/explicit_layer.d
135 %dir %{_sysconfdir}/vulkan/implicit_layer.d
136 %dir %{_datadir}/vulkan
137 %dir %{_datadir}/vulkan/icd.d
138 %dir %{_datadir}/vulkan/explicit_layer.d
139 %dir %{_datadir}/vulkan/implicit_layer.d
140 %{_libdir}/libvulkan.so.1.*.*
141 %ghost %{_libdir}/libvulkan.so.1
142 %dir %{_libdir}/vulkan
143
144 %files demos
145 %defattr(644,root,root,755)
146 %attr(755,root,root) %{_bindir}/vulkan-tri
147 %attr(755,root,root) %{_bindir}/vulkan-cube
148
149 %files utils
150 %defattr(644,root,root,755)
151 %attr(755,root,root) %{_bindir}/vulkaninfo
152 %attr(755,root,root) %{_bindir}/vkjson_info
153 %attr(755,root,root) %{_bindir}/vkjson_unittest
154
155 %files -n vulkan-layers
156 %defattr(644,root,root,755)
157 %doc LICENSE.txt layers/README.md layers/vk_layer_settings.txt
158 %dir %{_libdir}/vulkan/layer
159 %{_libdir}/vulkan/layer/*.so
160 %{_datadir}/vulkan/explicit_layer.d/*.json
161
162 %files -n vulkan-devel
163 %defattr(644,root,root,755)
164 %doc LICENSE.txt README.md
165 %{_libdir}/libvulkan.so
166 %{_libdir}/libvkjson.a
167 %{_includedir}/vulkan
168 %{_includedir}/vkjson.h
169 %{_examplesdir}/%{name}-%{version}
This page took 0.039209 seconds and 3 git commands to generate.