mirror of
https://github.com/termux-pacman/termux-packages.git
synced 2026-01-07 03:13:25 +00:00
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:
@@ -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
19
packages/shaderc/build.sh
Normal 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
32
packages/spirv-headers/build.sh
Executable 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
39
packages/spirv-tools/build.sh
Executable 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-}"
|
||||
}
|
||||
Reference in New Issue
Block a user