PKGBUILDs/extra/vulkan-lunarg-tools/PKGBUILD

101 lines
3.2 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.2.135.0+10638+909f5297d
pkgrel=1
arch=(x86_64)
url="http://lunarg.com/"
license=('custom')
depends=()
makedepends=(git cmake python libx11 libxrandr wayland qt5-svg qt5-webengine)
#source=("https://github.com/LunarG/VulkanTools/archive/sdk-${pkgver}.tar.gz")
source=("VulkanTools-sdk::git+https://github.com/LunarG/VulkanTools.git#commit=909f5297d3bb32ea753e0099747d27cd30c32c2f")
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}"/VulkanTools*
echo 1.2.135.0+$(git rev-list --count HEAD)+$(git rev-parse --short HEAD)
}
prepare() {
cd "${srcdir}"/VulkanTools*
sed -i 's/-m32//g' vktrace/CMakeLists.txt
}
build() {
cd "${srcdir}"/VulkanTools*
./update_external_sources.sh
rm -rf build ; mkdir build ; cd build
../scripts/update_deps.py
cmake -C helper.cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DCMAKE_INSTALL_DATADIR=/usr/share \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_SKIP_RPATH=True \
-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 qt5-webengine)
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 VulkanTools*/vktrace/LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/
install -m644 VulkanTools*/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 VulkanTools*/LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/
install -m644 VulkanTools*/layersvt/README.md "${pkgdir}"/usr/share/doc/${pkgname}/
}