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="https://git-scm.com/" COPYRIGHT="2005-2017 Git Authors (see git web site for list)" LICENSE="GNU GPL v2" REVISION="1" SOURCE_URI="https://www.kernel.org/pub/software/scm/git/git-$portVersion.tar.xz" CHECKSUM_SHA256="371a592a52d240a6350d4ec6b63cd8301e1fab6dd03388a339a8c7429305afda" SOURCE_URI_2="https://www.kernel.org/pub/software/scm/git/git-manpages-$portVersion.tar.xz" CHECKSUM_SHA256_2="674fa9a299cbcb91e49affd7dfd69952be1ee88cb7a3d5ee5b294e7da29b5d52" SOURCE_URI_3="https://www.kernel.org/pub/software/scm/git/git-htmldocs-$portVersion.tar.xz" CHECKSUM_SHA256_3="1dbb459cf47f0023456fde9d0155aa858540479e258fbf2c808c5c4fd9f44f93" PATCHES="git-$portVersion.patchset" ARCHITECTURES="x86_gcc2 x86 x86_64" PROVIDES=" git = $portVersion compat >= 2.3 cmd:git = $portVersion compat >= 2.3 cmd:git_receive_pack = $portVersion compat >= 2.3 cmd:git_shell = $portVersion compat >= 2.3 cmd:git_upload_archive = $portVersion compat >= 2.3 cmd:git_upload_pack = $portVersion compat >= 2.3 " PROVIDES_arch=" git_arch = $portVersion compat >= 2.3 cmd:git_archimport = $portVersion compat >= 2.3 " PROVIDES_cvs=" git_cvs = $portVersion compat >= 2.3 cmd:git_cvsimport = $portVersion compat >= 2.3 cmd:git_cvsserver = $portVersion compat >= 2.3 " PROVIDES_daemon=" git_daemon = $portVersion compat >= 2.3 cmd:git_daemon = $portVersion compat >= 2.3 " PROVIDES_email=" git_email = $portVersion compat >= 2.3 cmd:git_send_email = $portVersion compat >= 2.3 " PROVIDES_source=" git_source = $portVersion compat >= 2.3 " PROVIDES_svn=" git_svn = $portVersion compat >= 2.3 cmd:git_svn = $portVersion compat >= 2.3 " REQUIRES=" haiku cmd:man cmd:nano cmd:perl >= 5 cmd:python lib:libcurl lib:libexpat lib:libiconv lib:libintl lib:libpcre lib:libssl lib:libz vendor_perl " REQUIRES_arch=" haiku git == $portVersion base " REQUIRES_cvs=" haiku git == $portVersion base cmd:cvsps " REQUIRES_daemon=" haiku lib:libcrypto lib:libiconv lib:libintl lib:libpcre lib:libz git == $portVersion base " REQUIRES_email=" haiku git == $portVersion base " REQUIRES_svn=" haiku git == $portVersion base " BUILD_REQUIRES=" cmd:man cmd:nano cmd:perl devel:libcurl devel:libexpat devel:libiconv devel:libintl devel:libpcre devel:libssl devel:libz " BUILD_PREREQUIRES=" haiku_devel cmd:find cmd:gcc cmd:gettext cmd:ld cmd:make cmd:msgfmt cmd:sed cmd:tar " USER_SETTINGS_FILES=" settings/git directory " GLOBAL_WRITABLE_FILES=" settings/gitconfig keep-old " makeGit() { make prefix=$prefix \ bindir_relative=$relativeBinDir \ mandir=$manDir \ infodir=$infoDir \ gitexecdir=$libDir/git-core \ sharedir=$dataDir \ template_dir=$dataDir/git-core/templates \ htmldir=$docDir \ sysconfdir=$sysconfDir \ PTHREAD_LIBS= \ USE_LIBPCRE=YesPlease \ NO_D_TYPE_IN_DIRENT=YesPlease \ NO_MEMMEM=YesPlease \ NO_MKSTEMPS=YesPlease \ NEEDS_LIBICONV=YesPlease \ NO_R_TO_GCC_LINKER=YesPlease \ GNU_ROFF=YesPlease \ PERL_PATH=/bin/perl \ NO_PYTHON=YesPlease \ NO_TCLTK=YesPlease \ OBJECT_CREATION_USES_RENAMES=YesPlease \ NO_CROSS_DIRECTORY_HARDLINKS=YesPlease \ NO_INSTALL_HARDLINKS=YesPlease \ HAVE_DEV_TTY=YesPlease \ DEFAULT_EDITOR=nano \ DEFAULT_HELP_FORMAT=web \ BASIC_LDFLAGS="-lnetwork -lbsd" \ "$@" } BUILD() { makeGit $jobArgs makeGit strip } INSTALL() { makeGit install # copy manpages mkdir -p $manDir cp -rd $sourceDir2/* $manDir/ # copy html documentation htmlDir=$docDir mkdir -p $htmlDir cp -rd $sourceDir3/*.html $htmlDir/ rm $htmlDir/git-gui.html # Default system-wide gitconfig. Settings in this file are only used # if they are unset both for the repository and globally (global options # are saved in the user settings file). # core.untrackedCache caches enumeration of untracked files and uses an # efficient method of determining whether the cache is out of date. This # is filesystem-dependent, but supported on BeFS. mkdir -p $sysconfDir printf "[core]\n untrackedCache = true" > $sysconfDir/gitconfig # replace copies of git binaries with symlinks cd $binDir for program in git*; do ln -sfn "../lib/git-core/$program" "$program" done packageEntries arch \ documentation/packages/git/git-archimport.html \ documentation/man/man1/git-archimport.1 \ lib/git-core/git-archimport packageEntries cvs \ bin/git-cvsserver \ documentation/packages/git/git-cvsexportcommit.html \ documentation/packages/git/git-cvsimport.html \ documentation/packages/git/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/git-credential-cache--daemon.html \ documentation/packages/git/git-credential-cache.html \ documentation/packages/git/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/git-send-email.html \ documentation/man/man1/git-send-email.1 \ lib/git-core/git-send-email packageEntries svn \ documentation/packages/git/git-svn.html \ documentation/man/man1/git-svn.1 \ lib/git-core/git-svn } TEST() { makeGit test }