graphics/khronos-texture: new port - required for games/lwjgl3

This port required for build lwjgl 3, and lwjgl 3 required for run Java
Minecraft Client 1.20.x on FreeBSD without linux compatibility layer.

PR:			275279 269879 269900
Approved by:		arrowd (mentor)
Differential Revision:	https://reviews.freebsd.org/D44120
This commit is contained in:
Vladimir Druzenko 2024-03-01 19:45:23 +03:00
parent 9baeed13d4
commit f892ca8769
4 changed files with 75 additions and 0 deletions

View file

@ -0,0 +1,45 @@
PORTNAME= khronos-texture
DISTVERSION= 4.3.1
CATEGORIES= graphics
DISTVERSIONPREFIX= v
MAINTAINER= vvd@FreeBSD.org
COMMENT= Khronos Texture is a container for textures for OpenGL/Vulkan/etc
WWW= https://github.com/KhronosGroup/KTX-Software
LICENSE= APACHE20
BUILD_DEPENDS= bash:shells/bash
USES= cmake compiler:c++11-lib python:build
CMAKE_OFF= FMT_INSTALL
USE_GITHUB= yes
GH_ACCOUNT= KhronosGroup
GH_PROJECT= KTX-Software
OPTIONS_SINGLE= SIMD
OPTIONS_SINGLE_SIMD= AVX2 NEON NONE SSE2 SSE41
OPTIONS_EXCLUDE= ${${ARCH} != amd64 && ${ARCH} != i386:?AVX2 SSE2 SSE41:}
OPTIONS_EXCLUDE+= ${${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != aarch64:?NEON:}
OPTIONS_DEFAULT_aarch64= NEON
OPTIONS_DEFAULT_amd64= SSE2
OPTIONS_DEFAULT_armv7= NEON
AVX2_DESC= Use the AVX2 instruction set
AVX2_CMAKE_ON= -DASTCENC_ISA_AVX2:BOOL=ON -DBASISU_SUPPORT_SSE:BOOL=ON
NEON_DESC= Use the NEON instruction set
NEON_CMAKE_ON= -DASTCENC_ISA_NEON:BOOL=ON
NONE_DESC= Don't use any SIMD instructions
NONE_CMAKE_ON= -DASTCENC_ISA_NONE:BOOL=ON -DBASISU_SUPPORT_SSE:BOOL=OFF
SSE2_DESC= Use the SSE2 instruction set
SSE2_CMAKE_ON= -DASTCENC_ISA_SSE2:BOOL=ON -DBASISU_SUPPORT_SSE:BOOL=OFF
SSE41_DESC= Use the SSE4.1 instruction set
SSE41_CMAKE_ON= -DASTCENC_ISA_SSE41:BOOL=ON -DBASISU_SUPPORT_SSE:BOOL=ON
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1709307214
SHA256 (KhronosGroup-KTX-Software-v4.3.1_GH0.tar.gz) = 98f051c91e723f85f3a5136a75dfa0ee186d72cc93223fd0daa1b3c8077ccb69
SIZE (KhronosGroup-KTX-Software-v4.3.1_GH0.tar.gz) = 252417872

View file

@ -0,0 +1,11 @@
KTX (Khronos Texture) is a lightweight container for textures for OpenGL(R),
Vulkan(R) and other GPU APIs. KTX files contain all the parameters needed
for texture loading. A single file can contain anything from a simple
base-level 2D texture through to a cubemap array texture with mipmaps.
Contained textures can be in a Basis Universal format, in any of the
block-compressed formats supported by OpenGL family and Vulkan APIs and
extensions or in an uncompressed single-plane format. Basis Universal
currently encompasses two formats that can be quickly transcoded to any
GPU-supported format: LZ/ETC1S, which combines block-compression and
supercompression, and UASTC, a block-compressed format. Formats other than
LZ/ETC1S can be supercompressed with Zstd and ZLIB.

View file

@ -0,0 +1,16 @@
bin/ktx
bin/ktx2check
bin/ktx2ktx2
bin/ktxinfo
bin/ktxsc
bin/toktx
include/KHR/khr_df.h
include/ktx.h
include/ktxvulkan.h
lib/cmake/ktx/KtxConfig.cmake
lib/cmake/ktx/KtxConfigVersion.cmake
lib/cmake/ktx/KtxTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/ktx/KtxTargets.cmake
lib/libktx.so
lib/libktx.so.0
lib/libktx.so.0.0.0