Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions packages/vulkan-wrapper-android/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
TERMUX_PKG_HOMEPAGE=https://www.mesa3d.org
TERMUX_PKG_DESCRIPTION="Android Vulkan ICD"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_LICENSE_FILE="docs/license.rst"
TERMUX_PKG_MAINTAINER="xMeM <haooy@outlook.com>"
TERMUX_PKG_VERSION="25.0.0"
TERMUX_PKG_SRCURL=git+https://gitlab.freedesktop.org/Pipetto-crypto/mesa
TERMUX_PKG_GIT_BRANCH=wrapper-25
_COMMIT=e03c3486fcdab12ba5727765e09f6bea816a7abe
TERMUX_PKG_DEPENDS="libandroid-shmem, libc++, libdrm, libx11, libxcb, libxshmfence, libwayland, vulkan-loader-generic, zlib, zstd"
TERMUX_PKG_BUILD_DEPENDS="libwayland-protocols, libxrandr, xorgproto"
TERMUX_PKG_API_LEVEL=26

TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
--cmake-prefix-path $TERMUX_PREFIX
-Dcpp_rtti=false
-Dgbm=disabled
-Dopengl=false
-Dllvm=disabled
-Dshared-llvm=disabled
-Dplatforms=x11
-Dgallium-drivers=
-Dxmlconfig=disabled
-Dvulkan-drivers=wrapper
-Db_ndebug=true
"

termux_step_post_get_source() {
git fetch --unshallow
git checkout $_COMMIT
# Do not use meson wrap projects
rm -rf subprojects
}

termux_step_pre_configure() {
termux_setup_cmake

if [ "$TERMUX_ON_DEVICE_BUILD" = "true" ]; then
CFLAGS+=" --target=$TERMUX_HOST_PLATFORM$TERMUX_PKG_API_LEVEL"
fi

CPPFLAGS+=" -D__USE_GNU"
LDFLAGS+=" -landroid-shmem"

_WRAPPER_BIN=$TERMUX_PKG_BUILDDIR/_wrapper/bin
mkdir -p $_WRAPPER_BIN
if [ "$TERMUX_ON_DEVICE_BUILD" = "false" ]; then
sed 's|@CMAKE@|'"$(command -v cmake)"'|g' \
$TERMUX_PKG_BUILDER_DIR/cmake-wrapper.in \
> $_WRAPPER_BIN/cmake
chmod 0700 $_WRAPPER_BIN/cmake
termux_setup_wayland_cross_pkg_config_wrapper
fi
export PATH=$_WRAPPER_BIN:$PATH
}

termux_step_post_configure() {
rm -f $_WRAPPER_BIN/cmake
}
16 changes: 16 additions & 0 deletions packages/vulkan-wrapper-android/cmake-wrapper.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh

if [ -e CMakeLists.txt ]; then
sed -i '1s|^|project(foo LANGUAGES C CXX)\n|' CMakeLists.txt
fi

for f in "$@"; do
case "${f}" in
-DCMAKE_TOOLCHAIN_FILE=* )
sed -i "${f#-DCMAKE_TOOLCHAIN_FILE=}" \
-e 's|\(set(CMAKE_SYSTEM_NAME\) "Android")|\1 "Linux")|g'
;;
esac
done

exec @CMAKE@ "$@"
Loading