PKGBUILDs/extra/vulkan-lunarg-tools/PKGBUILD

104 lines
3.3 KiB
Bash

# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - use suffix=32 in packaging for 32-bit ARM architectures
# - strip -m32 from CMakeLists
pkgbase=vulkan-lunarg-tools
pkgname=(vulkan-trace vulkan-extra-layers)
pkgver=1.1.97.0+10340+118b2f331
pkgrel=1
arch=(x86_64)
url="http://lunarg.com/"
license=('custom')
depends=()
makedepends=(git cmake python vulkan-headers vulkan-validation-layers vulkan-icd-loader glslang spirv-tools libx11 libxrandr wayland qt5-svg)
source=("VulkanLunargTools::git+https://github.com/LunarG/VulkanTools.git#commit=118b2f331839820636539390cdc777ef9e70391f")
sha256sums=('SKIP')
_install() {
local src f dir
for src; do
f="${src#fakeinstall/}"
dir="${pkgdir}/${f%/*}"
install -m755 -d "${dir}"
mv -v "${src}" "${dir}/"
done
}
pkgver() {
cd "${srcdir}/VulkanLunargTools"
echo 1.1.97.0+$(git rev-list --count HEAD)+$(git rev-parse --short HEAD)
}
prepare() {
cd "${srcdir}/VulkanLunargTools"
sed -i 's/-m32//g' vktrace/CMakeLists.txt
}
build() {
cd "${srcdir}/VulkanLunargTools"
./update_external_sources.sh
rm -rf build ; mkdir build ; cd build
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DCMAKE_INSTALL_DATADIR=/usr/share \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_SKIP_RPATH=True \
-DGLSLANG_INSTALL_DIR=/usr \
-DVULKAN_HEADERS_INSTALL_DIR=/usr/include/vulkan \
-DVULKAN_LOADER_INSTALL_DIR=/usr \
-DVULKAN_VALIDATIONLAYERS_INSTALL_DIR=/usr \
-DBUILD_WSI_XCB_SUPPORT=On \
-DBUILD_WSI_XLIB_SUPPORT=On \
-DBUILD_WSI_WAYLAND_SUPPORT=On \
-DBUILD_TESTS=OFF \
-DBUILD_VIA=OFF \
-DCMAKE_BUILD_TYPE=Release \
..
make
make DESTDIR="${srcdir}/fakeinstall" install
}
package_vulkan-trace() {
pkgdesc="Vulkan tracing and replaying tools"
depends=(vulkan-validation-layers qt5-svg)
groups=('vulkan-devel')
[[ $CARCH == i686 || $CARCH == arm || $CARCH == armv6h || $CARCH == armv7h ]] && suffix=32
_install fakeinstall/usr/bin/*
_install fakeinstall/usr/lib/libVkLayer_vktrace_layer${suffix}.so
_install fakeinstall/usr/lib/libvkdisplay_*.so
_install fakeinstall/etc/vulkan/explicit_layer.d/VkLayer_vktrace_layer.json
install -dm755 ${pkgdir}/usr/share/{doc,licenses}/${pkgname}
install -m644 VulkanLunargTools/vktrace/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/
install -m644 VulkanLunargTools/vktrace/vktrace.md "${pkgdir}"/usr/share/doc/${pkgname}/
}
package_vulkan-extra-layers() {
pkgdesc="Extra layers for Vulkan development"
depends=(vulkan-validation-layers)
groups=('vulkan-devel')
_install fakeinstall/usr/lib/libVkLayer_api_dump.so
_install fakeinstall/usr/lib/libVkLayer_monitor.so
_install fakeinstall/usr/lib/libVkLayer_screenshot.so
_install fakeinstall/usr/lib/libVkLayer_device_simulation.so
_install fakeinstall/etc/vulkan/explicit_layer.d/VkLayer_api_dump.json
_install fakeinstall/etc/vulkan/explicit_layer.d/VkLayer_monitor.json
_install fakeinstall/etc/vulkan/explicit_layer.d/VkLayer_screenshot.json
_install fakeinstall/etc/vulkan/explicit_layer.d/VkLayer_device_simulation.json
install -dm755 ${pkgdir}/usr/share/{doc,licenses}/${pkgname}
install -m644 VulkanLunargTools/LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/
install -m644 VulkanLunargTools/layersvt/README.md "${pkgdir}"/usr/share/doc/${pkgname}/
}