termux-packages/packages/git/build.sh

72 lines
2.6 KiB
Bash
Raw Normal View History

TERMUX_PKG_HOMEPAGE=https://git-scm.com/
2017-10-31 19:11:21 +01:00
TERMUX_PKG_DESCRIPTION="Fast, scalable, distributed revision control system"
2017-07-14 18:06:35 +02:00
# less is required as a pager for git log, and the busybox less does not handle used escape sequences.
2017-09-07 16:29:40 +02:00
TERMUX_PKG_DEPENDS="libcurl, less, openssl"
2018-03-23 12:53:09 +01:00
TERMUX_PKG_VERSION=2.16.3
TERMUX_PKG_SHA256=d65d99e9e5b081c1f14ea018973806e942a2eb7d0da2ebc01bd2525adee62d48
2017-06-25 20:34:43 +02:00
TERMUX_PKG_SRCURL=https://www.kernel.org/pub/software/scm/git/git-${TERMUX_PKG_VERSION}.tar.xz
## This requires a working $TERMUX_PREFIX/bin/sh on the host building:
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
ac_cv_fread_reads_directories=yes
ac_cv_header_libintl_h=no
ac_cv_snprintf_returns_bogus=no
--with-curl
--without-tcltk
--with-shell=$TERMUX_PREFIX/bin/sh
"
2015-06-13 01:03:31 +02:00
# expat is only used by git-http-push for remote lock management over DAV, so disable:
# NO_INSTALL_HARDLINKS to use symlinks instead of hardlinks (which does not work on Android M):
TERMUX_PKG_EXTRA_MAKE_ARGS="NO_NSEC=1 NO_GETTEXT=1 NO_EXPAT=1 NO_INSTALL_HARDLINKS=1 PERL_PATH=$TERMUX_PREFIX/bin/perl"
2015-06-13 01:03:31 +02:00
TERMUX_PKG_BUILD_IN_SRC="yes"
# Things to remove to save space:
# bin/git-cvsserver - server emulating CVS
# bin/git-shell - restricted login shell for Git-only SSH access
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
"
termux_step_pre_configure () {
# Setup perl so that the build process can execute it:
rm -f $TERMUX_PREFIX/bin/perl
ln -s `which perl` $TERMUX_PREFIX/bin/perl
# 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
# Fixes build if utfcpp is installed:
CPPFLAGS="-I$TERMUX_PKG_SRCDIR $CPPFLAGS"
}
2015-06-13 01:03:31 +02:00
termux_step_post_make_install () {
# Installing man requires asciidoc and xmlto, so git uses separate make targets for man pages
make install-man
mkdir -p $TERMUX_PREFIX/etc/bash_completion.d/
cp $TERMUX_PKG_SRCDIR/contrib/completion/git-completion.bash \
$TERMUX_PREFIX/etc/bash_completion.d/
# 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
# 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
}
termux_step_post_massage () {
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"
fi
}