| 1 | TERMUX_PKG_HOMEPAGE=http://git-scm.com/ |
| 2 | TERMUX_PKG_DESCRIPTION="Distributed version control system designed to handle everything from small to very large projects with speed and efficiency" |
| 3 | # less is required as a pager for git log, and the busybox less does not handle used escape sequences. |
| 4 | TERMUX_PKG_DEPENDS="libcurl, less" |
| 5 | TERMUX_PKG_VERSION=2.10.1 |
| 6 | TERMUX_PKG_SHA256=a9c32df9061cfc2c194ecaa0357ba273c1f24a0dbf0d856b03dcedafcd0a4dc6 |
| 7 | TERMUX_PKG_SRCURL=https://www.kernel.org/pub/software/scm/git/git-${TERMUX_PKG_VERSION}.tar.xz |
| 8 | ## This requires a working $TERMUX_PREFIX/bin/sh on the host building: |
| 9 | TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--without-tcltk --with-curl --with-shell=$TERMUX_PREFIX/bin/sh ac_cv_header_libintl_h=no ac_cv_fread_reads_directories=yes ac_cv_snprintf_returns_bogus=yes" |
| 10 | # expat is only used by git-http-push for remote lock management over DAV, so disable: |
| 11 | # NO_INSTALL_HARDLINKS to use symlinks instead of hardlinks (which does not work on Android M): |
| 12 | TERMUX_PKG_EXTRA_MAKE_ARGS="NO_NSEC=1 NO_GETTEXT=1 NO_EXPAT=1 NO_INSTALL_HARDLINKS=1 PERL_PATH=$TERMUX_PREFIX/bin/perl" |
| 13 | TERMUX_PKG_BUILD_IN_SRC="yes" |
| 14 | |
| 15 | # Things to remove to save space: |
| 16 | # bin/git-cvsserver - server emulating CVS |
| 17 | # bin/git-shell - restricted login shell for Git-only SSH access |
| 18 | TERMUX_PKG_RM_AFTER_INSTALL="bin/git-cvsserver bin/git-shell Library" |
| 19 | |
| 20 | termux_step_pre_configure () { |
| 21 | # Setup perl so that the build process can execute it: |
| 22 | rm -f $TERMUX_PREFIX/bin/perl |
| 23 | ln -s `which perl` $TERMUX_PREFIX/bin/perl |
| 24 | |
| 25 | # Force fresh perl files (otherwise files from earlier builds |
| 26 | # remains without bumped modification times, so are not picked |
| 27 | # up by the package): |
| 28 | rm -Rf $TERMUX_PREFIX/share/git-perl |
| 29 | } |
| 30 | |
| 31 | termux_step_post_make_install () { |
| 32 | # Installing man requires asciidoc and xmlto, so git uses separate make targets for man pages |
| 33 | make install-man |
| 34 | |
| 35 | mkdir -p $TERMUX_PREFIX/etc/bash_completion.d/ |
| 36 | cp $TERMUX_PKG_SRCDIR/contrib/completion/git-completion.bash \ |
| 37 | $TERMUX_PREFIX/etc/bash_completion.d/ |
| 38 | |
| 39 | # Remove the build machine perl setup in termux_step_pre_configure to avoid it being packaged: |
| 40 | rm $TERMUX_PREFIX/bin/perl |
| 41 | |
| 42 | # Remove clutter: |
| 43 | rm -Rf $TERMUX_PREFIX/lib/*-linux*/perl |
| 44 | } |
| 45 | |
| 46 | termux_step_post_massage () { |
| 47 | # Remove perl if the symlink setup in pre_configure |
| 48 | # causes it to be included. |
| 49 | rm -Rf bin/perl* |
| 50 | |
| 51 | if [ ! -f libexec/git-core/git-remote-https ]; then |
| 52 | echo "ERROR: Built without https support" |
| 53 | exit 1 |
| 54 | fi |
| 55 | } |