# Template file for 'chroot-git'
pkgname=chroot-git
version=2.55.0
revision=1
bootstrap=yes
makedepends="zlib-devel"
short_desc="GIT Tree History Storage Tool -- for xbps-src use"
maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
license="GPL-2.0-only"
homepage="https://git-scm.com/"
distfiles="https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"
checksum=457fdb04dc8728e007d4688695e6912e6f680727920f2a40bf11eacc17505357
repository=bootstrap

if [ "$CHROOT_READY" ]; then
	checkdepends="perl gnupg"
	makedepends+=" libcurl-devel"
fi

do_configure() {
	cat <<-EOF >config.mak
	prefix = /usr
	CC = $CC
	AR = $AR
	TAR = $(command -v bsdtar || command -v tar)
	CFLAGS = $CFLAGS
	LDFLAGS = $LDFLAGS
	CC_LD_DYNPATH=-L
	NO_GETTEXT=Yes
	NO_OPENSSL = Yes
	USE_LIBPCRE :=
	USE_LIBPCRE2 :=
	NO_EXPAT = Yes
	NO_PERL = Yes
	NO_PYTHON = Yes
	NO_TCLTK = Yes
	NO_RUST = Yes # cargo is required for git 3.0
	# firstword (uname -m)
	HOST_CPU = ${XBPS_TARGET_MACHINE%-musl}
	SKIP_DASHED_BUILT_INS = Yes
	gitexecdir = libexec/chroot-git
	NO_STRLCPY =
	NEEDS_LIBRT =
	# https://lore.kernel.org/git/xmqqr02wbtdn.fsf@gitster.g/
	CSPRNG_METHOD = getrandom
	EOF

	if [ "$XBPS_TARGET_LIBC" = musl ]; then
		cat <<-EOF >>config.mak
		ICONV_OMITS_BOM = Yes
		NO_REGEX = Yes
		EOF
	fi
	if ! [ "$CHROOT_READY" ]; then
		cat <<-EOF >>config.mak
		ZLIB_PATH = ${XBPS_MASTERDIR}/usr
		NO_CURL = Yes
		EOF
	fi
}

do_build() {
	make ${makejobs} git
	if [ "$CHROOT_READY" ]; then
		make ${makejobs} git-http-fetch git-remote-http
	fi
}

do_check() {
	rm -f t/t7527-builtin-fsmonitor.sh
	make test ${makejobs}
}

do_install() {
	vmkdir usr/libexec/chroot-git
	vinstall git 755 usr/libexec/chroot-git
	ln -s git $DESTDIR/usr/libexec/chroot-git/git-upload-pack
	ln -s git $DESTDIR/usr/libexec/chroot-git/git-receive-pack
	if [ "$CHROOT_READY" ]; then
		vinstall git-http-fetch 755 usr/libexec/chroot-git
		vinstall git-remote-http 755 usr/libexec/chroot-git
		ln -s git-remote-http \
			$DESTDIR/usr/libexec/chroot-git/git-remote-https
	fi
}
