summaryrefslogtreecommitdiffstats
path: root/source/x/vulkan-sdk
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2018-10-10 23:09:36 +0000
committer Eric Hameleers <alien@slackware.com>2018-10-11 09:00:31 +0200
commit7716b728c18deb9a2c780e148050e3683d4d93c1 (patch)
tree0ed1643262bc41121f3fd1a27da70106a8e9f937 /source/x/vulkan-sdk
parent7a2f2302165a37a7a57a4765375e33881a3697b0 (diff)
downloadcurrent-7716b728c18deb9a2c780e148050e3683d4d93c1.tar.gz
current-7716b728c18deb9a2c780e148050e3683d4d93c1.tar.xz
Wed Oct 10 23:09:36 UTC 201820181010230936
a/kernel-firmware-20181008_c6b6265-noarch-1.txz: Upgraded. a/kernel-generic-4.14.75-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.75-x86_64-1.txz: Upgraded. a/kernel-modules-4.14.75-x86_64-1.txz: Upgraded. d/git-2.19.1-x86_64-1.txz: Upgraded. Submodules' "URL"s come from the untrusted .gitmodules file, but we blindly gave it to "git clone" to clone submodules when "git clone --recurse-submodules" was used to clone a project that has such a submodule. The code has been hardened to reject such malformed URLs (e.g. one that begins with a dash). Credit for finding and fixing this vulnerability goes to joernchen and Jeff King, respectively. For more information, see: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-17456 (* Security fix *) d/kernel-headers-4.14.75-x86-1.txz: Upgraded. d/make-4.2.1-x86_64-4.txz: Rebuilt. Use a non-blocking read with pselect to avoid hangs. Thanks to Linux.tar.gz and David Spencer. d/subversion-1.10.3-x86_64-1.txz: Upgraded. k/kernel-source-4.14.75-noarch-1.txz: Upgraded. Config changes since 4.14.74: FB_HYPERV n -> m Thanks to walecha. l/librsvg-2.44.7-x86_64-1.txz: Upgraded. l/python-pillow-5.3.0-x86_64-1.txz: Upgraded. n/nghttp2-1.34.0-x86_64-1.txz: Upgraded. x/libSM-1.2.3-x86_64-1.txz: Upgraded. x/libX11-1.6.7-x86_64-1.txz: Upgraded. x/libdrm-2.4.95-x86_64-1.txz: Upgraded. x/libxcb-1.13.1-x86_64-1.txz: Upgraded. x/vulkan-sdk-1.1.85.0-x86_64-1.txz: Upgraded. Thanks to dugan. xap/gnuplot-5.2.5-x86_64-1.txz: Upgraded. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
Diffstat (limited to 'source/x/vulkan-sdk')
-rwxr-xr-xsource/x/vulkan-sdk/fetch-sources.sh152
-rwxr-xr-xsource/x/vulkan-sdk/vulkan-sdk.SlackBuild164
2 files changed, 204 insertions, 112 deletions
diff --git a/source/x/vulkan-sdk/fetch-sources.sh b/source/x/vulkan-sdk/fetch-sources.sh
index e67dfaf6d..67ec96b9a 100755
--- a/source/x/vulkan-sdk/fetch-sources.sh
+++ b/source/x/vulkan-sdk/fetch-sources.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2017 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2017, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,78 +25,104 @@
# github, and then look at the revisions listed in the external_revisions
# directory to fetch the proper glslang, SPIRV-Headers, and SPIRV-Tools.
#
-# Example: VERSION=1.1.73.0 ./fetch-sources.sh
+# Example: VERSION=1.1.85.0 ./fetch-sources.sh
-VERSION=${VERSION:-1.1.73.0}
+VERSION=${VERSION:-1.1.85.0}
+BRANCH=${BRANCH:-sdk-1.1.85}
-# Remove existing sources:
-rm -rf Vulkan-LoaderAndValidationLayers-sdk* glslang-* SPIRV-Headers-* SPIRV-Tools-*
+rm -rf Vulkan-*-*.tar.?z glslang* SPIRV-Tools* SPIRV-Headers* \
+ Vulkan-Headers-sdk-${VERSION}* \
+ Vulkan-ValidationLayers-sdk-${VERSION}* \
+ Vulkan-Loader-sdk-${VERSION}* \
+ Vulkan-Tools-sdk-${VERSION}*
-# Fetch SDK:
-lftpget https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/archive/sdk-${VERSION}/Vulkan-LoaderAndValidationLayers-sdk-${VERSION}.tar.gz
-GLSLANG_REVISION=$(tar xOf Vulkan-LoaderAndValidationLayers-sdk-${VERSION}.tar.gz Vulkan-LoaderAndValidationLayers-sdk-${VERSION}/external_revisions/glslang_revision)
+git clone -b "$BRANCH" --single-branch https://github.com/KhronosGroup/Vulkan-Headers.git Vulkan-Headers-sdk-${VERSION}
+rm -rf Vulkan-Headers-sdk-${VERSION}/.git
+tar cf Vulkan-Headers-sdk-${VERSION}.tar Vulkan-Headers-sdk-${VERSION}
+rm -rf Vulkan-Headers-sdk-${VERSION}
+plzip -9 Vulkan-Headers-sdk-${VERSION}.tar
-git clone https://github.com/KhronosGroup/glslang.git glslang-$GLSLANG_REVISION
-cd glslang-$GLSLANG_REVISION
-git checkout $GLSLANG_REVISION
-SPIRV_TOOLS_REVISION=$(
-python3 - << EOF
+git clone -b "$BRANCH" --single-branch https://github.com/KhronosGroup/Vulkan-ValidationLayers.git Vulkan-ValidationLayers-sdk-${VERSION}
+rm -rf Vulkan-ValidationLayers-sdk-${VERSION}/.git
+tar cf Vulkan-ValidationLayers-sdk-${VERSION}.tar Vulkan-ValidationLayers-sdk-${VERSION}
+rm -rf Vulkan-ValidationLayers-sdk-${VERSION}
+# Put this here since python's tarfile.open doesn't like tar.lz:
+GLSLANG_COMMIT=$(python3 - << EOF
import json
-with open('known_good.json') as f:
- known_good = json.load(f)
-commits = known_good['commits']
-print(commits[0]['commit'])
+import tarfile
+with tarfile.open('Vulkan-ValidationLayers-sdk-$VERSION.tar') as layers:
+ known_good = layers.extractfile('Vulkan-ValidationLayers-sdk-1.1.85.0/scripts/known_good.json')
+ known_good_info = json.loads(known_good.read())
+glslang = next(repo for repo in known_good_info['repos'] if repo['name'] == 'glslang')
+print(glslang['commit'])
EOF
)
-SPIRV_HEADERS_REVISION=$(
-python3 - << EOF
+# Now it's safe to compress:
+plzip -9 Vulkan-ValidationLayers-sdk-${VERSION}.tar
+
+git clone -b "$BRANCH" --single-branch https://github.com/KhronosGroup/Vulkan-Loader.git Vulkan-Loader-sdk-${VERSION}
+rm -rf Vulkan-Loader-sdk-${VERSION}/.git
+tar cf Vulkan-Loader-sdk-${VERSION}.tar Vulkan-Loader-sdk-${VERSION}
+rm -rf Vulkan-Loader-sdk-${VERSION}
+plzip -9 Vulkan-Loader-sdk-${VERSION}.tar
+
+git clone -b "$BRANCH" --single-branch https://github.com/KhronosGroup/Vulkan-Tools.git Vulkan-Tools-sdk-${VERSION}
+rm -rf Vulkan-Tools-sdk-${VERSION}/.git
+tar cf Vulkan-Tools-sdk-${VERSION}.tar Vulkan-Tools-sdk-${VERSION}
+rm -rf Vulkan-Tools-sdk-${VERSION}
+plzip -9 Vulkan-Tools-sdk-${VERSION}.tar
+
+git clone https://github.com/KhronosGroup/glslang.git
+cd glslang || exit
+git checkout "$GLSLANG_COMMIT"
+GLSLANG_VERSION=$(git rev-parse --short HEAD)
+rm -rf .git
+cd ..
+
+mv glslang "glslang-$GLSLANG_VERSION"
+
+SPIRV_TOOLS_COMMIT=$(python3 - << EOF
import json
-with open('known_good.json') as f:
- known_good = json.load(f)
-commits = known_good['commits']
-print(commits[1]['commit'])
+with open('glslang-$GLSLANG_VERSION/known_good.json') as f:
+ known_good = json.load(f)
+tools = next(commit for commit in known_good['commits'] if commit['name'] == 'spirv-tools')
+print(tools['commit'])
EOF
)
-# Cleanup. We're not packing up the whole git repo.
-find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null
-cd ..
-tar cf glslang-${GLSLANG_REVISION}.tar glslang-${GLSLANG_REVISION}
-rm -rf glslang-${GLSLANG_REVISION}
-plzip -9 glslang-${GLSLANG_REVISION}.tar
-
-git clone https://github.com/KhronosGroup/SPIRV-Headers.git SPIRV-Headers-${SPIRV_HEADERS_REVISION}
-cd SPIRV-Headers-${SPIRV_HEADERS_REVISION}
-git checkout ${SPIRV_HEADERS_REVISION}
-# Cleanup. We're not packing up the whole git repo.
-find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null
+
+git clone https://github.com/KhronosGroup/SPIRV-Tools.git
+cd SPIRV-Tools || exit
+git checkout "$SPIRV_TOOLS_COMMIT"
+SPIRV_TOOLS_VERSION="$(git rev-parse --short HEAD)"
+rm -rf .git
cd ..
-tar cf SPIRV-Headers-${SPIRV_HEADERS_REVISION}.tar SPIRV-Headers-${SPIRV_HEADERS_REVISION}
-rm -rf SPIRV-Headers-${SPIRV_HEADERS_REVISION}
-plzip -9 SPIRV-Headers-${SPIRV_HEADERS_REVISION}.tar
-
-git clone https://github.com/KhronosGroup/SPIRV-Tools.git SPIRV-Tools-${SPIRV_TOOLS_REVISION}
-cd SPIRV-Tools-${SPIRV_TOOLS_REVISION}
-git checkout ${SPIRV_TOOLS_REVISION}
-# Only purge the .pack, since spirv_tools_commit_id.h needs to query the repo:
-rm -f .git/objects/pack/pack-*.pack
+mv SPIRV-Tools SPIRV-Tools-$SPIRV_TOOLS_VERSION
+tar cf SPIRV-Tools-$SPIRV_TOOLS_VERSION.tar SPIRV-Tools-$SPIRV_TOOLS_VERSION
+rm -rf SPIRV-Tools-$SPIRV_TOOLS_VERSION
+plzip -9 SPIRV-Tools-$SPIRV_TOOLS_VERSION.tar
+
+SPIRV_HEADERS_COMMIT=$(python3 - << EOF
+import json
+with open('glslang-$GLSLANG_VERSION/known_good.json') as f:
+ known_good = json.load(f)
+name = 'spirv-tools/external/spirv-headers'
+headers = next(commit for commit in known_good['commits'] if commit['name'] == name)
+print(headers['commit'])
+EOF
+)
+
+git clone https://github.com/KhronosGroup/SPIRV-Headers.git
+cd SPIRV-Headers || exit
+git checkout "$SPIRV_HEADERS_COMMIT"
+SPIRV_HEADERS_VERSION="$(git rev-parse --short HEAD)"
+rm -rf .git
cd ..
-tar cf SPIRV-Tools-${SPIRV_TOOLS_REVISION}.tar SPIRV-Tools-${SPIRV_TOOLS_REVISION}
-rm -rf SPIRV-Tools-${SPIRV_TOOLS_REVISION}
-plzip -9 SPIRV-Tools-${SPIRV_TOOLS_REVISION}.tar
-
-# Repack Vulkan-LoaderAndValidationLayers-sdk:
-gzip -d Vulkan-LoaderAndValidationLayers-sdk-${VERSION}.tar.gz
-plzip -9 Vulkan-LoaderAndValidationLayers-sdk-${VERSION}.tar
-
-# List URLs in vulkan-sdk.url:
-echo "https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/archive/sdk-${VERSION}/Vulkan-LoaderAndValidationLayers-sdk-${VERSION}.tar.gz" > vulkan-sdk.url
-echo "https://github.com/KhronosGroup/glslang/archive/${GLSLANG_REVISION}/glslang-${GLSLANG_REVISION}.tar.gz" >> vulkan-sdk.url
-echo "https://github.com/KhronosGroup/SPIRV-Headers/archive/${SPIRV_HEADERS_REVISION}/SPIRV-Headers-${SPIRV_HEADERS_REVISION}.tar.gz" >> vulkan-sdk.url
-echo "https://github.com/KhronosGroup/SPIRV-Tools/archive/${SPIRV_TOOLS_REVISION}/SPIRV-Tools-${SPIRV_TOOLS_REVISION}.tar.gz" >> vulkan-sdk.url
-
-# Fix timestamps to be correct:
-for file in *.tar.?z ; do
- TIMESTAMP="$(tar tvf $file | head -1 | cut -b 32-47)"
- touch -d "$TIMESTAMP" $file
-done
+mv SPIRV-Headers SPIRV-Headers-$SPIRV_HEADERS_VERSION
+tar cf SPIRV-Headers-$SPIRV_HEADERS_VERSION.tar SPIRV-Headers-$SPIRV_HEADERS_VERSION
+rm -rf SPIRV-Headers-$SPIRV_HEADERS_VERSION
+plzip -9 SPIRV-Headers-$SPIRV_HEADERS_VERSION.tar
+
+tar cf glslang-$GLSLANG_VERSION.tar glslang-$GLSLANG_VERSION
+rm -rf glslang-$GLSLANG_VERSION
+plzip -9 glslang-$GLSLANG_VERSION.tar
diff --git a/source/x/vulkan-sdk/vulkan-sdk.SlackBuild b/source/x/vulkan-sdk/vulkan-sdk.SlackBuild
index a1d5e3380..c79ac7386 100755
--- a/source/x/vulkan-sdk/vulkan-sdk.SlackBuild
+++ b/source/x/vulkan-sdk/vulkan-sdk.SlackBuild
@@ -26,10 +26,10 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=vulkan-sdk
-VERSION=${VERSION:-$(echo Vulkan-LoaderAndValidationLayers-sdk-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo Vulkan-ValidationLayers-sdk-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+NUMJOBS=${NUMJOBS:--j7}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -71,64 +71,113 @@ fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-vulkan-sdk
+GLSLANG_VERSION=$(echo glslang-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+SPIRV_HEADERS_VERSION=$(echo SPIRV-Headers-sdk-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+SPIRV_TOOLS_VERSION=$(echo SPIRV-Tools-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf Vulkan-LoaderAndValidationLayers-sdk-$VERSION
-tar xvf $CWD/Vulkan-LoaderAndValidationLayers-sdk-$VERSION.tar.?z || exit 1
-cd Vulkan-LoaderAndValidationLayers-sdk-$VERSION || exit 1
+rm -rf Vulkan-ValidationLayers-sdk-$VERSION Vulkan-Headers-sdk-$VERSION glslang-$GLSLANG_VERSION
+
+tar xvf $CWD/glslang-${GLSLANG_VERSION}.tar.?z || exit 1
+cd glslang-$GLSLANG_VERSION/External
+tar xvf $CWD/SPIRV-Tools-$SPIRV_TOOLS_VERSION.tar.?z || exit 1
+mv SPIRV-Tools-$SPIRV_TOOLS_VERSION spirv-tools
+cd spirv-tools/external
+tar xvf $CWD/SPIRV-Headers-$SPIRV_HEADERS_VERSION.tar.?z || exit 1
+mv SPIRV-Headers-$SPIRV_HEADERS_VERSION spirv-headers
-GLSLANG_VERSION=$(cat external_revisions/glslang_revision | head -n 1)
-SPIRV_HEADERS_VERSION=$(basename SPIRV-Headers-* .tar.?z | rev | cut -d - -f 1 | rev)
-SPIRV_TOOLS_VERSION=$(basename SPIRV-Tools-* .tar.?z | rev | cut -d - -f 1 | rev)
+cd $TMP/glslang-${GLSLANG_VERSION}
-mkdir external
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
-cd external
- tar xf $CWD/glslang-${GLSLANG_VERSION}.tar.?z || exit 1
- mv glslang-${GLSLANG_VERSION} glslang
+# Fix LIBDIRSUFFIX
+for i in $(find . -name CMakeLists.txt); do
+ sed -i "s|DESTINATION lib|DESTINATION \${CMAKE_INSTALL_LIBDIR}|" "$i"
+done
-cd glslang/External
-tar xf $CWD/SPIRV-Tools-${SPIRV_TOOLS_VERSION}.tar.?z* || exit 1
-mv SPIRV-Tools-${SPIRV_TOOLS_VERSION} spirv-tools
+mkdir -p build
+cd build
+cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=$PKG \
+ -DCMAKE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ ..
+cmake .. -DCMAKE_INSTALL_PREFIX=/usr
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
-mkdir -p spirv-tools/external
-cd spirv-tools/external
- tar xvf $CWD/SPIRV-Headers-${SPIRV_HEADERS_VERSION}.tar.?z* || exit 1
- mv SPIRV-Headers-${SPIRV_HEADERS_VERSION} spirv-headers
+cd $TMP
-cd $TMP/Vulkan-LoaderAndValidationLayers-sdk-$VERSION
+tar xvf $CWD/Vulkan-Headers-sdk-$VERSION.tar.?z || exit 1
+cd Vulkan-Headers-sdk-$VERSION
-# chown -R root:root .
+chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-mkdir -p external/{glslang,spirv-tools}/build
mkdir -p build
-mkdir -p build-demos
+cd build
+cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr\
+ -DCMAKE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
+ -DCMAKE_BUILD_TYPE=Release \
+ ..
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+cd $TMP
-# Fix LIBDIRSUFFIX
-for i in $(find external -name CMakeLists.txt); do
- sed -i "s|DESTINATION lib|DESTINATION \${CMAKE_INSTALL_LIBDIR}|" "$i"
-done
+tar xvf $CWD/Vulkan-Loader-sdk-$VERSION.tar.?z || exit 1
+cd $TMP/Vulkan-Loader-sdk-$VERSION
-cd external/glslang/build
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+mkdir -p build
+cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib$LIBDIRSUFFIX \
- -DCMAKE_BUILD_TYPE=Release \
+ -DGLSLANG_INSTALL_DIR=$PKG/usr \
+ -DVULKAN_HEADERS_INSTALL_DIR=$PKG/usr \
+ -DBUILD_WSI_WAYLAND_SUPPORT=Off \
+ -DBUILD_WSI_MIR_SUPPORT=Off \
..
- make $NUMJOBS VERBOSE=1 || make || exit 1
+ make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-cd -
+cd $TMP
+
+tar xvf $CWD/Vulkan-ValidationLayers-sdk-$VERSION.tar.?z || exit 1
+cd $TMP/Vulkan-ValidationLayers-sdk-$VERSION
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+mkdir -p build
cd build
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
@@ -138,40 +187,57 @@ cd build
-DCMAKE_INSTALL_DATADIR=/share \
-DCMAKE_SKIP_RPATH=True \
-DBUILD_TESTS=Off \
- -DBUILD_DEMOS=On \
-DBUILD_WSI_XLIB_SUPPORT=On \
-DBUILD_WSI_XCB_SUPPORT=On \
-DBUILD_WSI_WAYLAND_SUPPORT=Off \
-DBUILD_WSI_MIR_SUPPORT=Off \
-DCMAKE_BUILD_TYPE=Release \
- -DGLSLANG_VALIDATOR=../external/glslang/build/StandAlone/glslangValidator \
+ -DGLSLANG_INSTALL_DIR=$PKG/usr \
+ -DVULKAN_HEADERS_INSTALL_DIR=$PKG/usr \
+ -DVULKAN_LOADER_INSTALL_DIR=$PKG/usr \
..
- make $NUMJOBS VERBOSE=1 || make || exit 1
+ make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-cd -
-mkdir -p $PKG/usr/share/vulkan/{explicit,implicit}_layer.d
+cd $TMP
-mv $PKG/etc/vulkan/explicit_layer.d/*.json $PKG/usr/share/vulkan/explicit_layer.d/
-mv $PKG/usr/bin/smoketest $PKG/usr/bin/vulkan-smoketest
+tar xvf $CWD/Vulkan-Tools-sdk-$VERSION.tar.?z || exit 1
+cd $TMP/Vulkan-Tools-sdk-$VERSION
-# Use headers from spirv-headers as they are newer than the ones installed by glslang
-for i in spirv.h spirv.hpp spirv.hpp11; do
- install -m 0644 external/glslang/External/spirv-tools/external/spirv-headers/include/spirv/1.2/$i \
- $PKG/usr/include/SPIRV/
-done
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
-## I don't know why this is here, so I'm commenting it out. ;-)
-#( cd $PKG/usr/include
-# ln -sf SPIRV spirv
-#)
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DVULKAN_HEADERS_INSTALL_DIR=$PKG/usr \
+ -DGLSLANG_INSTALL_DIR=$PKG/usr \
+ -DVULKAN_LOADER_INSTALL_DIR=$PKG/usr \
+ -DBUILD_WSI_WAYLAND_SUPPORT=Off \
+ -DBUILD_WSI_MIR_SUPPORT=Off \
+ ..
+
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+
+cd $TMP
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
-cp -a *.md LICENSE.txt loader/LoaderAndLayerInterface.md \
+cp -a \
+ Vulkan-Loader-sdk-$VERSION/*.txt \
+ Vulkan-Loader-sdk-$VERSION/loader/LoaderAndLayerInterface.md \
$PKG/usr/doc/$PKGNAM-$VERSION
mkdir -p $PKG/install