Files
haikuports/dev-vcs/git/git-2.12.2.recipe
Jérôme Duval 454940d466 Bump revisions for x86_64 rebuild after time_t change.
* make gawk compatible with version 3.
* add some prerequisites for icu.
2017-06-12 17:40:24 -04:00

247 lines
5.9 KiB
Bash

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="2"
SOURCE_URI="https://www.kernel.org/pub/software/scm/git/git-$portVersion.tar.xz"
CHECKSUM_SHA256="d21a9e23506e618d561fb25a8a7bd6134f927b86147930103487117a7a678c4a"
SOURCE_URI_2="https://www.kernel.org/pub/software/scm/git/git-manpages-$portVersion.tar.xz"
CHECKSUM_SHA256_2="7ed1da04e6b0f7fb54a3c7546c6a30fe999b5c8ffcf5e3418521e7550b7f9558"
SOURCE_URI_3="https://www.kernel.org/pub/software/scm/git/git-htmldocs-$portVersion.tar.xz"
CHECKSUM_SHA256_3="6f656085c2fdca94df1cc3eb8624c38099f920318c428e34ef0333ecf7f4cd59"
PATCHES="git-$portVersion.patchset"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PROVIDES="
git = $portVersion compat >= 2.2
cmd:git = $portVersion compat >= 2.2
cmd:git_receive_pack = $portVersion compat >= 2.2
cmd:git_shell = $portVersion compat >= 2.2
cmd:git_upload_archive = $portVersion compat >= 2.2
cmd:git_upload_pack = $portVersion compat >= 2.2
"
PROVIDES_arch="
git_arch = $portVersion compat >= 2.2
cmd:git_archimport = $portVersion compat >= 2.2
"
PROVIDES_cvs="
git_cvs = $portVersion compat >= 2.2
cmd:git_cvsimport = $portVersion compat >= 2.2
cmd:git_cvsserver = $portVersion compat >= 2.2
"
PROVIDES_daemon="
git_daemon = $portVersion compat >= 2.2
cmd:git_daemon = $portVersion compat >= 2.2
"
PROVIDES_email="
git_email = $portVersion compat >= 2.2
cmd:git_send_email = $portVersion compat >= 2.2
"
PROVIDES_source="
git_source = $portVersion compat >= 2.2
"
PROVIDES_svn="
git_svn = $portVersion compat >= 2.2
cmd:git_svn = $portVersion compat >= 2.2
"
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
}