2017-02-03 22:46:56 +01:00
|
|
|
TERMUX_PKG_HOMEPAGE=https://git-scm.com/
|
2017-10-31 19:11:21 +01:00
|
|
|
TERMUX_PKG_DESCRIPTION="Fast, scalable, distributed revision control system"
|
2019-01-21 13:53:58 +01:00
|
|
|
TERMUX_PKG_LICENSE="GPL-2.0"
|
2020-11-06 23:24:22 +01:00
|
|
|
TERMUX_PKG_VERSION=2.29.2
|
2019-06-09 13:01:51 +02:00
|
|
|
TERMUX_PKG_SRCURL=https://www.kernel.org/pub/software/scm/git/git-${TERMUX_PKG_VERSION}.tar.xz
|
2020-11-06 23:24:22 +01:00
|
|
|
TERMUX_PKG_SHA256=f2fc436ebe657821a1360bcd1e5f4896049610082419143d60f6fa13c2f607c1
|
2020-01-26 19:24:00 +01:00
|
|
|
TERMUX_PKG_DEPENDS="libcurl, libiconv, less, openssl, pcre2, zlib"
|
2019-06-09 13:01:51 +02:00
|
|
|
|
2015-12-02 12:24:10 +01:00
|
|
|
## This requires a working $TERMUX_PREFIX/bin/sh on the host building:
|
2017-02-03 22:46:56 +01:00
|
|
|
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
|
|
|
ac_cv_fread_reads_directories=yes
|
|
|
|
ac_cv_header_libintl_h=no
|
2020-01-14 11:07:09 +01:00
|
|
|
ac_cv_iconv_omits_bom=no
|
2017-02-03 22:46:56 +01:00
|
|
|
ac_cv_snprintf_returns_bogus=no
|
|
|
|
--with-curl
|
|
|
|
--with-shell=$TERMUX_PREFIX/bin/sh
|
2020-01-26 19:12:17 +01:00
|
|
|
--with-tcltk=$TERMUX_PREFIX/bin/wish
|
2017-02-03 22:46:56 +01:00
|
|
|
"
|
2015-06-13 01:03:31 +02:00
|
|
|
# expat is only used by git-http-push for remote lock management over DAV, so disable:
|
2015-07-09 02:46:57 +02:00
|
|
|
# NO_INSTALL_HARDLINKS to use symlinks instead of hardlinks (which does not work on Android M):
|
2018-06-23 23:52:54 +02:00
|
|
|
TERMUX_PKG_EXTRA_MAKE_ARGS="
|
|
|
|
NO_NSEC=1
|
|
|
|
NO_GETTEXT=1
|
|
|
|
NO_EXPAT=1
|
|
|
|
NO_INSTALL_HARDLINKS=1
|
|
|
|
PERL_PATH=$TERMUX_PREFIX/bin/perl
|
|
|
|
USE_LIBPCRE2=1
|
|
|
|
"
|
2019-08-12 17:28:41 +02:00
|
|
|
TERMUX_PKG_BUILD_IN_SRC=true
|
2015-06-13 01:03:31 +02:00
|
|
|
|
|
|
|
# Things to remove to save space:
|
|
|
|
# bin/git-cvsserver - server emulating CVS
|
|
|
|
# bin/git-shell - restricted login shell for Git-only SSH access
|
2017-02-03 22:46:56 +01:00
|
|
|
TERMUX_PKG_RM_AFTER_INSTALL="
|
|
|
|
bin/git-cvsserver
|
|
|
|
bin/git-shell
|
|
|
|
libexec/git-core/git-shell
|
|
|
|
libexec/git-core/git-cvsserver
|
|
|
|
share/man/man1/git-cvsserver.1
|
|
|
|
share/man/man1/git-shell.1
|
|
|
|
"
|
2016-03-25 04:00:20 +01:00
|
|
|
|
2019-02-08 10:37:29 +01:00
|
|
|
termux_step_pre_configure() {
|
2019-08-08 14:25:54 +02:00
|
|
|
# Certain packages are not safe to build on device because their
|
|
|
|
# build.sh script deletes specific files in $TERMUX_PREFIX.
|
2019-08-12 17:28:41 +02:00
|
|
|
if $TERMUX_ON_DEVICE_BUILD; then
|
2019-08-08 14:25:54 +02:00
|
|
|
termux_error_exit "Package '$TERMUX_PKG_NAME' is not safe for on-device builds."
|
|
|
|
fi
|
|
|
|
|
2016-03-25 04:00:20 +01:00
|
|
|
# Setup perl so that the build process can execute it:
|
|
|
|
rm -f $TERMUX_PREFIX/bin/perl
|
2019-02-12 09:41:30 +01:00
|
|
|
ln -s $(which perl) $TERMUX_PREFIX/bin/perl
|
2016-03-25 04:00:20 +01:00
|
|
|
|
|
|
|
# Force fresh perl files (otherwise files from earlier builds
|
|
|
|
# remains without bumped modification times, so are not picked
|
|
|
|
# up by the package):
|
|
|
|
rm -Rf $TERMUX_PREFIX/share/git-perl
|
2017-05-07 09:40:41 +02:00
|
|
|
|
|
|
|
# Fixes build if utfcpp is installed:
|
|
|
|
CPPFLAGS="-I$TERMUX_PKG_SRCDIR $CPPFLAGS"
|
2016-03-25 04:00:20 +01:00
|
|
|
}
|
2015-06-13 01:03:31 +02:00
|
|
|
|
2019-03-18 20:13:48 +01:00
|
|
|
termux_step_make() {
|
|
|
|
make -j $TERMUX_MAKE_PROCESSES $TERMUX_PKG_EXTRA_MAKE_ARGS
|
|
|
|
make -j $TERMUX_MAKE_PROCESSES -C contrib/subtree $TERMUX_PKG_EXTRA_MAKE_ARGS
|
|
|
|
}
|
|
|
|
|
|
|
|
termux_step_make_install() {
|
|
|
|
make $TERMUX_PKG_EXTRA_MAKE_ARGS install
|
|
|
|
make -C contrib/subtree $TERMUX_PKG_EXTRA_MAKE_ARGS install
|
|
|
|
|
2015-06-13 01:03:31 +02:00
|
|
|
# Installing man requires asciidoc and xmlto, so git uses separate make targets for man pages
|
2018-08-25 23:52:56 +02:00
|
|
|
make -j $TERMUX_MAKE_PROCESSES install-man
|
2019-03-18 20:13:48 +01:00
|
|
|
make -j $TERMUX_MAKE_PROCESSES -C contrib/subtree install-man
|
|
|
|
}
|
2016-01-24 23:26:52 +01:00
|
|
|
|
2019-03-18 20:13:48 +01:00
|
|
|
termux_step_post_make_install() {
|
2016-01-24 23:26:52 +01:00
|
|
|
mkdir -p $TERMUX_PREFIX/etc/bash_completion.d/
|
|
|
|
cp $TERMUX_PKG_SRCDIR/contrib/completion/git-completion.bash \
|
2018-11-06 13:34:15 +01:00
|
|
|
$TERMUX_PKG_SRCDIR/contrib/completion/git-prompt.sh \
|
2016-01-24 23:26:52 +01:00
|
|
|
$TERMUX_PREFIX/etc/bash_completion.d/
|
2016-03-25 04:00:20 +01:00
|
|
|
|
|
|
|
# Remove the build machine perl setup in termux_step_pre_configure to avoid it being packaged:
|
|
|
|
rm $TERMUX_PREFIX/bin/perl
|
|
|
|
|
|
|
|
# Remove clutter:
|
|
|
|
rm -Rf $TERMUX_PREFIX/lib/*-linux*/perl
|
2017-02-03 22:46:56 +01:00
|
|
|
|
|
|
|
# Remove duplicated binaries in bin/ with symlink to the one in libexec/git-core:
|
|
|
|
(cd $TERMUX_PREFIX/bin; ln -s -f ../libexec/git-core/git git)
|
|
|
|
(cd $TERMUX_PREFIX/bin; ln -s -f ../libexec/git-core/git-upload-pack git-upload-pack)
|
2015-06-13 01:03:31 +02:00
|
|
|
}
|
2016-01-25 12:28:25 +01:00
|
|
|
|
2019-02-08 10:37:29 +01:00
|
|
|
termux_step_post_massage() {
|
2016-01-25 12:28:25 +01:00
|
|
|
if [ ! -f libexec/git-core/git-remote-https ]; then
|
2017-03-05 03:30:38 +01:00
|
|
|
termux_error_exit "Git built without https support"
|
2016-01-25 12:28:25 +01:00
|
|
|
fi
|
|
|
|
}
|