new package: gn (#7290)
This commit is contained in:
parent
cddd8017a3
commit
2d38944910
|
@ -55,6 +55,10 @@ source "$TERMUX_SCRIPTDIR/scripts/build/termux_download.sh"
|
|||
# shellcheck source=scripts/build/setup/termux_setup_ghc.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_ghc.sh"
|
||||
|
||||
# Utility function for setting up GN toolchain.
|
||||
# shellcheck source=scripts/build/setup/termux_setup_gn.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_gn.sh"
|
||||
|
||||
# Utility function for golang-using packages to setup a go toolchain.
|
||||
# shellcheck source=scripts/build/setup/termux_setup_golang.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_golang.sh"
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
--- ./build/gen.py.orig 2021-08-09 14:54:18.428308993 +0530
|
||||
+++ ./build/gen.py 2021-08-09 14:55:03.628308976 +0530
|
||||
@@ -785,6 +785,8 @@
|
||||
executables['gn']['libs'].extend(static_libraries.keys())
|
||||
executables['gn_unittests']['libs'].extend(static_libraries.keys())
|
||||
|
||||
+ del executables['gn_unittests']
|
||||
+
|
||||
WriteGenericNinja(path, static_libraries, executables, cxx, ar, ld,
|
||||
platform, host, options, cflags, ldflags,
|
||||
libflags, include_dirs, libs)
|
|
@ -0,0 +1,50 @@
|
|||
TERMUX_PKG_HOMEPAGE=https://gn.googlesource.com/gn
|
||||
TERMUX_PKG_DESCRIPTION="Meta-build system that generates build files for Ninja"
|
||||
TERMUX_PKG_LICENSE="BSD 3-Clause"
|
||||
TERMUX_PKG_MAINTAINER="Yaksh Bariya <yakshbari4@gmail.com>"
|
||||
# While updating commit hash here also update it in
|
||||
# termux_setup_gn
|
||||
_COMMIT=69ec4fca1fa69ddadae13f9e6b7507efa0675263
|
||||
TERMUX_PKG_VERSION=0.1
|
||||
TERMUX_PKG_RECOMMENDS="ninja"
|
||||
TERMUX_PKG_SKIP_SRC_EXTRACT=true
|
||||
TERMUX_PKG_BUILD_IN_SRC=true
|
||||
|
||||
termux_step_get_source() {
|
||||
TERMUX_PKG_SRCURL=https://gn.googlesource.com/gn/+archive/$_COMMIT.tar.gz
|
||||
# Prevent caching of builds
|
||||
rm -rf $TERMUX_PKG_SRCDIR
|
||||
# FIXME: We would like to enable checksums when downloading
|
||||
# tar files, but they change each time as the tar metadata
|
||||
# differs: https://github.com/google/gitiles/issues/84
|
||||
GN_TARFILE=$TERMUX_PKG_CACHEDIR/gn_$_COMMIT.tar.gz
|
||||
test ! -f $GN_TARFILE && termux_download \
|
||||
$TERMUX_PKG_SRCURL \
|
||||
$GN_TARFILE \
|
||||
SKIP_CHECKSUM
|
||||
mkdir -p $TERMUX_PKG_SRCDIR
|
||||
tar xf $GN_TARFILE -C $TERMUX_PKG_SRCDIR
|
||||
}
|
||||
|
||||
termux_step_configure() {
|
||||
./build/gen.py \
|
||||
--no-last-commit-position \
|
||||
--no-static-libstdc++
|
||||
|
||||
cat <<- EOF > ./out/last_commit_position.h
|
||||
#ifndef OUT_LAST_COMMIT_POSITION_H_
|
||||
#define OUT_LAST_COMMIT_POSITION_H_
|
||||
#define LAST_COMMIT_POSITION_NUM ${TERMUX_PKG_VERSION##0.}
|
||||
#define LAST_COMMIT_POSITION "${TERMUX_PKG_VERSION}"
|
||||
#endif // OUT_LAST_COMMIT_POSITION_H_
|
||||
EOF
|
||||
}
|
||||
|
||||
termux_step_make() {
|
||||
termux_setup_ninja
|
||||
ninja -C out/
|
||||
}
|
||||
|
||||
termux_step_make_install() {
|
||||
install -Dm755 -t $TERMUX_PREFIX/bin out/gn
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
termux_setup_gn() {
|
||||
termux_setup_ninja
|
||||
local GN_COMMIT=69ec4fca1fa69ddadae13f9e6b7507efa0675263
|
||||
local GN_TARFILE=$TERMUX_COMMON_CACHEDIR/gn_$GN_COMMIT.tar.gz
|
||||
local GN_SOURCE=https://gn.googlesource.com/gn/+archive/$GN_COMMIT.tar.gz
|
||||
|
||||
if [ "${TERMUX_PACKAGES_OFFLINE-false}" = "true" ]; then
|
||||
GN_FOLDER=$TERMUX_SCRIPTDIR/build-tools/gn-$GN_COMMIT
|
||||
else
|
||||
GN_FOLDER=$TERMUX_COMMON_CACHEDIR/gn-$GN_COMMIT
|
||||
fi
|
||||
|
||||
if [ "$TERMUX_ON_DEVICE_BUILD" = "false" ]; then
|
||||
if [ ! -d "$GN_FOLDER" ]; then
|
||||
# FIXME: We would like to enable checksums when downloading
|
||||
# tar files, but they change each time as the tar metadata
|
||||
# differs: https://github.com/google/gitiles/issues/84
|
||||
termux_download \
|
||||
$GN_SOURCE \
|
||||
$GN_TARFILE \
|
||||
SKIP_CHECKSUM
|
||||
mkdir -p $GN_FOLDER
|
||||
tar xf $GN_TARFILE -C $GN_FOLDER
|
||||
local LAST_PWD=$(pwd)
|
||||
cd $GN_FOLDER
|
||||
(
|
||||
unset CC CXX CFLAGS CXXFLAGS LD LDFLAGS AR AS CPP OBJCOPY OBJDUMP RANLIB READELF STRIP
|
||||
./build/gen.py \
|
||||
--no-last-commit-position
|
||||
cat <<-EOF >./out/last_commit_position.h
|
||||
#ifndef OUT_LAST_COMMIT_POSITION_H_
|
||||
#define OUT_LAST_COMMIT_POSITION_H_
|
||||
#define LAST_COMMIT_POSITION_NUM 1
|
||||
#define LAST_COMMIT_POSITION "${GN_COMMIT}"
|
||||
#endif // OUT_LAST_COMMIT_POSITION_H_
|
||||
EOF
|
||||
ninja -C out/
|
||||
)
|
||||
cd $LAST_PWD
|
||||
fi
|
||||
export PATH=$GN_FOLDER/out:$PATH
|
||||
else
|
||||
if [ "$(dpkg-query -W -f '${db:Status-Status}\n' gn 2>/dev/null)" != "installed" ]; then
|
||||
echo "Package 'gn' is not installed."
|
||||
echo "You can install it with"
|
||||
echo
|
||||
echo " pkg install gn"
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
Loading…
Reference in New Issue