SUMMARY="Fast, scalable, distributed revision control system"
DESCRIPTION="
Git is a free and open source distributed version control system designed to \
handle everything from small to very large projects with speed and efficiency.
Git is easy to learn and has a tiny footprint with lightning fast performance. \
It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with \
features like cheap local branching, convenient staging areas, and multiple \
workflows.
"
HOMEPAGE="http://git-scm.com/" 
LICENSE="GNU GPL v2"
COPYRIGHT="2005-2012 Git Authors (see git web site for list)"

SRC_URI="http://git-core.googlecode.com/files/git-1.7.10.2.tar.gz"
CHECKSUM_SHA256="335e978814659f328e377715b13a33336859275ae6f215bf28bbbb2ae711bb43"
PATCHES="git-1.7.10.2.patch"

SRC_URI_2="http://git-core.googlecode.com/files/git-manpages-1.7.10.2.tar.gz"
CHECKSUM_SHA256_2="bc57810ec8d87f7a10f320e31ceeb1f9eaf254e62e0f6414af67f17d0cf7d522"

SRC_URI_3="http://git-core.googlecode.com/files/git-htmldocs-1.7.10.2.tar.gz"
CHECKSUM_SHA256_3="4cb17519eb621060d657c71ba8b10d755a6ea71123642ed6cc73d24ce8f0b734"

REVISION="2"

ARCHITECTURES="x86_gcc2 ?x86"

PROVIDES="
	git = $portVersion compat >= 1.7
	cmd:git = $portVersion compat >= 1.7
	cmd:git_receive_pack = $portVersion compat >= 1.7
	cmd:git_shell = $portVersion compat >= 1.7
	cmd:git_upload_archive = $portVersion compat >= 1.7
	cmd:git_upload_pack = $portVersion compat >= 1.7
	"
PROVIDES_arch="
	git_arch = $portVersion compat >= 1.7
	cmd:git_archimport = $portVersion compat >= 1.7
	"
PROVIDES_cvs="
	git_cvs = $portVersion compat >= 1.7
	cmd:git_cvsserver = $portVersion compat >= 1.7
	"
PROVIDES_daemon="
	git_daemon = $portVersion compat >= 1.7
	cmd:git_daemon = $portVersion compat >= 1.7
	"
PROVIDES_email="
	git_email = $portVersion compat >= 1.7
	cmd:git_send_email = $portVersion compat >= 1.7
	"
PROVIDES_source="
	git_source = $portVersion compat >= 1.7
	"
PROVIDES_svn="
	git_svn = $portVersion compat >= 1.7
	cmd:git_svn = $portVersion compat >= 1.7
	"

REQUIRES="
	haiku >= $haikuVersion
	cmd:man
	cmd:nano
	cmd:perl
	cmd:python
	lib:libcurl
	lib:libexpat
	lib:libssl
	lib:libz
	"
REQUIRES_arch="
	haiku >= $haikuVersion
	git == $portVersion base
	"
REQUIRES_cvs="
	haiku >= $haikuVersion
	git == $portVersion base
	"
REQUIRES_daemon="
	haiku >= $haikuVersion
	git == $portVersion base
	"
REQUIRES_email="
	haiku >= $haikuVersion
	git == $portVersion base
	"
REQUIRES_svn="
	haiku >= $haikuVersion
	git == $portVersion base
	"
	
BUILD_REQUIRES="
	cmd:man
	cmd:nano
	cmd:perl
	cmd:python
	devel:libcurl
	devel:libexpat
	devel:libssl
	devel:libz
	"

BUILD_PREREQUIRES="
	haiku_devel >= $haikuVersion
	cmd:gcc
	cmd:ld
	cmd:make
	cmd:sed
	cmd:tar
	"

BUILD()
{
	make
}

INSTALL()
{
	make strip 
	make install
	
	# replace copies of git binaries with symlinks
	cd $prefix/bin
	for program in git*; do 
		ln -sfn "../lib/git-core/$program" "$program"
	done

	# copy manpages
	mkdir -p $manDir
	cp -rd $sourceDir2/* $manDir/

	# copy html documentation
	htmlDir=$docDir/html
	mkdir -p $htmlDir
	cp -rd $sourceDir3/*.html $htmlDir/
	rm $htmlDir/git-gui.html

	# copy asciidoc documentation for which there isn't any corresponding html
	asciidocDir=$docDir/asciidoc
	mkdir -p $asciidocDir
	for f in $sourceDir3/*.txt; do
		html=$sourceDir3/$(basename $f .txt).html
		if ! [ -e $html ]; then
			cp -d $f $asciidocDir/
		fi
	done
	
	packageEntries arch \
		documentation/packages/git/html/git-archimport.html \
		documentation/man/man1/git-archimport.1 \
		lib/git-core/git-archimport
		
	packageEntries cvs \
		bin/git-cvsserver \
		documentation/packages/git/html/git-cvsexportcommit.html \
		documentation/packages/git/html/git-cvsimport.html \
		documentation/packages/git/html/git-cvsserver.html \
		documentation/man/man1/git-cvsexportcommit.1 \
		documentation/man/man1/git-cvsimport.1 \
		documentation/man/man1/git-cvsserver.1 \
		documentation/man/man7/gitcvs-migration.7 \
		lib/git-core/git-cvsexportcommit \
		lib/git-core/git-cvsimport \
		lib/git-core/git-cvsserver
	
	packageEntries daemon \
		documentation/packages/git/html/git-credential-cache--daemon.html \
		documentation/packages/git/html/git-credential-cache.html \
		documentation/packages/git/html/git-daemon.html \
		documentation/man/man1/git-credential-cache--daemon.1 \
		documentation/man/man1/git-credential-cache.1 \
		documentation/man/man1/git-daemon.1 \
		lib/git-core/git-credential-cache--daemon \
		lib/git-core/git-credential-cache \
		lib/git-core/git-daemon
		
	packageEntries email \
		documentation/packages/git/html/git-send-email.html \
		documentation/man/man1/git-send-email.1 \
		lib/git-core/git-send-email
		
	packageEntries svn \
		documentation/packages/git/html/git-svn.html \
		documentation/man/man1/git-svn.1 \
		lib/git-core/git-svn
}
