]> git.pld-linux.org Git - packages/vulkan-loader.git/commitdiff
nearly done…
authorJacek Konieczny <jajcus@jajcus.net>
Fri, 19 Feb 2016 21:39:15 +0000 (22:39 +0100)
committerJacek Konieczny <jajcus@jajcus.net>
Fri, 19 Feb 2016 21:39:15 +0000 (22:39 +0100)
system_glslang.patch [new file with mode: 0644]
vulkan-loader.spec

diff --git a/system_glslang.patch b/system_glslang.patch
new file mode 100644 (file)
index 0000000..188d1c5
--- /dev/null
@@ -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(
index 23859ff0adc2476f7dbe9b799d07a4b2d76656e1..422204bf8a93d98147d5d5f9ba58dceea2e22914 100644 (file)
@@ -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}
This page took 0.085709 seconds and 5 git commands to generate.