addpkg(main): spirv-headers, spirv-tools, shaderc (#18185)

* fix(main/glslang): link with system spirv-tools and enable building static
This commit is contained in:
termux-pacman-bot
2023-10-08 13:01:36 +00:00
parent e4b45d3997
commit 2939228748
4 changed files with 104 additions and 2 deletions

View File

@@ -3,11 +3,23 @@ TERMUX_PKG_DESCRIPTION="OpenGL and OpenGL ES shader front end and validator"
TERMUX_PKG_LICENSE="BSD"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="13.0.0"
TERMUX_PKG_SRCURL=https://github.com/KhronosGroup/glslang/archive/${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/KhronosGroup/glslang/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=bcda732434f829aa74414ea0e06d329ec8ac28637c38a0de45e17c8fd25a4715
TERMUX_PKG_DEPENDS="libc++"
TERMUX_PKG_BUILD_DEPENDS="spirv-tools"
TERMUX_PKG_NO_STATICSPLIT=true
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DBUILD_SHARED_LIBS=ON
-DALLOW_EXTERNAL_SPIRV_TOOLS=ON
"
termux_step_post_make_install() {
# build system only build static or shared at a time
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+="
-DBUILD_SHARED_LIBS=ON
"
termux_step_configure
termux_step_make
termux_step_make_install
}

19
packages/shaderc/build.sh Normal file
View File

@@ -0,0 +1,19 @@
TERMUX_PKG_HOMEPAGE=https://github.com/google/shaderc
TERMUX_PKG_DESCRIPTION="Collection of tools, libraries, and tests for Vulkan shader compilation"
TERMUX_PKG_LICENSE="Apache-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="2023.6"
TERMUX_PKG_SRCURL=https://github.com/google/shaderc/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=e40fd4a87a56f6610e223122179f086d5c4f11a7e0e2aa461f0325c3a0acc6ae
TERMUX_PKG_DEPENDS="libc++"
TERMUX_PKG_CONFLICTS="glslang, spirv-tools"
TERMUX_PKG_NO_STATICSPLIT=true
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_UPDATE_TAG_TYPE="newest-tag"
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DSHADERC_SKIP_TESTS=ON
"
termux_step_post_get_source() {
./utils/git-sync-deps
}

32
packages/spirv-headers/build.sh Executable file
View File

@@ -0,0 +1,32 @@
TERMUX_PKG_HOMEPAGE=https://github.com/KhronosGroup/SPIRV-Headers
TERMUX_PKG_DESCRIPTION="SPIR-V Headers"
TERMUX_PKG_LICENSE="Apache-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="1.3.261.1"
TERMUX_PKG_SRCURL=https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/sdk-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=32b4c6ae6a2fa9b56c2c17233c8056da47e331f76e117729925825ea3e77a739
TERMUX_PKG_PLATFORM_INDEPENDENT=true
TERMUX_PKG_AUTO_UPDATE=true
termux_pkg_auto_update() {
local e=0
local api_url="https://api.github.com/repos/KhronosGroup/SPIRV-Headers/git/refs/tags"
local api_url_r=$(curl -s "${api_url}")
local r1=$(echo "${api_url_r}" | jq .[].ref | sed -nE "s|.*/(sdk-.*)\"|\1|p")
local latest_version=$(echo "${r1}" | tail -n1)
[[ -z "${api_url_r}" ]] && e=1
[[ -z "${r1}" ]] && e=1
[[ -z "${latest_version}" ]] && e=1
if [[ "${e}" != 0 ]]; then
cat <<- EOL >&2
WARN: Auto update failure!
api_url_r=${api_url_r}
r1=${r1}
latest_version=${latest_version}
EOL
return
fi
termux_pkg_upgrade_version "${latest_version//sdk-}"
}

39
packages/spirv-tools/build.sh Executable file
View File

@@ -0,0 +1,39 @@
TERMUX_PKG_HOMEPAGE=https://github.com/KhronosGroup/SPIRV-Tools
TERMUX_PKG_DESCRIPTION="SPIR-V Tools"
TERMUX_PKG_LICENSE="Apache-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="1.3.261.1"
TERMUX_PKG_SRCURL=https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/sdk-${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=ead95c626ad482882a141d1aa0ce47b9453871f72c42c0b28d39c82f60a52008
TERMUX_PKG_DEPENDS="libc++"
TERMUX_PKG_BUILD_DEPENDS="spirv-headers (=${TERMUX_PKG_VERSION})"
TERMUX_PKG_NO_STATICSPLIT=true
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-DSPIRV-Headers_SOURCE_DIR=${TERMUX_PREFIX}
-DSPIRV_WERROR=OFF
"
termux_pkg_auto_update() {
# use versions from sdk-* and not vYEAR.* to match spirv-headers
local e=0
local api_url="https://api.github.com/repos/KhronosGroup/SPIRV-Tools/git/refs/tags"
local api_url_r=$(curl -s "${api_url}")
local r1=$(echo "${api_url_r}" | jq .[].ref | sed -nE "s|.*/(sdk-.*)\"|\1|p")
local latest_version=$(echo "${r1}" | tail -n1)
[[ -z "${api_url_r}" ]] && e=1
[[ -z "${r1}" ]] && e=1
[[ -z "${latest_version}" ]] && e=1
if [[ "${e}" != 0 ]]; then
cat <<- EOL >&2
WARN: Auto update failure!
api_url_r=${api_url_r}
r1=${r1}
latest_version=${latest_version}
EOL
return
fi
termux_pkg_upgrade_version "${latest_version//sdk-}"
}