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
|
# shellcheck source=scripts/build/setup/termux_setup_ghc.sh
|
||||||
source "$TERMUX_SCRIPTDIR/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.
|
# Utility function for golang-using packages to setup a go toolchain.
|
||||||
# shellcheck source=scripts/build/setup/termux_setup_golang.sh
|
# shellcheck source=scripts/build/setup/termux_setup_golang.sh
|
||||||
source "$TERMUX_SCRIPTDIR/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