mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
git: add recipe for version 2.11.0.
This commit is contained in:
241
dev-vcs/git/git-2.11.0.recipe
Normal file
241
dev-vcs/git/git-2.11.0.recipe
Normal file
@@ -0,0 +1,241 @@
|
||||
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-2016 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="7e7e8d69d494892373b87007674be5820a4bc1ef596a0117d03ea3169119fd0b"
|
||||
|
||||
SOURCE_URI_2="https://www.kernel.org/pub/software/scm/git/git-manpages-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256_2="b3d3e78829c0b69b727aaca407ecfe239a46db3f354f16189f7a7c10af9528d8"
|
||||
|
||||
SOURCE_URI_3="https://www.kernel.org/pub/software/scm/git/git-htmldocs-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256_3="3975399f1be3d959edf0fded03eab8fbf94787bfd0318b7644c77cf61e4a7b48"
|
||||
|
||||
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
|
||||
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
|
||||
}
|
||||
128
dev-vcs/git/patches/git-2.11.0.patchset
Normal file
128
dev-vcs/git/patches/git-2.11.0.patchset
Normal file
@@ -0,0 +1,128 @@
|
||||
From 2d096b055bfc6b4ce12f780d7944f7639d9f00e0 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.10.2
|
||||
|
||||
|
||||
From d29dc93eb523f18e41bdb56f2383998913e0a340 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 52d889c..fc5a2ff 100644
|
||||
--- a/path.c
|
||||
+++ b/path.c
|
||||
@@ -8,6 +8,11 @@
|
||||
#include "worktree.h"
|
||||
#include "submodule-config.h"
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <FindDirectory.h>
|
||||
+#include <StorageDefs.h>
|
||||
+#endif
|
||||
+
|
||||
static int get_st_mode_bits(const char *path, int *mode)
|
||||
{
|
||||
struct stat st;
|
||||
@@ -1256,10 +1261,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.10.2
|
||||
|
||||
|
||||
From 231ca400b0392ead1a17255f4257a28f90bfc8c1 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 83fdecb..6c9fca1 100644
|
||||
--- a/config.c
|
||||
+++ b/config.c
|
||||
@@ -2083,6 +2083,7 @@ int git_config_set_multivar_in_file_gently(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;
|
||||
|
||||
@@ -2096,6 +2097,12 @@ int git_config_set_multivar_in_file_gently(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.10.2
|
||||
|
||||
|
||||
From 7044a4e19c25312ee6c69da23acfa4cedbe51887 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 cc8a6ee..4a672f9 100644
|
||||
--- a/credential-cache.c
|
||||
+++ b/credential-cache.c
|
||||
@@ -106,7 +106,7 @@ int cmd_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.10.2
|
||||
|
||||
Reference in New Issue
Block a user