add package: zig
Signed-off-by: Leap of Azzam <leapofazzam@gmail.com>
This commit is contained in:
parent
33a64aabdb
commit
18fbc56c72
@ -67,6 +67,10 @@ source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_golang.sh"
|
|||||||
# shellcheck source=scripts/build/setup/termux_setup_rust.sh
|
# shellcheck source=scripts/build/setup/termux_setup_rust.sh
|
||||||
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_rust.sh"
|
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_rust.sh"
|
||||||
|
|
||||||
|
# Utility function for zig-using packages to setup a zig toolchain.
|
||||||
|
# shellcheck source=scripts/build/setup/termux_setup_zig.sh
|
||||||
|
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_zig.sh"
|
||||||
|
|
||||||
# Utility function to setup a current ninja build system.
|
# Utility function to setup a current ninja build system.
|
||||||
# shellcheck source=scripts/build/setup/termux_setup_ninja.sh
|
# shellcheck source=scripts/build/setup/termux_setup_ninja.sh
|
||||||
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_ninja.sh"
|
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_ninja.sh"
|
||||||
|
23
packages/zig/build.sh
Normal file
23
packages/zig/build.sh
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
TERMUX_PKG_HOMEPAGE=https://ziglang.org
|
||||||
|
TERMUX_PKG_DESCRIPTION="General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software."
|
||||||
|
TERMUX_PKG_LICENSE="MIT"
|
||||||
|
TERMUX_PKG_MAINTAINER="@leapofazzam123"
|
||||||
|
TERMUX_PKG_VERSION=0.9.0
|
||||||
|
TERMUX_PKG_SRCURL=https://ziglang.org/download/$TERMUX_PKG_VERSION/zig-$TERMUX_PKG_VERSION.tar.xz
|
||||||
|
TERMUX_PKG_SHA256=cd1be83b12f8269cc5965e59877b49fdd8fa638efb6995ac61eb4cea36a2e381
|
||||||
|
TERMUX_PKG_AUTO_UPDATE=true
|
||||||
|
TERMUX_PKG_DEPENDS="libandroid-spawn, libc++, libxml2, ncurses, zlib"
|
||||||
|
TERMUX_PKG_BUILD_DEPENDS="llvm, libllvm-static"
|
||||||
|
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||||
|
-DZIG_PREFER_CLANG_CPP_DYLIB=OFF
|
||||||
|
-DLLVM_LIBDIRS=$TERMUX_PREFIX/lib
|
||||||
|
"
|
||||||
|
|
||||||
|
termux_step_pre_configure() {
|
||||||
|
termux_setup_zig
|
||||||
|
TERMUX_PKG_EXTRA_CONFIGURE_ARGS+="
|
||||||
|
-DZIG_EXECUTABLE=$(which zig)
|
||||||
|
-DZIG_TARGET_TRIPLE=$ZIG_TARGET_NAME
|
||||||
|
"
|
||||||
|
LDFLAGS+=" -landroid-spawn -lncursesw -lxml2 -lz"
|
||||||
|
}
|
11
packages/zig/cmake-Findllvm.cmake.patch
Normal file
11
packages/zig/cmake-Findllvm.cmake.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- a/cmake/Findllvm.cmake
|
||||||
|
+++ b/cmake/Findllvm.cmake
|
||||||
|
@@ -353,6 +353,8 @@
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMBinaryFormat)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMSupport)
|
||||||
|
FIND_AND_ADD_LLVM_LIB(LLVMDemangle)
|
||||||
|
+ FIND_AND_ADD_LLVM_LIB(Polly)
|
||||||
|
+ FIND_AND_ADD_LLVM_LIB(PollyISL)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
44
scripts/build/setup/termux_setup_zig.sh
Normal file
44
scripts/build/setup/termux_setup_zig.sh
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
termux_setup_zig() {
|
||||||
|
local ZIG_VERSION=0.9.0
|
||||||
|
local ZIG_FOLDER
|
||||||
|
|
||||||
|
if [ "${TERMUX_PACKAGES_OFFLINE-false}" = "true" ]; then
|
||||||
|
ZIG_FOLDER=${TERMUX_SCRIPTDIR}/build-tools/zig-${ZIG_VERSION}
|
||||||
|
else
|
||||||
|
ZIG_FOLDER=${TERMUX_COMMON_CACHEDIR}/zig-${ZIG_VERSION}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$TERMUX_ON_DEVICE_BUILD" = "false" ]; then
|
||||||
|
if [ ! -x "$ZIG_FOLDER/zig" ]; then
|
||||||
|
mkdir -p "$ZIG_FOLDER"
|
||||||
|
local ZIG_TARBALL=$TERMUX_PKG_TMPDIR/zig-$ZIG_VERSION.zip
|
||||||
|
termux_download https://ziglang.org/download/$ZIG_VERSION/zig-linux-x86_64-$ZIG_VERSION.tar.xz \
|
||||||
|
"$ZIG_TARBALL" \
|
||||||
|
5c55344a877d557fb1b28939785474eb7f4f2f327aab55293998f501f7869fa6
|
||||||
|
tar xf "$ZIG_TARBALL" -C "$ZIG_FOLDER" --strip-components=1
|
||||||
|
fi
|
||||||
|
export PATH=$ZIG_FOLDER:$PATH
|
||||||
|
else
|
||||||
|
local ZIG_PKG_VERSION=$(bash -c ". $TERMUX_SCRIPTDIR/packages/zig/build.sh; echo \$TERMUX_PKG_VERSION")
|
||||||
|
if ([ ! -e "$TERMUX_BUILT_PACKAGES_DIRECTORY/zig" ] ||
|
||||||
|
[ "$(cat "$TERMUX_BUILT_PACKAGES_DIRECTORY/zig")" != "$ZIG_PKG_VERSION" ]) &&
|
||||||
|
[ "$(dpkg-query -W -f '${db:Status-Status}\n' zig 2>/dev/null)" != "installed" ]; then
|
||||||
|
echo "Package 'zig' is not installed."
|
||||||
|
echo "You can install it with"
|
||||||
|
echo
|
||||||
|
echo " pkg install zig"
|
||||||
|
echo
|
||||||
|
echo "or build it from source with"
|
||||||
|
echo
|
||||||
|
echo " ./build-package.sh zig"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $TERMUX_ARCH = "i686" ]; then
|
||||||
|
ZIG_TARGET_NAME=i386-linux-android
|
||||||
|
else
|
||||||
|
ZIG_TARGET_NAME=$TERMUX_ARCH-linux-android
|
||||||
|
fi
|
||||||
|
}
|
@ -47,6 +47,9 @@ mkdir -p "$TERMUX_PKG_TMPDIR"
|
|||||||
#(. "$TERMUX_SCRIPTDIR"/scripts/build/setup/termux_setup_rust.sh
|
#(. "$TERMUX_SCRIPTDIR"/scripts/build/setup/termux_setup_rust.sh
|
||||||
# termux_setup_rust
|
# termux_setup_rust
|
||||||
#)
|
#)
|
||||||
|
(. "$TERMUX_SCRIPTDIR"/scripts/build/setup/termux_setup_zig.sh
|
||||||
|
termux_setup_zig
|
||||||
|
)
|
||||||
rm -rf "${TERMUX_PKG_TMPDIR}"
|
rm -rf "${TERMUX_PKG_TMPDIR}"
|
||||||
(test -d "$TERMUX_SCRIPTDIR"/build-tools/android-sdk && test -d "$TERMUX_SCRIPTDIR"/build-tools/android-ndk && exit 0
|
(test -d "$TERMUX_SCRIPTDIR"/build-tools/android-sdk && test -d "$TERMUX_SCRIPTDIR"/build-tools/android-ndk && exit 0
|
||||||
"$TERMUX_SCRIPTDIR"/scripts/setup-android-sdk.sh
|
"$TERMUX_SCRIPTDIR"/scripts/setup-android-sdk.sh
|
||||||
|
Loading…
Reference in New Issue
Block a user