# Template file for 'git'
pkgname=git
version=2.19.1
revision=1
build_style=gnu-configure
configure_args="--with-curl --with-expat --with-tcltk --with-libpcre2
 ac_cv_fread_reads_directories=no ac_cv_snprintf_returns_bogus=no"
make_install_args="NO_INSTALL_HARDLINKS=1 INSTALLDIRS=vendor
 perllibdir=/usr/share/perl5/vendor_perl"
hostmakedepends="asciidoc perl tk xmlto"
makedepends="libcurl-devel pcre2-devel tk-devel"
# Required by https://
depends="ca-certificates perl-Authen-SASL perl-MIME-tools perl-Net-SMTP-SSL"
replaces="git-perl>=0"
short_desc="Git Tree History Storage Tool"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
license="GPL-2.0-only"
homepage="https://git-scm.com/"
changelog="https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/${version}.txt"
distfiles="https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"
checksum=345056aa9b8084280b1b9fe1374d232dec05a34e8849028a20bfdb56e920dbb5
make_check_target=test

subpackages="git-cvs git-svn gitk git-gui git-all"

post_build() {
	make ${makejobs} -C Documentation man
	make ${makejobs} -C contrib/subtree all git-subtree.1
}
post_install() {
	make NO_INSTALL_HARDLINKS=1 DESTDIR=${DESTDIR} install-doc
	vinstall contrib/completion/git-completion.bash 644 \
		usr/share/bash-completion/completions git
	vinstall contrib/completion/git-prompt.sh 644 usr/share/git
	make -C contrib/subtree DESTDIR=${DESTDIR} prefix=/usr install install-man
}

git-cvs_package() {
	noarch=yes
	depends="${sourcepkg}-${version}_${revision} cvs cvsps2 perl-DBD-SQLite"
	short_desc+=" - CVS support"
	pkg_install() {
		vmove usr/bin/git-cvsserver
		vmove usr/libexec/git-core/git-cvsexportcommit
		vmove usr/libexec/git-core/git-cvsimport
		vmove usr/libexec/git-core/git-cvsserver
		vmove usr/share/man/man1/git-cvsexportcommit.1
		vmove usr/share/man/man1/git-cvsimport.1
		vmove usr/share/man/man1/git-cvsserver.1
	}
}
git-svn_package() {
	depends="${sourcepkg}-${version}_${revision} subversion-perl perl-Term-ReadKey"
	short_desc+=" - Subversion support"
	pkg_install() {
		vmove "usr/share/perl5/vendor_perl/Git/SVN*"
		vmove usr/libexec/git-core/git-remote-testsvn
		vmove usr/libexec/git-core/git-svn
		vmove usr/share/man/man1/git-svn.1
	}
}
gitk_package() {
	noarch=yes
	depends="git-${version}_${revision} tk"
	short_desc="The Git repository browser"
	pkg_install() {
		vmove usr/bin/gitk
		vmove usr/share/gitk
		vmove usr/share/man/man1/gitk.1
	}
}
git-gui_package() {
	noarch=yes
	depends="git-${version}_${revision} tk"
	short_desc+=" - GUI tool"
	pkg_install() {
		vmove usr/libexec/git-core/git-gui--askpass
		vmove usr/libexec/git-core/git-gui
		vmove usr/share/man/man1/git-gui.1
		vmove usr/share/git-gui
	}
}
git-all_package() {
	build_style=meta
	noarch=yes
	depends="${subpackages/git-all/}"
	short_desc+=" - meta-package for complete Git installation"
}
