Files
haikuports/sys-libs/vulkan/vulkan-1.3.238.recipe
kenmays 0de221c1de vulkan: bump to 1.3.238 (#7763)
* vulkan: bump to 1.3.206

* vulkan: bump to 1.3.206

* Delete vulkan-1.2.203.patchset

* Delete vulkan-1.2.203.recipe

* vulkan: bump to 1.3.238

* Delete vulkan-1.3.206.patchset

* vulkan: bump to 1.3.238

* Delete vulkan-1.3.206.recipe
2023-01-21 19:04:55 +01:00

101 lines
3.1 KiB
Bash

SUMMARY="Installable Client Driver (ICD) Loader for Vulkan"
DESCRIPTION="Vulkan is an explicit API, enabling direct control over how GPUs \
actually work. As such, Vulkan supports systems that have multiple GPUs, each \
running with a different driver, or ICD (Installable Client Driver). Vulkan \
also supports multiple global contexts (instances, in Vulkan terminology). The \
ICD loader is a library that is placed between a Vulkan application and any \
number of Vulkan drivers, in order to support multiple drivers and the \
instance-level functionality that works across these drivers. Additionally, \
the loader manages inserting Vulkan layer libraries, such as validation \
layers, between an application and the drivers."
HOMEPAGE="https://www.vulkan.org/"
COPYRIGHT="2014-2022 The Khronos Group Inc."
LICENSE="Apache v2"
REVISION="1"
SOURCE_URI="https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/v$portVersion.tar.gz"
SOURCE_FILENAME="Vulkan-Loader-$portVersion.tar.gz"
CHECKSUM_SHA256="54efc088258e83304f105d6998adaa54340045f490884b2d136a8584d66cb861"
SOURCE_DIR="Vulkan-Loader-$portVersion"
SOURCE_URI_2="https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/v$portVersion.tar.gz"
SOURCE_FILENAME_2="Vulkan-Headers-$portVersion.tar.gz"
CHECKSUM_SHA256_2="c2b72c5e94bcabb5c276c0d55344f66d3486c9465beb74397aeb7d5bcf537143"
SOURCE_DIR_2="Vulkan-Headers-$portVersion"
PATCHES="vulkan-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
vulkan$secondaryArchSuffix = $portVersion
lib:libvulkan$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
vulkan${secondaryArchSuffix}_devel = $portVersion
devel:libvulkan$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
vulkan$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage vulkan$secondaryArchSuffix \
"$libDir"/libvulkan.so.$libVersion
BUILD()
{
cd $sourceDir2
cmake -S . -B build $cmakeDirArgs \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX:PATH=$prefix \
-G Ninja
cd ../../$sourceDir
cmake -S . -B build $cmakeDirArgs \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX:PATH=$prefix \
-DVULKAN_HEADERS_INSTALL_DIR=$sourceDir2 \
-DVulkanHeaders_DIR=$sourceDir2/build \
-DBUILD_WSI_XCB_SUPPORT=Off \
-DBUILD_WSI_XLIB_SUPPORT=Off \
-DBUILD_WSI_WAYLAND_SUPPORT=Off \
-DFALLBACK_CONFIG_DIRS="/boot/home/config/non-packaged/add-ons:/boot/home/config/add-ons:/boot/system/non-packaged/add-ons:/boot/system/add-ons" \
-G Ninja
ninja -C build
}
INSTALL()
{
ninja -C build install
mkdir -p $dataDir/vulkan/registry
cp $sourceDir2/registry/vk.xml $dataDir/vulkan/registry/vk.xml
mkdir -p $includeDir
cp -r $sourceDir2/include/* $includeDir
prepareInstalledDevelLib libvulkan
fixPkgconfig
# devel package
packageEntries devel \
$developDir
}