diff --git a/packages/graphics/vulkan/glslang/package.mk b/packages/graphics/vulkan/glslang/package.mk new file mode 100644 index 0000000000..1987e78864 --- /dev/null +++ b/packages/graphics/vulkan/glslang/package.mk @@ -0,0 +1,32 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2021-present Frank Hartung (supervisedthinking (@) gmail.com) +# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="glslang" +PKG_VERSION="11.7.0" +PKG_SHA256="b6c83864c3606678d11675114fa5f358c519fe1dad9a781802bcc87fb8fa32d5" +PKG_LICENSE="Apache-2.0" +PKG_SITE="https://github.com/KhronosGroup/glslang" +PKG_URL="https://github.com/KhronosGroup/glslang/archive/${PKG_VERSION}.tar.gz" +PKG_DEPENDS_HOST="toolchain:host Python3:host spirv-tools:host spirv-headers:host" +PKG_LONGDESC="Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator." + +pre_configure_host() { + PKG_CMAKE_OPTS_HOST="-DBUILD_SHARED_LIBS=OFF \ + -DBUILD_EXTERNAL=ON \ + -DENABLE_SPVREMAPPER=OFF \ + -DENABLE_GLSLANG_JS=OFF \ + -DENABLE_RTTI=OFF \ + -DENABLE_EXCEPTIONS=OFF \ + -DENABLE_OPT=ON \ + -DENABLE_PCH=ON \ + -DENABLE_CTEST=OFF \ + -DENABLE_RTTI=OFF \ + -Wno-dev" + + # The SPIRV-Tools & SPIRV-Headers have to be specific versions matching the pkg version + # https://github.com/KhronosGroup/glslang/blob/master/known_good.json + mkdir -p ${PKG_BUILD}/External/spirv-tools/external/spirv-headers + cp -R $(get_build_dir spirv-tools)/* ${PKG_BUILD}/External/spirv-tools + cp -R $(get_build_dir spirv-headers)/* ${PKG_BUILD}/External/spirv-tools/external/spirv-headers +} diff --git a/packages/graphics/vulkan/spirv-headers/package.mk b/packages/graphics/vulkan/spirv-headers/package.mk new file mode 100644 index 0000000000..a30cf7d7e2 --- /dev/null +++ b/packages/graphics/vulkan/spirv-headers/package.mk @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2021-present Frank Hartung (supervisedthinking (@) gmail.com) +# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="spirv-headers" +# The SPIRV-Headers have to be specific versions matching the glslang pkg version +# https://github.com/KhronosGroup/glslang/blob/master/known_good.json +PKG_VERSION="814e728b30ddd0f4509233099a3ad96fd4318c07" +PKG_SHA256="c262d3c0c36ad5c87fbe3572aa292d2aed4dcd9b1ca4868eff9ec180e3f994f2" +PKG_LICENSE="Apache-2.0" +PKG_SITE="https://github.com/KhronosGroup/SPIRV-headers" +PKG_URL="https://github.com/KhronosGroup/SPIRV-headers/archive/${PKG_VERSION}.tar.gz" +PKG_DEPENDS_HOST="" +PKG_LONGDESC="SPIRV-Headers" +PKG_TOOLCHAIN="manual" diff --git a/packages/graphics/vulkan/spirv-tools/package.mk b/packages/graphics/vulkan/spirv-tools/package.mk new file mode 100644 index 0000000000..9a5c969cc2 --- /dev/null +++ b/packages/graphics/vulkan/spirv-tools/package.mk @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2021-present Frank Hartung (supervisedthinking (@) gmail.com) +# Copyright (C) 2021-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="spirv-tools" +# The SPIRV-Tools have to be specific versions matching the glslang pkg version +# https://github.com/KhronosGroup/glslang/blob/master/known_good.json +PKG_VERSION="21e3f681e2004590c7865bc8c0195a4ab8e66c88" +PKG_SHA256="1253ada1d3af912d43f7a9acff86c74afbdb6bdf1acd92bd61e0010c103bc050" +PKG_LICENSE="Apache-2.0" +PKG_SITE="https://github.com/KhronosGroup/SPIRV-Tools" +PKG_URL="https://github.com/KhronosGroup/SPIRV-Tools/archive/${PKG_VERSION}.tar.gz" +PKG_DEPENDS_HOST="" +PKG_LONGDESC="The SPIR-V Tools project provides an API and commands for processing SPIR-V modules." +PKG_TOOLCHAIN="manual"