Git updated to 2.8 (fixed)

This commit is contained in:
Zoltan Mizsei
2016-03-29 11:15:31 +02:00
parent 0a34f87dd8
commit 12110cd91f
2 changed files with 351 additions and 0 deletions

View File

@@ -0,0 +1,223 @@
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-2016 Git Authors (see git web site for list)"
SOURCE_URI="https://www.kernel.org/pub/software/scm/git/git-$portVersion.tar.xz"
CHECKSUM_SHA256="9a099a4f1e68c0446800f0c538ce7d5d24bd5b4ee5d559317600cd407a59e74c"
PATCHES="git-$portVersion.patchset"
SOURCE_URI_2="https://www.kernel.org/pub/software/scm/git/git-manpages-$portVersion.tar.xz"
CHECKSUM_SHA256_2="2945558be9e16de71a67f00fe3f6bdd8ca24977389a86ef9a077ce73612fb353"
SOURCE_URI_3="https://www.kernel.org/pub/software/scm/git/git-htmldocs-$portVersion.tar.xz"
CHECKSUM_SHA256_3="515bee47dbb1f1c345eae394e14f82009865529aaf0c201301defee32512a7c6"
REVISION="1"
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
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
"
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=$portPackageLinksDir/cmd~perl/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
# 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
}

View File

@@ -0,0 +1,128 @@
From fc9ad1e70a926bf499369ffdb4423acb15eeb8a4 Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Tue, 13 Aug 2013 08:07:25 +0200
Subject: git-web--browse.sh: use "open" on Haiku
diff --git a/git-web--browse.sh b/git-web--browse.sh
index ae15253..1f6e306 100755
--- a/git-web--browse.sh
+++ b/git-web--browse.sh
@@ -132,6 +132,10 @@ if test -z "$browser" ; then
if test -x /usr/bin/cygstart; then
browser_candidates="cygstart $browser_candidates"
fi
+ # /boot/system/haiku_loader indicates Haiku
+ if test -f /boot/system/haiku_loader; then
+ browser_candidates="open $browser_candidates"
+ fi
for i in $browser_candidates; do
init_browser_path $i
--
2.7.0
From 5fcb76ee57c563a202ba82baabf45b98254ac4ea Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Mon, 19 Jan 2015 15:37:16 -0500
Subject: On Haiku use the user settings directory instead of HOME
diff --git a/path.c b/path.c
index 3cd155e..a258488 100644
--- a/path.c
+++ b/path.c
@@ -6,6 +6,11 @@
#include "string-list.h"
#include "dir.h"
+#ifdef __HAIKU__
+#include <FindDirectory.h>
+#include <StorageDefs.h>
+#endif
+
static int get_st_mode_bits(const char *path, int *mode)
{
struct stat st;
@@ -1186,10 +1191,18 @@ char *xdg_config_home(const char *filename)
{
const char *home, *config_home;
+#ifdef __HAIKU__
+ char settingsPath[B_PATH_NAME_LENGTH];
assert(filename);
+ if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, true, settingsPath,
+ sizeof(settingsPath)) == B_OK)
+ return mkpathdup("%s/git/%s", settingsPath, filename);
+#else
config_home = getenv("XDG_CONFIG_HOME");
+ assert(filename);
if (config_home && *config_home)
return mkpathdup("%s/git/%s", config_home, filename);
+#endif
home = getenv("HOME");
if (home)
--
2.7.0
From b5c943af488c6432f4cafda86b2cf36cbb1397a4 Mon Sep 17 00:00:00 2001
From: Oliver Tappe <zooey@hirschkaefer.de>
Date: Mon, 19 Jan 2015 15:50:09 -0500
Subject: Ensure config-directory exists before using it.
diff --git a/config.c b/config.c
index 86a5eb2..fee1d81 100644
--- a/config.c
+++ b/config.c
@@ -1958,6 +1958,7 @@ int git_config_set_multivar_in_file(const char *config_filename,
int ret;
struct lock_file *lock = NULL;
char *filename_buf = NULL;
+ char *config_dir = NULL;
char *contents = NULL;
size_t contents_sz;
@@ -1971,6 +1972,12 @@ int git_config_set_multivar_in_file(const char *config_filename,
if (!config_filename)
config_filename = filename_buf = git_pathdup("config");
+ config_dir = xstrdup(config_filename);
+ * find_last_dir_sep(config_dir) = '\0';
+ if (access(config_dir, F_OK) != 0)
+ mkdir(config_dir, 0755);
+ free(config_dir);
+
/*
* The lock serves a purpose in addition to locking: the new
* contents of .git/config will be written into it.
--
2.7.0
From 381c60e6253fdd4df55e32df25f470e0fa58efec Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 14 Feb 2016 10:32:12 +0100
Subject: Move credential cache to the config directory.
Do not clutter the home dir.
diff --git a/credential-cache.c b/credential-cache.c
index f4afdc6..19a150e 100644
--- a/credential-cache.c
+++ b/credential-cache.c
@@ -105,7 +105,7 @@ int main(int argc, const char **argv)
op = argv[0];
if (!socket_path)
- socket_path = expand_user_path("~/.git-credential-cache/socket");
+ socket_path = xdg_config_home("credential-cache/socket");
if (!socket_path)
die("unable to find a suitable socket path; use --socket");
--
2.7.0