Date: Sunday, August 7, 2016 @ 21:40:07 Author: lcarlier Revision: 273477
initial commit Added: vulkan-tools/trunk/ vulkan-tools/trunk/PKGBUILD ----------+ PKGBUILD | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) Added: trunk/PKGBUILD =================================================================== --- trunk/PKGBUILD (rev 0) +++ trunk/PKGBUILD 2016-08-07 21:40:07 UTC (rev 273477) @@ -0,0 +1,118 @@ +# $Id: PKGBUILD 260126 2016-02-21 16:59:05Z lcarlier $ +# Maintainer: Laurent Carlier <[email protected]> + +pkgbase=vulkan-tools +pkgname=(vulkan-trace vulkan-extra-layers) +pkgver=1.0.17.0 +pkgrel=1 +arch=(i686 x86_64) +url="http://lunarg.com/" +license=('custom') +depends=() +makedepends=(git cmake wget python-lxml libxcb imagemagick) +source=("https://github.com/LunarG/VulkanTools/archive/sdk-${pkgver}.tar.gz" + 'git://github.com/KhronosGroup/glslang.git#commit=4678ca9dacfec7a084dbc69bbe568bdad6889f1b' + 'git://github.com/KhronosGroup/SPIRV-Tools.git#commit=37e4600c3efad7b1cfdc1df70a977be82eb3c811' + 'git://github.com/KhronosGroup/SPIRV-Headers') +sha256sums=('aa9ca1b8ffaca3af0a5310124a0fbf2af676e5d8ef2ef9e362b32b5bef9ada76' + 'SKIP' + 'SKIP' + 'SKIP') + +build() { + cd "${srcdir}/VulkanTools-sdk-${pkgver}" + + pushd ${srcdir}/glslang + # Revert glslang a5c33d6ffb34ccede5b233bc724c907166b6e479 + # See https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/681 + git diff-index --quiet HEAD | true + #rc=${PIPESTATUS[0]} + #if (( $rc == 0 )) + #then + # echo "applying patch to revert glslang a5c33d" + # git apply "${srcdir}/VulkanTools-sdk-${pkgver}"/glslang_revert_a5c33d.patch.txt + #fi + popd + + # reproduce some of the update_external_sources.sh script + rm -rf external && mkdir external && cd external + git clone ${srcdir}/glslang + git clone ${srcdir}/SPIRV-Tools spirv-tools + pushd spirv-tools + git clone ${srcdir}/SPIRV-Headers external/spirv-headers + popd + + pushd glslang + rm -rf build ; mkdir build ; cd build + cmake -D CMAKE_BUILD_TYPE=Release .. + cmake -D CMAKE_BUILD_TYPE=Release .. + make + make install + popd + + pushd spirv-tools + rm -rf build ; mkdir build ; cd build + cmake -D CMAKE_BUILD_TYPE=Release .. + make + popd + + cd "${srcdir}/VulkanTools-sdk-${pkgver}" + + rm -rf build ; mkdir build ; cd build + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_SYSCONFDIR=/etc \ + -DINCLUDE_INSTALL_DIR=/usr/include \ + -DLIB_INSTALL_DIR=/usr/lib \ + -DCMAKE_INSTALL_DATADIR=/usr/share \ + -DCMAKE_SKIP_RPATH=True \ + -DBUILD_ICD=OFF \ + -DBUILD_TESTS=OFF \ + -DBUILD_DEMOS=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + .. + make +} + +package_vulkan-trace() { + pkgdesc="Vulkan tracing and replaying tools" + depends=(vulkan-icd-loader libxcb) + groups=('vulkan-devel') + + cd "${srcdir}/VulkanTools-sdk-${pkgver}" + + [[ $CARCH == i686 ]] && suffix=32 + + install -dm755 ${pkgdir}/usr/{bin,lib} + install -dm755 ${pkgdir}/usr/share/licenses/${pkgname} + + install -m755 build/vktrace/{vkreplay,vktrace}${suffix} ${pkgdir}/usr/bin/ + install -m755 build/vktrace/libVkLayer_vktrace_layer${suffix}.so ${pkgdir}/usr/lib/ + + install -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/ +} + +package_vulkan-extra-layers() { + pkgdesc="Extra layers for Vulkan development" + depends=(vulkan-validation-layers gcc-libs) + groups=('vulkan-devel') + + cd "${srcdir}/VulkanTools-sdk-${pkgver}" + + install -dm755 ${pkgdir}/usr/lib + install -dm755 ${pkgdir}/usr/share/licenses/${pkgname} + install -dm755 ${pkgdir}/usr/share/vulkan/explicit_layer.d + + install -m644 build/layers/*.so ${pkgdir}/usr/lib + install -m644 build/layersvt/*.so ${pkgdir}/usr/lib + + # fix library paths + for i in layers/linux/*.json ; do + sed 's@./@@' $i > ${pkgdir}/usr/share/vulkan/explicit_layer.d/$(basename $i) + done + for i in layersvt/linux/*.json ; do + sed 's@./@@' $i > ${pkgdir}/usr/share/vulkan/explicit_layer.d/$(basename $i) + done + + install -m644 LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/ +}
