Merge pull request #5574 from termux/build-git-clone
build-package: add termux_git_clone_src function
This commit is contained in:
commit
9344a7ce65
@ -89,17 +89,29 @@ source "$TERMUX_SCRIPTDIR/scripts/build/termux_download_deb.sh"
|
||||
# shellcheck source=scripts/build/termux_get_repo_files.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/termux_get_repo_files.sh"
|
||||
|
||||
# Source the package build script and start building. No to be overridden by packages.
|
||||
# Source the package build script and start building. Not to be overridden by packages.
|
||||
# shellcheck source=scripts/build/termux_step_start_build.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_start_build.sh"
|
||||
|
||||
# Run just after sourcing $TERMUX_PKG_BUILDER_SCRIPT. May be overridden by packages.
|
||||
# shellcheck source=scripts/build/termux_step_extract_package.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_extract_package.sh"
|
||||
# Run just after sourcing $TERMUX_PKG_BUILDER_SCRIPT. Can be overridden by packages.
|
||||
# shellcheck source=scripts/build/get_source/termux_step_get_source.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/get_source/termux_step_get_source.sh"
|
||||
|
||||
# Hook for packages to act just after the package has been extracted.
|
||||
# Invoked in $TERMUX_PKG_SRCDIR.
|
||||
termux_step_post_extract_package() {
|
||||
# Run from termux_step_get_source if TERMUX_PKG_SRCURL ends with .git.
|
||||
# shellcheck source=scripts/build/get_source/termux_step_get_source.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/get_source/termux_git_clone_src.sh"
|
||||
|
||||
# Run from termux_step_get_source if TERMUX_PKG_SRCURL does not ends with .git.
|
||||
# shellcheck source=scripts/build/get_source/termux_download_src_archive.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/get_source/termux_download_src_archive.sh"
|
||||
|
||||
# Run from termux_step_get_source after termux_download_src_archive.
|
||||
# shellcheck source=scripts/build/get_source/termux_unpack_src_archive.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/get_source/termux_unpack_src_archive.sh"
|
||||
|
||||
# Hook for packages to act just after the package sources have been obtained.
|
||||
# Invoked from $TERMUX_PKG_SRCDIR.
|
||||
termux_step_post_get_source() {
|
||||
return
|
||||
}
|
||||
|
||||
@ -108,7 +120,7 @@ termux_step_post_extract_package() {
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_handle_hostbuild.sh"
|
||||
|
||||
# Perform a host build. Will be called in $TERMUX_PKG_HOSTBUILD_DIR.
|
||||
# After termux_step_post_extract_package() and before termux_step_patch_package()
|
||||
# After termux_step_post_get_source() and before termux_step_patch_package()
|
||||
# shellcheck source=scripts/build/termux_step_host_build.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_host_build.sh"
|
||||
|
||||
@ -223,21 +235,21 @@ if [ "$TERMUX_ON_DEVICE_BUILD" = "true" ]; then
|
||||
fi
|
||||
|
||||
_show_usage() {
|
||||
echo "Usage: ./build-package.sh [options] PACKAGE_1 PACKAGE_2 ..."
|
||||
echo
|
||||
echo "Build a package by creating a .deb file in the debs/ folder."
|
||||
echo
|
||||
echo "Available options:"
|
||||
[ "$TERMUX_ON_DEVICE_BUILD" = "false" ] && echo " -a The architecture to build for: aarch64(default), arm, i686, x86_64 or all."
|
||||
echo " -d Build with debug symbols."
|
||||
echo " -D Build a disabled package in disabled-packages/."
|
||||
echo " -f Force build even if package has already been built."
|
||||
[ "$TERMUX_ON_DEVICE_BUILD" = "false" ] && echo " -i Download and extract dependencies instead of building them."
|
||||
echo " -I Download and extract dependencies instead of building them, keep existing /data/data/com.termux files."
|
||||
echo " -q Quiet build."
|
||||
echo " -s Skip dependency check."
|
||||
echo " -o Specify deb directory. Default: debs/."
|
||||
exit 1
|
||||
echo "Usage: ./build-package.sh [options] PACKAGE_1 PACKAGE_2 ..."
|
||||
echo
|
||||
echo "Build a package by creating a .deb file in the debs/ folder."
|
||||
echo
|
||||
echo "Available options:"
|
||||
[ "$TERMUX_ON_DEVICE_BUILD" = "false" ] && echo " -a The architecture to build for: aarch64(default), arm, i686, x86_64 or all."
|
||||
echo " -d Build with debug symbols."
|
||||
echo " -D Build a disabled package in disabled-packages/."
|
||||
echo " -f Force build even if package has already been built."
|
||||
[ "$TERMUX_ON_DEVICE_BUILD" = "false" ] && echo " -i Download and extract dependencies instead of building them."
|
||||
echo " -I Download and extract dependencies instead of building them, keep existing /data/data/com.termux files."
|
||||
echo " -q Quiet build."
|
||||
echo " -s Skip dependency check."
|
||||
echo " -o Specify deb directory. Default: debs/."
|
||||
exit 1
|
||||
}
|
||||
|
||||
while getopts :a:hdDfiIqso: option; do
|
||||
@ -337,9 +349,10 @@ while (($# > 0)); do
|
||||
termux_step_setup_variables
|
||||
termux_step_handle_buildarch
|
||||
termux_step_start_build
|
||||
termux_step_extract_package
|
||||
cd "$TERMUX_PKG_CACHEDIR"
|
||||
termux_step_get_source
|
||||
cd "$TERMUX_PKG_SRCDIR"
|
||||
termux_step_post_extract_package
|
||||
termux_step_post_get_source
|
||||
termux_step_handle_hostbuild
|
||||
termux_step_setup_toolchain
|
||||
termux_step_patch_package
|
||||
@ -356,7 +369,7 @@ while (($# > 0)); do
|
||||
termux_step_make_install
|
||||
cd "$TERMUX_PKG_BUILDDIR"
|
||||
termux_step_post_make_install
|
||||
termux_step_install_service_scripts
|
||||
termux_step_install_service_scripts
|
||||
termux_step_install_license
|
||||
cd "$TERMUX_PKG_MASSAGEDIR"
|
||||
termux_step_extract_into_massagedir
|
||||
|
@ -4,8 +4,9 @@ TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_VERSION=${TERMUX_ANDROID_BUILD_TOOLS_VERSION}
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=true
|
||||
TERMUX_PKG_SKIP_SRC_EXTRACT=true
|
||||
|
||||
termux_step_extract_package() {
|
||||
termux_step_get_source() {
|
||||
mkdir -p "$TERMUX_PKG_SRCDIR" && cd "$TERMUX_PKG_SRCDIR"
|
||||
mkdir -p com/android/apksig/internal/asn1
|
||||
termux_download \
|
||||
|
@ -7,7 +7,7 @@ TERMUX_PKG_SHA256=64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a576
|
||||
TERMUX_PKG_DEPENDS="m4, make, perl"
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=true
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
perl -p -i -e "s|/bin/sh|$TERMUX_PREFIX/bin/sh|" lib/*/*.m4
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ TERMUX_PKG_DEPENDS="liblmdb, openssl, libandroid-glob, pcre"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-workdir=$TERMUX_PREFIX/var/lib/cfengine --without-pam --without-selinux-policy --without-systemd-service --with-lmdb=$TERMUX_PREFIX --with-openssl=$TERMUX_PREFIX --with-pcre=$TERMUX_PREFIX"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
cd cfengine-masterfiles-${TERMUX_PKG_VERSION}
|
||||
EXPLICIT_VERSION=${TERMUX_PKG_VERSION} ./configure --prefix=$TERMUX_PREFIX/var/lib/cfengine --bindir=$TERMUX_PREFIX/bin
|
||||
make install
|
||||
|
@ -16,7 +16,7 @@ bin/
|
||||
share/cryptopp/
|
||||
"
|
||||
|
||||
termux_step_extract_package() {
|
||||
termux_step_get_source() {
|
||||
mkdir -p $TERMUX_PKG_CACHEDIR
|
||||
termux_download $TERMUX_PKG_SRCURL $TERMUX_PKG_CACHEDIR/cryptopp.zip \
|
||||
$TERMUX_PKG_SHA256
|
||||
|
@ -11,7 +11,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--enable-tmpdir=$TERMUX_PREFIX/tmp"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_HOSTBUILD=true
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
export regcomp_works=yes
|
||||
./autogen.sh
|
||||
}
|
||||
|
@ -4,13 +4,14 @@ TERMUX_PKG_LICENSE="BSD"
|
||||
TERMUX_PKG_LICENSE_FILE="sdk/LICENSE"
|
||||
TERMUX_PKG_VERSION=2.7.2
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_SKIP_SRC_EXTRACT=true
|
||||
|
||||
# Dart uses tar and gzip to extract downloaded packages.
|
||||
# Busybox-based versions of such utilities cause issues so
|
||||
# complete ones should be used.
|
||||
TERMUX_PKG_DEPENDS="gzip, tar"
|
||||
|
||||
termux_step_extract_package() {
|
||||
termux_step_get_source() {
|
||||
mkdir -p $TERMUX_PKG_SRCDIR
|
||||
cd $TERMUX_PKG_SRCDIR
|
||||
|
||||
@ -27,21 +28,22 @@ termux_step_extract_package() {
|
||||
gclient sync -D --force --reset
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
cd sdk
|
||||
|
||||
local DEST_CPU
|
||||
termux_step_post_get_source() {
|
||||
if [ $TERMUX_ARCH = "arm" ]; then
|
||||
DEST_CPU="arm"
|
||||
export DEST_CPU="arm"
|
||||
elif [ $TERMUX_ARCH = "i686" ]; then
|
||||
DEST_CPU="ia32"
|
||||
export DEST_CPU="ia32"
|
||||
elif [ $TERMUX_ARCH = "aarch64" ]; then
|
||||
DEST_CPU="arm64"
|
||||
export DEST_CPU="arm64"
|
||||
elif [ $TERMUX_ARCH = "x86_64" ]; then
|
||||
DEST_CPU="x64"
|
||||
export DEST_CPU="x64"
|
||||
else
|
||||
termux_error_exit "Unsupported arch '$TERMUX_ARCH'"
|
||||
fi
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
cd sdk
|
||||
|
||||
rm -f ./out/*/args.gn
|
||||
DART_MAKE_PLATFORM_SDK=true python2 ./tools/build.py --mode release --arch=$DEST_CPU --os=android create_sdk
|
||||
@ -50,19 +52,6 @@ termux_step_make() {
|
||||
termux_step_make_install() {
|
||||
cd sdk
|
||||
|
||||
local DEST_CPU
|
||||
if [ $TERMUX_ARCH = "arm" ]; then
|
||||
DEST_CPU="ARM"
|
||||
elif [ $TERMUX_ARCH = "i686" ]; then
|
||||
DEST_CPU="IA32"
|
||||
elif [ $TERMUX_ARCH = "aarch64" ]; then
|
||||
DEST_CPU="ARM64"
|
||||
elif [ $TERMUX_ARCH = "x86_64" ]; then
|
||||
DEST_CPU="X64"
|
||||
else
|
||||
termux_error_exit "Unsupported arch '$TERMUX_ARCH'"
|
||||
fi
|
||||
|
||||
chmod +x ./out/ReleaseAndroid${DEST_CPU}/dart-sdk/bin/*
|
||||
cp -r ./out/ReleaseAndroid${DEST_CPU}/dart-sdk ${TERMUX_PREFIX}/lib
|
||||
|
||||
|
@ -7,7 +7,7 @@ TERMUX_PKG_SRCURL=https://sourceforge.net/projects/dirb/files/dirb/${TERMUX_PKG_
|
||||
TERMUX_PKG_SHA256=f3748ade231ca211a01acbec31cc6a3b576f6c56c906d73329d7dbb79f60fc2c
|
||||
TERMUX_PKG_DEPENDS="libcurl"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
# dirb222.tar.gz has directory permission problem
|
||||
chmod +x -R "$TERMUX_PKG_SRCDIR"
|
||||
}
|
||||
|
@ -6,8 +6,9 @@ TERMUX_PKG_REVISION=3
|
||||
TERMUX_PKG_DEPENDS="libxml2-utils"
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=true
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_SKIP_SRC_EXTRACT=true
|
||||
|
||||
termux_step_extract_package() {
|
||||
termux_step_get_source() {
|
||||
mkdir -p $TERMUX_PKG_SRCDIR
|
||||
cd $TERMUX_PKG_SRCDIR
|
||||
|
||||
|
@ -7,8 +7,9 @@ TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_DEPENDS="docbook-xml, libxml2-utils, xsltproc"
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=true
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_SKIP_SRC_EXTRACT=true
|
||||
|
||||
termux_step_extract_package() {
|
||||
termux_step_get_source() {
|
||||
mkdir -p $TERMUX_PKG_SRCDIR
|
||||
|
||||
cd $TERMUX_PKG_SRCDIR
|
||||
|
@ -10,22 +10,24 @@ TERMUX_PKG_SHA256=69dad18a1fcacd342a7d44c5abf74f50e7529975553a24c64bce0b29b86af4
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=true
|
||||
TERMUX_PKG_CONFLICTS="ecj4.6"
|
||||
|
||||
termux_step_extract_package() {
|
||||
RAW_JAR=$TERMUX_PKG_CACHEDIR/ecj-${_VERSION}.jar
|
||||
|
||||
termux_step_pre_configure() {
|
||||
# Certain packages are not safe to build on device because their
|
||||
# build.sh script deletes specific files in $TERMUX_PREFIX.
|
||||
if $TERMUX_ON_DEVICE_BUILD; then
|
||||
termux_error_exit "Package '$TERMUX_PKG_NAME' is not safe for on-device builds."
|
||||
fi
|
||||
|
||||
mkdir $TERMUX_PKG_SRCDIR
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
local RAW_JAR=$TERMUX_PKG_CACHEDIR/ecj-${_VERSION}.jar
|
||||
termux_step_get_source() {
|
||||
mkdir $TERMUX_PKG_SRCDIR
|
||||
termux_download $TERMUX_PKG_SRCURL \
|
||||
$RAW_JAR \
|
||||
$TERMUX_PKG_SHA256
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
mkdir -p $TERMUX_PREFIX/share/{dex,java}
|
||||
$TERMUX_D8 \
|
||||
--classpath $ANDROID_HOME/platforms/android-$TERMUX_PKG_API_LEVEL/android.jar \
|
||||
|
@ -8,7 +8,7 @@ TERMUX_PKG_DEPENDS="dash, erlang"
|
||||
TERMUX_PKG_SUGGESTS="clang, make"
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=true
|
||||
|
||||
termux_step_extract_package() {
|
||||
termux_step_get_source() {
|
||||
termux_download "$TERMUX_PKG_SRCURL" "$TERMUX_PKG_CACHEDIR"/prebuilt.zip \
|
||||
"$TERMUX_PKG_SHA256"
|
||||
|
||||
|
@ -63,7 +63,7 @@ share/man/man1/grep-changelog.1.gz
|
||||
# program still remain in the emacs package):
|
||||
TERMUX_PKG_RM_AFTER_INSTALL+=" bin/ctags share/man/man1/ctags.1 share/man/man1/ctags.1.gz"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
# Certain packages are not safe to build on device because their
|
||||
# build.sh script deletes specific files in $TERMUX_PREFIX.
|
||||
if $TERMUX_ON_DEVICE_BUILD; then
|
||||
|
@ -11,7 +11,7 @@ TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-javac --with-ssl=${TERMUX_PREFIX} --with-termcap"
|
||||
TERMUX_PKG_EXTRA_MAKE_ARGS="noboot"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
# We need a host build every time:
|
||||
rm -Rf "$TERMUX_PKG_HOSTBUILD_DIR"
|
||||
./otp_build autoconf
|
||||
|
@ -17,7 +17,7 @@ TERMUX_PKG_RM_AFTER_INSTALL="lib/*ng-test*"
|
||||
# --without-async due to that using pthread_cancel().
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-async --with-pcaudiolib"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
# Certain packages are not safe to build on device because their
|
||||
# build.sh script deletes specific files in $TERMUX_PREFIX.
|
||||
if $TERMUX_ON_DEVICE_BUILD; then
|
||||
|
@ -15,7 +15,7 @@ CCAUX=gcc
|
||||
--with-system-libtiff
|
||||
"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
rm -rdf $TERMUX_PKG_SRCDIR/{jpeg,libpng,expat,jasper,freetype,lcms2,tiff,openjpeg}
|
||||
}
|
||||
|
||||
|
@ -8,7 +8,7 @@ TERMUX_PKG_DEPENDS="libandroid-support"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_MAKE_PROCESSES=1
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
local file filename
|
||||
filename=$(basename "$TERMUX_PKG_SRCURL")
|
||||
file="$TERMUX_PKG_CACHEDIR/$filename"
|
||||
|
@ -1,32 +1,12 @@
|
||||
TERMUX_PKG_HOMEPAGE=http://gnunet.org
|
||||
TERMUX_PKG_DESCRIPTION="A framework for secure peer-to-peer networking"
|
||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||
TERMUX_PKG_SRCURL=https://gnunet.org/git/gnunet.git
|
||||
TERMUX_PKG_VERSION=0.13.1
|
||||
TERMUX_PKG_DEPENDS="gnurl, libgcrypt, libgmp, libidn, libjansson, libltdl, libmicrohttpd, libsqlite, libunistring, libsodium"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_cv_have_decl_struct_in6_ifreq=yes"
|
||||
|
||||
termux_step_extract_package() {
|
||||
local CHECKED_OUT_FOLDER=$TERMUX_PKG_CACHEDIR/checkout-$TERMUX_PKG_VERSION
|
||||
if [ ! -d $CHECKED_OUT_FOLDER ]; then
|
||||
local TMP_CHECKOUT=$TERMUX_PKG_TMPDIR/tmp-checkout
|
||||
rm -Rf $TMP_CHECKOUT
|
||||
mkdir -p $TMP_CHECKOUT
|
||||
|
||||
git clone --depth 1 \
|
||||
--branch v$TERMUX_PKG_VERSION \
|
||||
https://gnunet.org/git/gnunet.git \
|
||||
$TMP_CHECKOUT
|
||||
cd $TMP_CHECKOUT
|
||||
git submodule update --init # --depth 1
|
||||
mv $TMP_CHECKOUT $CHECKED_OUT_FOLDER
|
||||
fi
|
||||
|
||||
mkdir $TERMUX_PKG_SRCDIR
|
||||
cd $TERMUX_PKG_SRCDIR
|
||||
cp -Rf $CHECKED_OUT_FOLDER/* .
|
||||
}
|
||||
|
||||
termux_step_pre_configure() {
|
||||
CPPFLAGS+=" -D_LINUX_IN6_H"
|
||||
./bootstrap
|
||||
|
@ -7,6 +7,6 @@ TERMUX_PKG_SRCURL=https://github.com/gpsbabel/gpsbabel/archive/gpsbabel_${TERMUX
|
||||
TERMUX_PKG_SHA256=22860e913f093aa9124e295d52d1d4ae1afccaa67ed6bed6f1f8d8b0a45336d1
|
||||
TERMUX_PKG_DEPENDS="libexpat"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
TERMUX_PKG_SRCDIR+=/gpsbabel
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
--enable-sysconfjoesubdir=/jupp
|
||||
"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
chmod +x $TERMUX_PKG_SRCDIR/configure
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ DEFKTNAME=$TERMUX_PREFIX/etc/krb5.keytab
|
||||
DEFCKTNAME=$TERMUX_PREFIX/var/krb5/user/%{euid}/client.keytab
|
||||
"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
TERMUX_PKG_SRCDIR+="/src"
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@ TERMUX_PKG_VERSION=1.18.4
|
||||
TERMUX_PKG_SRCURL=https://dl.k8s.io/v$TERMUX_PKG_VERSION/kubernetes-src.tar.gz
|
||||
TERMUX_PKG_SHA256=6db48e6725bb1ad78aa7e770b316175874c121a72cdc4eebb6a796b8655f0c68
|
||||
|
||||
termux_step_extract_package() {
|
||||
termux_step_get_source() {
|
||||
mkdir -p "$TERMUX_PKG_CACHEDIR"
|
||||
mkdir -p "$TERMUX_PKG_SRCDIR"
|
||||
|
||||
|
@ -40,7 +40,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
-DCMAKE_INSTALL_PREFIX=$LLVM_INSTALL_DIR
|
||||
"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
# Certain packages are not safe to build on device because their
|
||||
# build.sh script deletes specific files in $TERMUX_PREFIX.
|
||||
if $TERMUX_ON_DEVICE_BUILD; then
|
||||
|
@ -11,7 +11,7 @@ TERMUX_PKG_PRE_DEPENDS="dpkg (>= 1.19.4-3)"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_ESSENTIAL=true
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
cp wcwidth-${TERMUX_PKG_VERSION[1]}/wcwidth.c src/
|
||||
}
|
||||
|
||||
|
@ -1,16 +1,13 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://www.duktape.org/
|
||||
TERMUX_PKG_DESCRIPTION="An embeddable Javascript engine with a focus on portability and compact footprint"
|
||||
TERMUX_PKG_LICENSE="MIT"
|
||||
TERMUX_PKG_SRCURL=https://github.com/svaarala/duktape.git
|
||||
TERMUX_PKG_VERSION=2.5.0
|
||||
TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_REPLACES="duktape (<< 2.3.0-1), libduktape-dev"
|
||||
TERMUX_PKG_BREAKS="duktape (<< 2.3.0-1), libduktape-dev"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
|
||||
termux_step_extract_package() {
|
||||
git clone --depth=1 https://github.com/svaarala/duktape.git -b v${TERMUX_PKG_VERSION} ${TERMUX_PKG_SRCDIR}
|
||||
}
|
||||
|
||||
termux_step_pre_configure() {
|
||||
if $TERMUX_ON_DEVICE_BUILD; then
|
||||
# configure.py requires 'yaml' python2 module.
|
||||
|
@ -12,7 +12,7 @@ TERMUX_PKG_BREAKS="libgc-dev"
|
||||
TERMUX_PKG_REPLACES="libgc-dev"
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="share/gc"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
mv libatomic_ops-${TERMUX_PKG_VERSION[1]} libatomic_ops
|
||||
./autogen.sh
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ TERMUX_PKG_BREAKS="libgpg-error-dev"
|
||||
TERMUX_PKG_REPLACES="libgpg-error-dev"
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="share/common-lisp"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
# Upstream only has Android definitions for platform-specific lock objects.
|
||||
# See https://lists.gnupg.org/pipermail/gnupg-devel/2014-January/028203.html
|
||||
# for how to generate a lock-obj header file on devices.
|
||||
|
@ -1,6 +1,7 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://grpc.io/
|
||||
TERMUX_PKG_DESCRIPTION="High performance, open source, general RPC framework that puts mobile and HTTP/2 first"
|
||||
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_SRCURL=https://github.com/grpc/grpc.git
|
||||
TERMUX_PKG_VERSION=1.29.1
|
||||
TERMUX_PKG_REVISION=3
|
||||
TERMUX_PKG_DEPENDS="libc++, openssl, protobuf, c-ares, zlib"
|
||||
@ -24,26 +25,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
-DProtobuf_PROTOC_LIBRARY=$TERMUX_PREFIX/lib/libprotoc.so
|
||||
"
|
||||
|
||||
termux_step_extract_package() {
|
||||
local CHECKED_OUT_FOLDER=$TERMUX_PKG_CACHEDIR/checkout-$TERMUX_PKG_VERSION
|
||||
if [ ! -d $CHECKED_OUT_FOLDER ]; then
|
||||
local TMP_CHECKOUT=$TERMUX_PKG_TMPDIR/tmp-checkout
|
||||
rm -Rf $TMP_CHECKOUT
|
||||
mkdir -p $TMP_CHECKOUT
|
||||
|
||||
git clone --depth 1 \
|
||||
--branch v$TERMUX_PKG_VERSION \
|
||||
https://github.com/grpc/grpc.git \
|
||||
$TMP_CHECKOUT
|
||||
cd $TMP_CHECKOUT
|
||||
git submodule update --init # --depth 1
|
||||
mv $TMP_CHECKOUT $CHECKED_OUT_FOLDER
|
||||
fi
|
||||
|
||||
mkdir $TERMUX_PKG_SRCDIR
|
||||
cd $TERMUX_PKG_SRCDIR
|
||||
cp -Rf $CHECKED_OUT_FOLDER/* .
|
||||
|
||||
termux_step_post_get_source() {
|
||||
termux_setup_protobuf
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
TERMUX_PKG_HOMEPAGE=http://site.icu-project.org/home
|
||||
TERMUX_PKG_DESCRIPTION='International Components for Unicode library'
|
||||
TERMUX_PKG_LICENSE="BSD"
|
||||
# We override TERMUX_PKG_SRCDIR termux_step_post_extract_package so need to do
|
||||
# We override TERMUX_PKG_SRCDIR termux_step_post_get_source so need to do
|
||||
# this hack to be able to find the license file.
|
||||
TERMUX_PKG_LICENSE_FILE="../LICENSE"
|
||||
# Function `icu::number::FormattedNumber::getAllFieldPositions` was removed
|
||||
@ -17,6 +17,6 @@ TERMUX_PKG_HOSTBUILD=true
|
||||
TERMUX_PKG_EXTRA_HOSTBUILD_CONFIGURE_ARGS="--disable-samples --disable-tests"
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-samples --disable-tests --with-cross-build=$TERMUX_PKG_HOSTBUILD_DIR"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
TERMUX_PKG_SRCDIR+="/source"
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ TERMUX_PKG_HAS_DEBUG=false
|
||||
# cp: cannot stat '../src/projects/openmp/runtime/exports/common.min.50.ompt.optional/include/omp.h': No such file or directory
|
||||
# common.min.50.ompt.optional should be common.deb.50.ompt.optional when doing debug build
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
if [ "$TERMUX_PKG_QUICK_REBUILD" = "false" ]; then
|
||||
mv clang-${TERMUX_PKG_VERSION}.src tools/clang
|
||||
mv clang-tools-extra-${TERMUX_PKG_VERSION}.src tools/clang/tools/extra
|
||||
|
@ -9,6 +9,6 @@ TERMUX_PKG_DEPENDS="glib, libjansson"
|
||||
TERMUX_PKG_BREAKS="libsearpc-dev"
|
||||
TERMUX_PKG_REPLACES="libsearpc-dev"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
./autogen.sh
|
||||
}
|
||||
|
@ -10,6 +10,6 @@ TERMUX_PKG_BREAKS="libzmq-dev"
|
||||
TERMUX_PKG_REPLACES="libzmq-dev"
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-libsodium --disable-libunwind --disable-Werror"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
./autogen.sh
|
||||
}
|
||||
|
@ -1,7 +1,9 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://tls.mbed.org/
|
||||
TERMUX_PKG_DESCRIPTION="Light-weight cryptographic and SSL/TLS library"
|
||||
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||
TERMUX_PKG_SRCURL=https://github.com/ARMmbed/mbedtls.git
|
||||
TERMUX_PKG_VERSION=2.22.0
|
||||
TERMUX_PKG_GIT_BRANCH=mbedtls-$TERMUX_PKG_VERSION
|
||||
TERMUX_PKG_BREAKS="mbedtls-dev"
|
||||
TERMUX_PKG_REPLACES="mbedtls-dev"
|
||||
|
||||
@ -11,24 +13,3 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
-DENABLE_TESTING=OFF
|
||||
-DENABLE_PROGRAMS=OFF
|
||||
"
|
||||
|
||||
termux_step_extract_package() {
|
||||
local CHECKED_OUT_FOLDER=$TERMUX_PKG_CACHEDIR/checkout-$TERMUX_PKG_VERSION
|
||||
if [ ! -d $CHECKED_OUT_FOLDER ]; then
|
||||
local TMP_CHECKOUT=$TERMUX_PKG_TMPDIR/tmp-checkout
|
||||
rm -Rf $TMP_CHECKOUT
|
||||
mkdir -p $TMP_CHECKOUT
|
||||
|
||||
git clone --depth 1 \
|
||||
--branch mbedtls-$TERMUX_PKG_VERSION \
|
||||
https://github.com/ARMmbed/mbedtls.git \
|
||||
$TMP_CHECKOUT
|
||||
cd $TMP_CHECKOUT
|
||||
git submodule update --init # --depth 1
|
||||
mv $TMP_CHECKOUT $CHECKED_OUT_FOLDER
|
||||
fi
|
||||
|
||||
mkdir $TERMUX_PKG_SRCDIR
|
||||
cd $TERMUX_PKG_SRCDIR
|
||||
cp -Rf $CHECKED_OUT_FOLDER/* .
|
||||
}
|
||||
|
@ -1,31 +1,10 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://micro-editor.github.io/
|
||||
TERMUX_PKG_DESCRIPTION="Modern and intuitive terminal-based text editor"
|
||||
TERMUX_PKG_LICENSE="MIT"
|
||||
TERMUX_PKG_SRCURL=https://github.com/zyedidia/micro.git
|
||||
TERMUX_PKG_VERSION=2.0.6
|
||||
TERMUX_PKG_REVISION=1
|
||||
|
||||
termux_step_extract_package() {
|
||||
local CHECKED_OUT_FOLDER=$TERMUX_PKG_CACHEDIR/checkout-$TERMUX_PKG_VERSION
|
||||
if [ ! -d $CHECKED_OUT_FOLDER ]; then
|
||||
local TMP_CHECKOUT=$TERMUX_PKG_TMPDIR/tmp-checkout
|
||||
rm -Rf $TMP_CHECKOUT
|
||||
mkdir -p $TMP_CHECKOUT
|
||||
|
||||
git clone --depth 1 \
|
||||
--branch v$TERMUX_PKG_VERSION \
|
||||
https://github.com/zyedidia/micro.git \
|
||||
$TMP_CHECKOUT
|
||||
cd $TMP_CHECKOUT
|
||||
git submodule update --init # --depth 1
|
||||
mv $TMP_CHECKOUT $CHECKED_OUT_FOLDER
|
||||
fi
|
||||
|
||||
mkdir $TERMUX_PKG_SRCDIR
|
||||
cd $TERMUX_PKG_SRCDIR
|
||||
cp -Rf $CHECKED_OUT_FOLDER/* .
|
||||
cp -Rf $CHECKED_OUT_FOLDER/.git .
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
return
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ TERMUX_PKG_RM_AFTER_INSTALL="lib/node_modules/npm/html lib/node_modules/npm/make
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_HOSTBUILD=true
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
# Prevent caching of host build:
|
||||
rm -Rf $TERMUX_PKG_HOSTBUILD_DIR
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ TERMUX_PKG_HOSTBUILD=true
|
||||
# collect2: error: ld returned 1 exit status
|
||||
TERMUX_PKG_BLACKLISTED_ARCHES="x86_64"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
# Prevent caching of host build:
|
||||
rm -Rf $TERMUX_PKG_HOSTBUILD_DIR
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_MAKE_PROCESSES=1
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="bin/perl${TERMUX_PKG_VERSION}"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
# Certain packages are not safe to build on device because their
|
||||
# build.sh script deletes specific files in $TERMUX_PREFIX.
|
||||
if $TERMUX_ON_DEVICE_BUILD; then
|
||||
|
@ -13,6 +13,6 @@ TERMUX_PKG_DEPENDS="libpng, littlecms, zlib"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-sse"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
mv $TERMUX_PKG_SRCDIR/libimagequant-$TERMUX_PKG_VERSION/* $TERMUX_PKG_SRCDIR/lib/
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
TERMUX_PKG_HOMEPAGE=https://www.freedesktop.org/wiki/Software/PulseAudio
|
||||
TERMUX_PKG_DESCRIPTION="A featureful, general-purpose sound server"
|
||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||
TERMUX_PKG_SRCURL=https://github.com/pulseaudio/pulseaudio.git
|
||||
TERMUX_PKG_VERSION=13.0
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_DEPENDS="libltdl, libsndfile, libandroid-glob, libsoxr, speexdsp"
|
||||
@ -21,27 +22,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--disable-neon-opt
|
||||
ax_cv_PTHREAD_PRIO_INHERIT=no"
|
||||
TERMUX_PKG_CONFFILES="etc/pulse/client.conf etc/pulse/daemon.conf etc/pulse/default.pa etc/pulse/system.pa"
|
||||
|
||||
termux_step_extract_package() {
|
||||
local CHECKED_OUT_FOLDER=$TERMUX_PKG_CACHEDIR/checkout-$TERMUX_PKG_VERSION
|
||||
if [ ! -d $CHECKED_OUT_FOLDER ]; then
|
||||
local TMP_CHECKOUT=$TERMUX_PKG_TMPDIR/tmp-checkout
|
||||
rm -Rf $TMP_CHECKOUT
|
||||
mkdir -p $TMP_CHECKOUT
|
||||
|
||||
git clone --depth 1 \
|
||||
--branch v$TERMUX_PKG_VERSION \
|
||||
https://github.com/pulseaudio/pulseaudio.git \
|
||||
$TMP_CHECKOUT
|
||||
cd $TMP_CHECKOUT
|
||||
git submodule update --init # --depth 1
|
||||
mv $TMP_CHECKOUT $CHECKED_OUT_FOLDER
|
||||
fi
|
||||
|
||||
mkdir $TERMUX_PKG_SRCDIR
|
||||
cd $TERMUX_PKG_SRCDIR
|
||||
cp -Rf $CHECKED_OUT_FOLDER/* .
|
||||
cp -Rf $CHECKED_OUT_FOLDER/.git .
|
||||
|
||||
termux_step_post_get_source() {
|
||||
NOCONFIGURE=1 ./bootstrap.sh
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,7 @@ SWIFT_BUILD_FLAGS="$SWIFT_ANDROID_NDK_FLAGS --build-toolchain-only
|
||||
--build-swift-dynamic-stdlib=0 --build-swift-dynamic-sdk-overlay=0"
|
||||
fi
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
if [ "$TERMUX_PKG_QUICK_REBUILD" = "false" ]; then
|
||||
# The Swift build-script requires a particular organization of source directories,
|
||||
# which the following sets up.
|
||||
|
@ -10,7 +10,7 @@ TERMUX_PKG_SHA256=(6199304fc9697a2eb78c542357aec984924bc2ecad90f3bedf1f6299fe345
|
||||
c37f52fc39c62b3391a0eae061cef2c4079dfd4af0e3bdabac1be98316f9c451)
|
||||
TERMUX_PKG_DEPENDS="libandroid-glob, libc++"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
rmdir src/libshared
|
||||
mv libshared-${_LIBSHARED_COMMIT}/ src/libshared
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_cv_file__dev_ptmx=no"
|
||||
TERMUX_PKG_DEPENDS="pcre, libgnutls, zlib"
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
TERMUX_PKG_SRCDIR+="/src"
|
||||
TERMUX_PKG_BUILDDIR="$TERMUX_PKG_SRCDIR"
|
||||
}
|
||||
|
@ -2,10 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://transmissionbt.com/
|
||||
TERMUX_PKG_DESCRIPTION="Easy, lean and powerful BitTorrent client"
|
||||
TERMUX_PKG_LICENSE="MIT"
|
||||
TERMUX_PKG_VERSION=3.00
|
||||
TERMUX_PKG_GIT_BRANCH=$TERMUX_PKG_VERSION
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_SRCURL=https://github.com/transmission/transmission.git
|
||||
# lint-packages complains if SHA256 is not set
|
||||
TERMUX_PKG_SHA256=SKIP_CHECKSUM
|
||||
TERMUX_PKG_DEPENDS="libcurl, libevent, miniupnpc, openssl"
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-gtk --enable-lightweight --cache-file=termux_configure.cache"
|
||||
# transmission already puts timestamps in the info printed to stdout so no need for svlogd -tt,
|
||||
@ -15,26 +14,6 @@ TERMUX_PKG_SERVICE_SCRIPT=(
|
||||
"transmission/log" 'mkdir -p "$LOGDIR/sv/transmission"\nexec svlogd "$LOGDIR/sv/transmission"'
|
||||
)
|
||||
|
||||
termux_step_extract_package() {
|
||||
local CHECKED_OUT_FOLDER=$TERMUX_PKG_CACHEDIR/checkout-$TERMUX_PKG_VERSION
|
||||
if [ ! -d $CHECKED_OUT_FOLDER ]; then
|
||||
local TMP_CHECKOUT=$TERMUX_PKG_TMPDIR/tmp-checkout
|
||||
rm -Rf $TMP_CHECKOUT
|
||||
mkdir -p $TMP_CHECKOUT
|
||||
|
||||
git clone --depth 1 \
|
||||
--branch $TERMUX_PKG_VERSION \
|
||||
$TERMUX_PKG_SRCURL \
|
||||
$TMP_CHECKOUT
|
||||
cd $TMP_CHECKOUT
|
||||
git submodule update --init --recursive
|
||||
mv $TMP_CHECKOUT $CHECKED_OUT_FOLDER
|
||||
fi
|
||||
|
||||
rm -rf $TERMUX_PKG_SRCDIR
|
||||
cp -Rf $CHECKED_OUT_FOLDER $TERMUX_PKG_SRCDIR
|
||||
}
|
||||
|
||||
termux_step_pre_configure() {
|
||||
CFLAGS+=" -D_POSIX_C_SOURCE=200809L"
|
||||
./autogen.sh
|
||||
|
@ -9,7 +9,7 @@ TERMUX_PKG_SHA256=849d7ef5af80d03e76cc05ed9fb8fa2bcc2b724b51ebfd1b6be11c7863f5b3
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" --with-conf=$TERMUX_PREFIX/etc/tsocks.conf"
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
cp $TERMUX_PKG_SRCDIR/tsocks-1.8/* $TERMUX_PKG_SRCDIR/
|
||||
}
|
||||
|
||||
|
@ -6,7 +6,7 @@ TERMUX_PKG_SRCURL=https://github.com/jmacd/xdelta/archive/v${TERMUX_PKG_VERSION}
|
||||
TERMUX_PKG_SHA256=7515cf5378fca287a57f4e2fee1094aabc79569cfe60d91e06021a8fd7bae29d
|
||||
TERMUX_PKG_DEPENDS=liblzma
|
||||
|
||||
termux_step_post_extract_package() {
|
||||
termux_step_post_get_source() {
|
||||
TERMUX_PKG_SRCDIR+=/xdelta3
|
||||
}
|
||||
|
||||
|
16
scripts/build/get_source/termux_download_src_archive.sh
Normal file
16
scripts/build/get_source/termux_download_src_archive.sh
Normal file
@ -0,0 +1,16 @@
|
||||
termux_download_src_archive() {
|
||||
local PKG_SRCURL=(${TERMUX_PKG_SRCURL[@]})
|
||||
local PKG_SHA256=(${TERMUX_PKG_SHA256[@]})
|
||||
if [ ! ${#PKG_SRCURL[@]} == ${#PKG_SHA256[@]} ] && [ ! ${#PKG_SHA256[@]} == 0 ]; then
|
||||
termux_error_exit "Error: length of TERMUX_PKG_SRCURL isn't equal to length of TERMUX_PKG_SHA256."
|
||||
fi
|
||||
|
||||
for i in $(seq 0 $(( ${#PKG_SRCURL[@]}-1 ))); do
|
||||
local file="$TERMUX_PKG_CACHEDIR/$(basename "${PKG_SRCURL[$i]}")"
|
||||
if [ "${PKG_SHA256[$i]}" == "" ]; then
|
||||
termux_download "${PKG_SRCURL[$i]}" "$file"
|
||||
else
|
||||
termux_download "${PKG_SRCURL[$i]}" "$file" "${PKG_SHA256[$i]}"
|
||||
fi
|
||||
done
|
||||
}
|
27
scripts/build/get_source/termux_git_clone_src.sh
Normal file
27
scripts/build/get_source/termux_git_clone_src.sh
Normal file
@ -0,0 +1,27 @@
|
||||
termux_git_clone_src() {
|
||||
local CHECKED_OUT_FOLDER=$TERMUX_PKG_TMPDIR/checkout-$TERMUX_PKG_VERSION
|
||||
local TMP_CHECKOUT=$TERMUX_PKG_CACHEDIR/tmp-checkout
|
||||
|
||||
# If user aborts git clone step here the folder needs to be removed
|
||||
# manually. IMO this is better than git cloning the src everytime
|
||||
if [ ! -d $CHECKED_OUT_FOLDER ] && [ ! -d $TMP_CHECKOUT ]; then
|
||||
if [ "$TERMUX_PKG_GIT_BRANCH" == "" ]; then
|
||||
TERMUX_PKG_GIT_BRANCH=v$TERMUX_PKG_VERSION
|
||||
fi
|
||||
git clone --depth 1 \
|
||||
--branch $TERMUX_PKG_GIT_BRANCH \
|
||||
$TERMUX_PKG_SRCURL \
|
||||
$TMP_CHECKOUT
|
||||
cd $TMP_CHECKOUT
|
||||
|
||||
git submodule update --init --recursive
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if [ ! -d $CHECKED_OUT_FOLDER ]; then
|
||||
cp -Rf $TMP_CHECKOUT $CHECKED_OUT_FOLDER
|
||||
fi
|
||||
|
||||
rm -rf $TERMUX_PKG_SRCDIR
|
||||
cp -Rf $CHECKED_OUT_FOLDER $TERMUX_PKG_SRCDIR
|
||||
}
|
13
scripts/build/get_source/termux_step_get_source.sh
Normal file
13
scripts/build/get_source/termux_step_get_source.sh
Normal file
@ -0,0 +1,13 @@
|
||||
termux_step_get_source() {
|
||||
if [ "${TERMUX_PKG_SRCURL: -4}" == ".git" ]; then
|
||||
termux_git_clone_src
|
||||
else
|
||||
if [ -z "${TERMUX_PKG_SRCURL:=""}" ] || [ "${TERMUX_PKG_SKIP_SRC_EXTRACT-false}" = "true" ] || [ "$TERMUX_PKG_METAPACKAGE" = "true" ]; then
|
||||
mkdir -p "$TERMUX_PKG_SRCDIR"
|
||||
return
|
||||
fi
|
||||
termux_download_src_archive
|
||||
cd $TERMUX_PKG_TMPDIR
|
||||
termux_extract_src_archive
|
||||
fi
|
||||
}
|
23
scripts/build/get_source/termux_unpack_src_archive.sh
Normal file
23
scripts/build/get_source/termux_unpack_src_archive.sh
Normal file
@ -0,0 +1,23 @@
|
||||
termux_extract_src_archive() {
|
||||
# STRIP=1 extracts archives straight into TERMUX_PKG_SRCDIR while STRIP=0 puts them in subfolders. zip has same behaviour per default
|
||||
# If this isn't desired then this can be fixed in termux_step_post_get_source.
|
||||
local STRIP=1
|
||||
local PKG_SRCURL=(${TERMUX_PKG_SRCURL[@]})
|
||||
local PKG_SHA256=(${TERMUX_PKG_SHA256[@]})
|
||||
for i in $(seq 0 $(( ${#PKG_SRCURL[@]}-1 ))); do
|
||||
local file="$TERMUX_PKG_CACHEDIR/$(basename "${PKG_SRCURL[$i]}")"
|
||||
local folder
|
||||
set +o pipefail
|
||||
if [ "${file##*.}" = zip ]; then
|
||||
folder=$(unzip -qql "$file" | head -n1 | tr -s ' ' | cut -d' ' -f5-)
|
||||
rm -Rf $folder
|
||||
unzip -q "$file"
|
||||
mv $folder "$TERMUX_PKG_SRCDIR"
|
||||
else
|
||||
test "$i" -gt 0 && STRIP=0
|
||||
mkdir -p "$TERMUX_PKG_SRCDIR"
|
||||
tar xf "$file" -C "$TERMUX_PKG_SRCDIR" --strip-components=$STRIP
|
||||
fi
|
||||
set -o pipefail
|
||||
done
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
termux_step_extract_package() {
|
||||
if [ -z "${TERMUX_PKG_SRCURL:=""}" ] || [ "${TERMUX_PKG_SKIP_SRC_EXTRACT-false}" = "true" ] || [ "$TERMUX_PKG_METAPACKAGE" = "true" ]; then
|
||||
mkdir -p "$TERMUX_PKG_SRCDIR"
|
||||
return
|
||||
fi
|
||||
cd "$TERMUX_PKG_TMPDIR"
|
||||
local PKG_SRCURL=(${TERMUX_PKG_SRCURL[@]})
|
||||
local PKG_SHA256=(${TERMUX_PKG_SHA256[@]})
|
||||
if [ ! ${#PKG_SRCURL[@]} == ${#PKG_SHA256[@]} ] && [ ! ${#PKG_SHA256[@]} == 0 ]; then
|
||||
termux_error_exit "Error: length of TERMUX_PKG_SRCURL isn't equal to length of TERMUX_PKG_SHA256."
|
||||
fi
|
||||
# STRIP=1 extracts archives straight into TERMUX_PKG_SRCDIR while STRIP=0 puts them in subfolders. zip has same behaviour per default
|
||||
# If this isn't desired then this can be fixed in termux_step_post_extract_package.
|
||||
local STRIP=1
|
||||
for i in $(seq 0 $(( ${#PKG_SRCURL[@]}-1 ))); do
|
||||
test "$i" -gt 0 && STRIP=0
|
||||
local filename
|
||||
filename=$(basename "${PKG_SRCURL[$i]}")
|
||||
local file="$TERMUX_PKG_CACHEDIR/$filename"
|
||||
# Allow TERMUX_PKG_SHA256 to be empty:
|
||||
set +u
|
||||
termux_download "${PKG_SRCURL[$i]}" "$file" "${PKG_SHA256[$i]}"
|
||||
set -u
|
||||
|
||||
local folder
|
||||
set +o pipefail
|
||||
if [ "${file##*.}" = zip ]; then
|
||||
folder=$(unzip -qql "$file" | head -n1 | tr -s ' ' | cut -d' ' -f5-)
|
||||
rm -Rf $folder
|
||||
unzip -q "$file"
|
||||
mv $folder "$TERMUX_PKG_SRCDIR"
|
||||
else
|
||||
mkdir -p "$TERMUX_PKG_SRCDIR"
|
||||
tar xf "$file" -C "$TERMUX_PKG_SRCDIR" --strip-components=$STRIP
|
||||
fi
|
||||
set -o pipefail
|
||||
done
|
||||
}
|
@ -102,6 +102,7 @@ termux_step_setup_variables() {
|
||||
TERMUX_PKG_PACKAGEDIR=$TERMUX_TOPDIR/$TERMUX_PKG_NAME/package
|
||||
TERMUX_PKG_SRCDIR=$TERMUX_TOPDIR/$TERMUX_PKG_NAME/src
|
||||
TERMUX_PKG_SHA256=""
|
||||
TERMUX_PKG_GIT_BRANCH="" # branch defaults to 'v$TERMUX_PKG_VERSION' unless this variable is defined
|
||||
TERMUX_PKG_TMPDIR=$TERMUX_TOPDIR/$TERMUX_PKG_NAME/tmp
|
||||
TERMUX_PKG_HOSTBUILD_DIR=$TERMUX_TOPDIR/$TERMUX_PKG_NAME/host-build
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=false
|
||||
|
@ -236,6 +236,8 @@ lint_package() {
|
||||
echo "LENGTHS OF 'TERMUX_PKG_SRCURL' AND 'TERMUX_PKG_SHA256' ARE NOT EQUAL"
|
||||
pkg_lint_error=true
|
||||
fi
|
||||
elif [ "${TERMUX_PKG_SRCURL: -4}" == ".git" ]; then
|
||||
echo "NOT SET (acceptable since TERMUX_PKG_SRCURL is git repo)"
|
||||
else
|
||||
echo "NOT SET"
|
||||
pkg_lint_error=true
|
||||
|
Loading…
x
Reference in New Issue
Block a user