]> git.pld-linux.org Git - packages/vulkan-sdk.git/blobdiff - vulkan-sdk.spec
- added install patch, cleaned up install process
[packages/vulkan-sdk.git] / vulkan-sdk.spec
index 888350acfc56ae0b79006aea2aeb8097aba32342..cf38810c55a4f270a6f7ec26b041371e02556fa7 100644 (file)
@@ -4,18 +4,19 @@
 
 
 # Conditional build:
-%bcond_with    tests           # build with tests (require a working Vulkan
-                               # driver (ICD))
-%bcond_without wayland         # enable Wayland support in loader
-%bcond_without xlib            # enable XLib support in loader
+%bcond_with    tests   # run tests (require a working Vulkan driver (ICD))
+%bcond_with    mir     # Mir support in loader
+%bcond_without wayland # Wayland support in loader
+%bcond_without x11     # XLib support in loader
 
 %define        api_version 1.0.39
 
 Summary:       LunarG Vulkan SDK
+Summary(pl.UTF-8):     Pakiet programistyczny (SDK) LunarG Vulkan
 Name:          vulkan-sdk
 Version:       1.0.39.1
 Release:       1
-License:       MIT-like
+License:       Apache v2.0, parts MIT-like
 Group:         Development
 Source0:       https://github.com/LunarG/VulkanTools/archive/sdk-%{version}/VulkanTools-%{version}.tar.gz
 # Source0-md5: 62446dfd61208771d39109218cb29152
@@ -25,25 +26,36 @@ Patch2:             rpath.patch
 Patch3:                always_xcb.patch
 Patch4:                x32.patch
 Patch5:                system_jsoncpp.patch
+Patch6:                %{name}-install.patch
 URL:           http://lunarg.com/vulkan-sdk/
-BuildRequires: bison
-BuildRequires: cmake
 BuildRequires: GLM
+BuildRequires: Qt5Core-devel >= 5
+BuildRequires: Qt5Gui-devel >= 5
+BuildRequires: Qt5Svg-devel >= 5
+BuildRequires: Qt5Widgets-devel >= 5
+BuildRequires: bison
+BuildRequires: cmake >= 3.0
+%if %{with tests} && %(locale -a | grep -q '^C\.UTF-8$'; echo $?)
+BuildRequires: glibc-localedb-all
+%endif
 BuildRequires: glslang >= 3.0.s20161222
 BuildRequires: glslang-devel >= 3.0.s20161222
 BuildRequires: graphviz
 BuildRequires: ImageMagick-devel
 BuildRequires: jsoncpp-devel
 BuildRequires: libpng
+BuildRequires: libstdc++-devel >= 6:4.7
 BuildRequires: libxcb-devel
-BuildRequires: python3
+%{?with_mir:BuildRequires:     mir-devel}
+BuildRequires: pkgconfig
+BuildRequires: python3 >= 3
 BuildRequires: python3-lxml
-BuildRequires: python3-modules
-BuildRequires: Qt5Core-devel
-BuildRequires: Qt5Svg-devel
-BuildRequires: Qt5Widgets-devel
+BuildRequires: python3-modules >= 3
+BuildRequires: qt5-build >= 5
 BuildRequires: spirv-tools-devel >= v2016.7
 BuildRequires: udev-devel
+%{?with_wayland:BuildRequires: wayland-devel}
+%{?with_x11:BuildRequires:     xorg-lib-libX11-devel}
 Requires:      glslang >= 3.0.s20161222
 Requires:      spirv-tools >= v2016.7
 Requires:      %{name}-debug-layers = %{version}-%{release}
@@ -53,34 +65,54 @@ Requires:   vulkan-sdk-tools = %{version}-%{release}
 Requires:      %{name}-validation-layers = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%ifarch %{x8664}
+%define        binsuf  %{nil}
+%else
+%define        binsuf  32
+%endif
+
 %description
-Vulkan API Software Development Kit
+Vulkan API Software Development Kit.
+
+%description -l pl.UTF-8
+Pakiet programistyczny (SDK) Vulkan API
 
 %package -n vulkan-loader
 Summary:       Vulkan API loader
-License:       MIT-like
-Group:         Library
+Summary(pl.UTF-8):     Biblioteka wczytująca sterowniki Vulkan
+Group:         Libraries
 Provides:      vulkan(loader) = %{api_version}
 
 %description -n vulkan-loader
 Common loader for Vulkan API drivers.
 
+%description -n vulkan-loader -l pl.UTF-8
+Wspólna biblioteka wczytująca sterowniki Vulkan.
+
 %package validation-layers
 Summary:       Validation layers for Vulkan
+Summary(pl.UTF-8):     Warstwy sprawdzania poprawności dla Vulkana
 Group:         Development/Libraries
 Requires:      vulkan-loader = %{version}-%{release}
 
 %description validation-layers
 Validation layers for Vulkan.
 
+%description validation-layers -l pl.UTF-8
+Warstwy sprawdzania poprawności dla Vulkana.
+
 %package debug-layers
 Summary:       Debug layers for Vulkan
+Summary(pl.UTF-8):     Warstwy diagnostyczne dla Vulkana
 Group:         Development/Libraries
 Requires:      vulkan-loader = %{version}-%{release}
 
 %description debug-layers
 Debug layers for Vulkan.
 
+%description debug-layers -l pl.UTF-8
+Warstwy diagnostyczne dla Vulkana.
+
 %package -n vulkan-devel
 Summary:       Header files for the Vulkan API
 Summary(pl.UTF-8):     Pliki nagłówkowe API Vulkan
@@ -95,6 +127,7 @@ Pliki nagłówkowe API Vulkan.
 
 %package demos
 Summary:       Vulkan demos
+Summary(pl.UTF-8):     Programy demonstracyjne Vulkana
 Group:         Development/Libraries
 Requires:      vulkan(icd)
 Requires:      vulkan-loader = %{version}-%{release}
@@ -102,53 +135,62 @@ Requires: vulkan-loader = %{version}-%{release}
 %description demos
 Vulkan demos.
 
+%description demos -l pl.UTF-8
+Programy demonstracyjne Vulkana.
+
 %package tools
 Summary:       Vulkan tools
-Group:         Development
+Summary(pl.UTF-8):     Narzędzia Vulkana
+Group:         Development/Tools
 Suggests:      vulkan(icd)
 Requires:      vulkan-loader = %{version}-%{release}
 
 %description tools
 Vulkan tools.
 
+%description tools -l pl.UTF-8
+Narzędzia Vulkana.
+
 %package tools-vktraceviewer
 Summary:       Vulkan trace viewer
-Group:         Development
+Summary(pl.UTF-8):     Przeglądarka śladów Vulkana
+Group:         Development/Tools
 Requires:      %{name}-tools = %{version}-%{release}
 
 %description tools-vktraceviewer
 Vulkan trace viewer.
 
+%description tools-vktraceviewer -l pl.UTF-8
+Przeglądarka śladów Vulkana.
+
 %prep
 %setup -qn VulkanTools-sdk-%{version}
-
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
 
 %build
 install -d build
 cd build
 
-%cmake \
+%cmake .. \
        -DJSONCPP_INCLUDE_DIR=/usr/include/jsoncpp \
        -DJSONCPP_SOURCE_DIR=/usr/include/jsoncpp \
-       -DCMAKE_INSTALL_DATADIR=share \
-       -DCMAKE_INSTALL_SYSCONFDIR=etc \
        -DBUILD_TESTS=%{?with_tests:ON}%{!?with_tests:OFF} \
+       -DBUILD_WSI_MIR_SUPPORT=%{?with_mir:ON}%{!?with_mir:OFF} \
        -DBUILD_WSI_WAYLAND_SUPPORT=%{?with_wayland:ON}%{!?with_wayland:OFF} \
-       -DBUILD_WSI_XLIB_SUPPORT=%{?with_xlib:ON}%{!?with_xlib:OFF} \
-       -DBUILD_WSI_MIR_SUPPORT=OFF \
-       -DBUILD_ICD=OFF \
-               ../
+       -DBUILD_WSI_XLIB_SUPPORT=%{?with_x11:ON}%{!?with_x11:OFF} \
+       -DBUILD_ICD=OFF
+
 %{__make}
 
 %if %{with tests}
 cd tests
-LC_ALL=C.utf-8 VK_LAYER_PATH=../layers LD_LIBRARY_PATH=../loader:../layers ./run_all_tests.sh
+LC_ALL=C.UTF-8 VK_LAYER_PATH=../layers LD_LIBRARY_PATH=../loader:../layers ./run_all_tests.sh
 cd ..
 %endif
 
@@ -157,70 +199,43 @@ cd ..
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/vulkan/icd.d \
-$RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/vulkan/{explicit,implicit}_layer.d \
+       $RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/vulkan/{explicit,implicit}_layer.d \
        $RPM_BUILD_ROOT%{_bindir} \
        $RPM_BUILD_ROOT%{_includedir}/vulkan \
        $RPM_BUILD_ROOT%{_datadir}/%{name}-demos \
        $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
-
-# hack for 'make install' tryin to install in relative paths when DESTDIR is set
-install -d "$RPM_BUILD_ROOT$PWD"
-ln -s "$PWD/build" "$RPM_BUILD_ROOT$PWD"
-
-cd build
-%{__make} install \
+%{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
-rm "$RPM_BUILD_ROOT$PWD"
+install build/demos/cube $RPM_BUILD_ROOT%{_bindir}/vulkan-cube
+install build/demos/smoketest $RPM_BUILD_ROOT%{_bindir}/vulkan-smoketest
+cp -p build/demos/{lunarg.ppm,*-vert.spv,*-frag.spv} $RPM_BUILD_ROOT%{_datadir}/%{name}-demos
 
-cp -p demos/vulkaninfo $RPM_BUILD_ROOT%{_bindir}/vulkaninfo
-cp -p demos/cube $RPM_BUILD_ROOT%{_bindir}/vulkan-cube
-cp -p demos/smoketest $RPM_BUILD_ROOT%{_bindir}/vulkan-smoketest
-cp -p demos/{lunarg.ppm,*-vert.spv,*-frag.spv} $RPM_BUILD_ROOT%{_datadir}/%{name}-demos
+%{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/vulkan/explicit_layer.d/* $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d
 
-mv $RPM_BUILD_ROOT/usr/etc/vulkan/explicit_layer.d/* $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d
+install build/libs/vkjson/vkjson_{info,unittest} $RPM_BUILD_ROOT%{_bindir}
+cp -p build/libs/vkjson/libvkjson.a $RPM_BUILD_ROOT%{_libdir}
+cp -p libs/vkjson/vkjson.h $RPM_BUILD_ROOT%{_includedir}
 
-cp -p libs/vkjson/libvkjson.a $RPM_BUILD_ROOT%{_libdir}
-cp -p libs/vkjson/vkjson_{info,unittest} $RPM_BUILD_ROOT%{_bindir}
-
-cp -p ../libs/vkjson/vkjson.h $RPM_BUILD_ROOT%{_includedir}
-
-cp -p install_staging/*.so $RPM_BUILD_ROOT%{_libdir}
-for f in layersvt/*.json ; do
-sed -e's@"library_path": "./@"library_path": "@' $f > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/$(basename $f)
+for f in build/layersvt/*.json ; do
+       sed -e's@"library_path": "./@"library_path": "@' $f > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/$(basename $f)
 done
 
-cp -pr ../demos/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -pr demos/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
-# restore original demo sources in %{_examplesdir}
-%patch1 -R -p2 -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-rm -f $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/*.orig 2>/dev/null || :
-
-%ifarch %x8664
-cp -p vktrace/libVkLayer_vktrace_layer.so $RPM_BUILD_ROOT%{_libdir}
-cp -p vktrace/vkreplay $RPM_BUILD_ROOT%{_bindir}
-cp -p vktrace/vktrace $RPM_BUILD_ROOT%{_bindir}
-sed -e's@"library_path": "../vktrace/@"library_path": "@' \
-       layersvt/VkLayer_vktrace_layer.json > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer.json
-%else
-cp -p vktrace/libVkLayer_vktrace_layer32.so $RPM_BUILD_ROOT%{_libdir}
-cp -p vktrace/vkreplay32 $RPM_BUILD_ROOT%{_bindir}
-cp -p vktrace/vktrace32 $RPM_BUILD_ROOT%{_bindir}
-rm $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer.json
-sed -e's@"library_path": "../vktrace/@"library_path": "@' \
-    -e's@libVkLayer_vktrace_layer.so@libVkLayer_vktrace_layer32.so@' \
-       layersvt/VkLayer_vktrace_layer.json > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer32.json
-%endif
-
-install via/via $RPM_BUILD_ROOT%{_bindir}
-%ifarch %x8664
-install vktrace/vktraceviewer $RPM_BUILD_ROOT%{_bindir}
-%else
-install vktrace/vktraceviewer32 $RPM_BUILD_ROOT%{_bindir}
+install build/vktrace/libVkLayer_vktrace_layer%{binsuf}.so $RPM_BUILD_ROOT%{_libdir}
+install build/vktrace/vkreplay%{binsuf} $RPM_BUILD_ROOT%{_bindir}
+install build/vktrace/vktrace%{binsuf} $RPM_BUILD_ROOT%{_bindir}
+install build/vktrace/vktraceviewer%{binsuf} $RPM_BUILD_ROOT%{_bindir}
+%if "%{binsuf}" != ""
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer.json
 %endif
+sed -e's@"library_path": "../vktrace/@"library_path": "@' \
+    -e's@libVkLayer_vktrace_layer.so@libVkLayer_vktrace_layer%{binsuf}.so@' \
+       build/layersvt/VkLayer_vktrace_layer.json > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/VkLayer_vktrace_layer%{binsuf}.json
 
-cd ..
+install build/via/via $RPM_BUILD_ROOT%{_bindir}
 
 cp -p vktrace/README.md vktrace-README.md
 cp -p vktrace/TODO.md vktrace-TODO.md
@@ -246,8 +261,8 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_datadir}/vulkan/icd.d
 %dir %{_datadir}/vulkan/explicit_layer.d
 %dir %{_datadir}/vulkan/implicit_layer.d
-%{_libdir}/libvulkan.so.1.*.*
-%ghost %{_libdir}/libvulkan.so.1
+%attr(755,root,root) %{_libdir}/libvulkan.so.1.*.*
+%attr(755,root,root) %ghost %{_libdir}/libvulkan.so.1
 
 %files demos
 %defattr(644,root,root,755)
@@ -264,7 +279,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/vkjson_info
 %attr(755,root,root) %{_bindir}/vkjson_unittest
 %attr(755,root,root) %{_bindir}/vulkaninfo
-%ifarch %x8664
+%ifarch %{x8664}
 %attr(755,root,root) %{_bindir}/vkreplay
 %attr(755,root,root) %{_bindir}/vktrace
 %attr(755,root,root) %{_libdir}/libVkLayer_vktrace_layer.so
@@ -278,7 +293,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files tools-vktraceviewer
 %defattr(644,root,root,755)
-%ifarch %x8664
+%ifarch %{x8664}
 %attr(755,root,root) %{_bindir}/vktraceviewer
 %else
 %attr(755,root,root) %{_bindir}/vktraceviewer32
@@ -319,7 +334,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n vulkan-devel
 %defattr(644,root,root,755)
 %doc COPYRIGHT.txt LICENSE.txt README.md
-%{_libdir}/libvulkan.so
+%attr(755,root,root) %{_libdir}/libvulkan.so
 %{_libdir}/libvkjson.a
 %{_includedir}/vulkan
 %{_includedir}/vkjson.h
This page took 0.109785 seconds and 4 git commands to generate.