[packages/vulkan-loader] nearly done…
jajcus
jajcus at pld-linux.org
Fri Feb 19 22:39:45 CET 2016
commit 862291f5ba6a9a6407c22edcf69f091607bb846a
Author: Jacek Konieczny <jajcus at jajcus.net>
Date: Fri Feb 19 22:39:15 2016 +0100
nearly done…
system_glslang.patch | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++
vulkan-loader.spec | 120 ++++++++++++++++++++++++++++++++++++++++++++++-----
2 files changed, 229 insertions(+), 10 deletions(-)
---
diff --git a/vulkan-loader.spec b/vulkan-loader.spec
index 23859ff..422204b 100644
--- a/vulkan-loader.spec
+++ b/vulkan-loader.spec
@@ -1,13 +1,19 @@
+#
+# Conditional build:
+%bcond_with tests # build with tests (doesn't work)
+#
+%define tag windows-rt-%{version}
Summary: Vulkan API loader
Name: vulkan-loader
-Version: 1.0.2.0
+Version: 1.0.3.0
Release: 0.1
License: MIT-like
Group: Applications
-Source0: https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/archive/sdk-%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 84ac1a616d5ba1290d7449118de86830
+Source0: https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/archive/%{tag}/%{name}-%{version}.tar.gz
+# Source0-md5: 0691d2d79cf62902df2973bbdf594028
+Patch0: system_glslang.patch
URL: https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers
-BuildRequires: LunarGLASS-devel
+#BuildRequires: LunarGLASS-devel
BuildRequires: cmake
BuildRequires: glslang-devel
BuildRequires: python3
@@ -18,6 +24,14 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Common loader for Vulkan API drivers.
+%package -n vulkan-layers
+Summary: Validation layers for Vulkan
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description -n vulkan-layers
+Validation layers for Vulkan.
+
%package -n vulkan-devel
Summary: Header files for the Vulkan API
Summary(pl.UTF-8): Pliki nagłówkowe API Vulkan
@@ -30,21 +44,69 @@ Header files for the Vulkan API.
%description -n vulkan-devel -l pl.UTF-8
Pliki nagłówkowe API Vulkan.
+%package demos
+Summary: Vulkan demos
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description demos
+Vulkan demos.
+
+%package utils
+Summary: Vulkan loader utilities
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description utils
+Vulkan loader utilities.
+
%prep
-%setup -qn Vulkan-LoaderAndValidationLayers-sdk-%{version}
+%setup -qn Vulkan-LoaderAndValidationLayers-%{tag}
+%patch0 -p1
%build
install -d build
cd build
%cmake \
- ../
+ %{?with_tests:-DBUILD_TESTS=ON} \
+ %{!?with_tests:-DBUILD_TESTS=OFF} \
+ ../
%{__make}
%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{%{_bindir},%{_libdir}/vulkan/layer} \
+ $RPM_BUILD_ROOT%{_includedir}/vulkan \
+ $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+
+
+cd build
+%{__make} install
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
+cp -p loader/libvulkan.so.1.0.3 $RPM_BUILD_ROOT%{_libdir}
+ln -s libvulkan.so.1.0.3 $RPM_BUILD_ROOT%{_libdir}/libvulkan.so
+ln -s libvulkan.so.1.0.3 $RPM_BUILD_ROOT%{_libdir}/libvulkan.so.1
+
+cp -p demos/vulkaninfo $RPM_BUILD_ROOT%{_bindir}/vulkaninfo
+cp -p demos/tri $RPM_BUILD_ROOT%{_bindir}/vulkan-tri
+cp -p demos/cube $RPM_BUILD_ROOT%{_bindir}/vulkan-cube
+
+cp -p install_staging/*.so $RPM_BUILD_ROOT%{_libdir}/vulkan/layer
+for f in layers/*.json ; do
+sed -e's@"library_path": "./@"library_path": "%{_libdir}/vulkan/layer/@' $f > $RPM_BUILD_ROOT%{_datadir}/vulkan/explicit_layer.d/$(basename $f)
+done
+
+cp -p libs/vkjson/libvkjson.a $RPM_BUILD_ROOT%{_libdir}
+cp -p libs/vkjson/vkjson_{info,unittest} $RPM_BUILD_ROOT%{_bindir}
+
+cd ..
+
+cp -p libs/vkjson/vkjson.h $RPM_BUILD_ROOT%{_includedir}
+cp -p include/vulkan/* $RPM_BUILD_ROOT%{_includedir}/vulkan
+
+cp -p demos/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
%clean
rm -rf $RPM_BUILD_ROOT
@@ -54,5 +116,43 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc README.md LICENSE.txt
-%doc loader/{LoaderAndLayerInterface.md,LinuxICDs.txt}
+%doc LICENSE.txt
+%doc loader/{README.md,LoaderAndLayerInterface.md,LinuxICDs.txt}
+%dir %{_sysconfdir}/vulkan
+%dir %{_sysconfdir}/vulkan/icd.d
+%dir %{_sysconfdir}/vulkan/explicit_layer.d
+%dir %{_sysconfdir}/vulkan/implicit_layer.d
+%dir %{_datadir}/vulkan
+%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
+%dir %{_libdir}/vulkan
+
+%files demos
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/vulkan-tri
+%attr(755,root,root) %{_bindir}/vulkan-cube
+
+%files utils
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/vulkaninfo
+%attr(755,root,root) %{_bindir}/vkjson_info
+%attr(755,root,root) %{_bindir}/vkjson_unittest
+
+%files -n vulkan-layers
+%defattr(644,root,root,755)
+%doc LICENSE.txt layers/README.md
+%dir %{_libdir}/vulkan/layer
+%{_libdir}/vulkan/layer/*.so
+%{_datadir}/vulkan/explicit_layer.d/*.json
+
+%files -n vulkan-devel
+%defattr(644,root,root,755)
+%doc LICENSE.txt README.md
+%{_libdir}/libvulkan.so
+%{_libdir}/libvkjson.a
+%{_includedir}/vulkan
+%{_includedir}/vkjson.h
+%{_examplesdir}/%{name}-%{version}
diff --git a/system_glslang.patch b/system_glslang.patch
new file mode 100644
index 0000000..188d1c5
--- /dev/null
+++ b/system_glslang.patch
@@ -0,0 +1,119 @@
+diff -dur Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0.orig/CMakeLists.txt Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0/CMakeLists.txt
+--- Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0.orig/CMakeLists.txt 2016-02-14 02:19:50.000000000 +0100
++++ Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0/CMakeLists.txt 2016-02-19 22:36:04.792275587 +0100
+@@ -72,7 +72,7 @@
+
+ if (BUILD_TESTS)
+ # Hard code our glslang path for now
+- get_filename_component(GLSLANG_PREFIX ../glslang ABSOLUTE)
++ set(GLSLANG_PREFIX /usr/include/glslang)
+
+ if(NOT EXISTS ${GLSLANG_PREFIX})
+ message(FATAL_ERROR "Necessary glslang components do not exist: " ${GLSLANG_PREFIX})
+diff -dur Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0.orig/demos/CMakeLists.txt Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0/demos/CMakeLists.txt
+--- Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0.orig/demos/CMakeLists.txt 2016-02-14 02:19:50.000000000 +0100
++++ Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0/demos/CMakeLists.txt 2016-02-19 22:36:04.792275587 +0100
+@@ -28,45 +28,45 @@
+ endif()
+
+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/tri-vert.spv
+- COMMAND ${GLSLANG_PREFIX}/${BUILDTGT_DIR}/install/bin/glslangValidator -s -V ${PROJECT_SOURCE_DIR}/demos/tri.vert
++ COMMAND glslangValidator -s -V ${PROJECT_SOURCE_DIR}/demos/tri.vert
+ COMMAND move vert.spv ${CMAKE_BINARY_DIR}/demos/tri-vert.spv
+- DEPENDS tri.vert ${GLSLANG_PREFIX}/${BUILDTGT_DIR}/install/bin/glslangValidator
++ DEPENDS tri.vert
+ )
+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/tri-frag.spv
+- COMMAND ${GLSLANG_PREFIX}/${BUILDTGT_DIR}/install/bin/glslangValidator -s -V ${PROJECT_SOURCE_DIR}/demos/tri.frag
++ COMMAND glslangValidator -s -V ${PROJECT_SOURCE_DIR}/demos/tri.frag
+ COMMAND move frag.spv ${CMAKE_BINARY_DIR}/demos/tri-frag.spv
+- DEPENDS tri.frag ${GLSLANG_PREFIX}/${BUILDTGT_DIR}/install/bin/glslangValidator
++ DEPENDS tri.frag
+ )
+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-vert.spv
+- COMMAND ${GLSLANG_PREFIX}/${BUILDTGT_DIR}/install/bin/glslangValidator -s -V ${PROJECT_SOURCE_DIR}/demos/cube.vert
++ COMMAND glslangValidator -s -V ${PROJECT_SOURCE_DIR}/demos/cube.vert
+ COMMAND move vert.spv ${CMAKE_BINARY_DIR}/demos/cube-vert.spv
+- DEPENDS cube.vert ${GLSLANG_PREFIX}/${BUILDTGT_DIR}/install/bin/glslangValidator
++ DEPENDS cube.vert
+ )
+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-frag.spv
+- COMMAND ${GLSLANG_PREFIX}/${BUILDTGT_DIR}/install/bin/glslangValidator -s -V ${PROJECT_SOURCE_DIR}/demos/cube.frag
++ COMMAND glslangValidator -s -V ${PROJECT_SOURCE_DIR}/demos/cube.frag
+ COMMAND move frag.spv ${CMAKE_BINARY_DIR}/demos/cube-frag.spv
+- DEPENDS cube.frag ${GLSLANG_PREFIX}/${BUILDTGT_DIR}/install/bin/glslangValidator
++ DEPENDS cube.frag
+ )
+ file(COPY cube.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos)
+ file(COPY tri.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos)
+ file(COPY vulkaninfo.vcxproj.user DESTINATION ${CMAKE_BINARY_DIR}/demos)
+ else()
+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/tri-vert.spv
+- COMMAND ${GLSLANG_PREFIX}/build/install/bin/glslangValidator -s -V -o tri-vert.spv ${PROJECT_SOURCE_DIR}/demos/tri.vert
+- DEPENDS tri.vert ${GLSLANG_PREFIX}/build/install/bin/glslangValidator
++ COMMAND glslangValidator -s -V -o tri-vert.spv ${PROJECT_SOURCE_DIR}/demos/tri.vert
++ DEPENDS tri.vert
+ )
+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/tri-frag.spv
+- COMMAND ${GLSLANG_PREFIX}/build/install/bin/glslangValidator -s -V -o tri-frag.spv ${PROJECT_SOURCE_DIR}/demos/tri.frag
+- DEPENDS tri.frag ${GLSLANG_PREFIX}/build/install/bin/glslangValidator
++ COMMAND glslangValidator -s -V -o tri-frag.spv ${PROJECT_SOURCE_DIR}/demos/tri.frag
++ DEPENDS tri.frag
+ )
+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-vert.spv
+- COMMAND ${GLSLANG_PREFIX}/build/install/bin/glslangValidator -s -V -o cube-vert.spv ${PROJECT_SOURCE_DIR}/demos/cube.vert
+- DEPENDS cube.vert ${GLSLANG_PREFIX}/build/install/bin/glslangValidator
++ COMMAND glslangValidator -s -V -o cube-vert.spv ${PROJECT_SOURCE_DIR}/demos/cube.vert
++ DEPENDS cube.vert
+ )
+
+ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/demos/cube-frag.spv
+- COMMAND ${GLSLANG_PREFIX}/build/install/bin/glslangValidator -s -V -o cube-frag.spv ${PROJECT_SOURCE_DIR}/demos/cube.frag
+- DEPENDS cube.frag ${GLSLANG_PREFIX}/build/install/bin/glslangValidator
++ COMMAND glslangValidator -s -V -o cube-frag.spv ${PROJECT_SOURCE_DIR}/demos/cube.frag
++ DEPENDS cube.frag
+ )
+ endif()
+
+diff -dur Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0.orig/layers/CMakeLists.txt Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0/layers/CMakeLists.txt
+--- Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0.orig/layers/CMakeLists.txt 2016-02-14 02:19:50.000000000 +0100
++++ Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0/layers/CMakeLists.txt 2016-02-19 22:37:15.242851047 +0100
+@@ -26,7 +26,7 @@
+ VkLayer_device_limits
+ )
+
+-set(VK_LAYER_RPATH /usr/lib/x86_64-linux-gnu/vulkan/layer:/usr/lib/i386-linux-gnu/vulkan/layer)
++set(VK_LAYER_RPATH "${CMAKE_INSTALL_LIBDIR}/vulkan/layer")
+ set(CMAKE_INSTALL_RPATH ${VK_LAYER_RPATH})
+
+ if (NOT WIN32)
+@@ -79,7 +79,7 @@
+ ${CMAKE_CURRENT_SOURCE_DIR}/../loader
+ ${CMAKE_CURRENT_SOURCE_DIR}/../include/vulkan
+ ${CMAKE_CURRENT_BINARY_DIR}
+- ${PROJECT_SOURCE_DIR}/../glslang/SPIRV
++ /usr/include/glslang/SPIRV
+ )
+
+ if (WIN32)
+diff -dur Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0.orig/tests/CMakeLists.txt Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0/tests/CMakeLists.txt
+--- Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0.orig/tests/CMakeLists.txt 2016-02-14 02:19:50.000000000 +0100
++++ Vulkan-LoaderAndValidationLayers-windows-rt-1.0.3.0/tests/CMakeLists.txt 2016-02-19 22:36:04.792275587 +0100
+@@ -67,13 +67,13 @@
+ IMPORTED_LOCATION_DEBUG "${GLSLANG_PREFIX}/${BUILDTGT_DIR}/SPIRV/Debug/SPIRV.lib")
+ else ()
+ set_target_properties(glslang PROPERTIES
+- IMPORTED_LOCATION "${GLSLANG_PREFIX}/build/install/lib/libglslang.a")
++ IMPORTED_LOCATION "${CMAKE_INSTALL_LIBDIR}/libglslang.a")
+ set_target_properties(OGLCompiler PROPERTIES
+- IMPORTED_LOCATION "${GLSLANG_PREFIX}/build/install/lib/libOGLCompiler.a")
++ IMPORTED_LOCATION "${CMAKE_INSTALL_LIBDIR}/libOGLCompiler.a")
+ set_target_properties(OSDependent PROPERTIES
+- IMPORTED_LOCATION "${GLSLANG_PREFIX}/build/install/lib/libOSDependent.a")
++ IMPORTED_LOCATION "${CMAKE_INSTALL_LIBDIR}/libOSDependent.a")
+ set_target_properties(SPIRV PROPERTIES
+- IMPORTED_LOCATION "${GLSLANG_PREFIX}/build/install/lib/libSPIRV.a")
++ IMPORTED_LOCATION "${CMAKE_INSTALL_LIBDIR}/libSPIRV.a")
+ endif()
+
+ include_directories(
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/vulkan-loader.git/commitdiff/862291f5ba6a9a6407c22edcf69f091607bb846a
More information about the pld-cvs-commit
mailing list