aboutsummaryrefslogtreecommitdiff
path: root/extra/git
diff options
context:
space:
mode:
Diffstat (limited to 'extra/git')
-rwxr-xr-xextra/git/build31
-rw-r--r--extra/git/checksums3
-rw-r--r--extra/git/depends3
-rw-r--r--extra/git/patches/git-tiny.patch109
-rw-r--r--extra/git/sources3
-rw-r--r--extra/git/version1
6 files changed, 150 insertions, 0 deletions
diff --git a/extra/git/build b/extra/git/build
new file mode 100755
index 00000000..d3001d72
--- /dev/null
+++ b/extra/git/build
@@ -0,0 +1,31 @@
+#!/bin/sh -e
+
+export CFLAGS="$CFLAGS -fPIC"
+
+patch -p1 < git-tiny.patch
+
+cat > config.mak <<EOF
+NO_GETTEXT=YesPlease
+NO_SVN_TESTS=YesPlease
+NO_TCLTK=YesPlease
+NO_EXPAT=YesPlease
+NO_NSEC=YesPlease
+NO_PYTHON=YesPlease
+NO_PERL=YesPlease
+NO_SVN_TESTS=YesPlease
+NO_SYS_POLL_H=1
+NO_CROSS_DIRECTORY_HARDLINKS=1
+NO_INSTALL_HARDLINKS=1
+EOF
+
+./configure \
+ --prefix=/usr \
+ ac_cv_snprintf_returns_bogus=no \
+ ac_cv_fread_reads_directories=yes
+
+make
+make DESTDIR="$1" install
+
+for man in man1/*.1 man5/*.5 man7/*.7; do
+ install -Dm644 "$man" "$1/usr/share/man/$man"
+done
diff --git a/extra/git/checksums b/extra/git/checksums
new file mode 100644
index 00000000..b157b35b
--- /dev/null
+++ b/extra/git/checksums
@@ -0,0 +1,3 @@
+6d65132471df9e531807cb2746f8be317e22a343b9385bbe11c9ce7f0d2fc848 git-2.26.2.tar.xz
+433de104f74a855b7074d88a27e77bf6f0764074e449ffc863f987c124716465 git-manpages-2.26.2.tar.xz
+297281cd88154f2c1fadf7dfe07cda679ceca0e9465efb4e4a18d1aa75f9aba8 git-tiny.patch
diff --git a/extra/git/depends b/extra/git/depends
new file mode 100644
index 00000000..ae42686b
--- /dev/null
+++ b/extra/git/depends
@@ -0,0 +1,3 @@
+curl
+libressl
+zlib
diff --git a/extra/git/patches/git-tiny.patch b/extra/git/patches/git-tiny.patch
new file mode 100644
index 00000000..d7379d0e
--- /dev/null
+++ b/extra/git/patches/git-tiny.patch
@@ -0,0 +1,109 @@
+diff --git a/Makefile b/Makefile
+index 9cd9826..26d42a0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -810,9 +810,7 @@ export PYTHON_PATH
+
+ TEST_SHELL_PATH = $(SHELL_PATH)
+
+-LIB_FILE = libgit.a
+-XDIFF_LIB = xdiff/lib.a
+-VCSSVN_LIB = vcs-svn/lib.a
++LIB_FILE = libgit.so
+
+ GENERATED_H += command-list.h
+
+@@ -1162,7 +1160,7 @@ THIRD_PARTY_SOURCES += compat/regex/%
+ THIRD_PARTY_SOURCES += sha1collisiondetection/%
+ THIRD_PARTY_SOURCES += sha1dc/%
+
+-GITLIBS = common-main.o $(LIB_FILE) $(XDIFF_LIB)
++GITLIBS = common-main.o $(LIB_FILE)
+ EXTLIBS =
+
+ GIT_USER_AGENT = git/$(GIT_VERSION)
+@@ -1203,7 +1201,7 @@ include config.mak.dev
+ endif
+
+ ALL_CFLAGS = $(DEVELOPER_CFLAGS) $(CPPFLAGS) $(CFLAGS)
+-ALL_LDFLAGS = $(LDFLAGS)
++ALL_LDFLAGS = $(LDFLAGS) -Wl,-rpath,$(gitexecdir_SQ)
+
+ comma := ,
+ empty :=
+@@ -1882,7 +1880,7 @@ ifneq ($(findstring s,$(MAKEFLAGS)),s)
+ ifndef V
+ QUIET_CC = @echo ' ' CC $@;
+ QUIET_AR = @echo ' ' AR $@;
+- QUIET_LINK = @echo ' ' LINK $@;
++ QUIET_LINK = @echo ' ' CCLD $@;
+ QUIET_BUILT_IN = @echo ' ' BUILTIN $@;
+ QUIET_GEN = @echo ' ' GEN $@;
+ QUIET_LNCP = @echo ' ' LN/CP $@;
+@@ -2125,7 +2123,7 @@ git.sp git.s git.o: EXTRA_CPPFLAGS = \
+ '-DGIT_MAN_PATH="$(mandir_relative_SQ)"' \
+ '-DGIT_INFO_PATH="$(infodir_relative_SQ)"'
+
+-git$X: git.o GIT-LDFLAGS $(BUILTIN_OBJS) $(GITLIBS)
++git$X: GIT-LDFLAGS $(GITLIBS)
+ $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) \
+ $(filter %.o,$^) $(LIBS)
+
+@@ -2464,9 +2462,8 @@ git-http-push$X: http.o http-push.o GIT-LDFLAGS $(GITLIBS)
+ $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
+ $(CURL_LIBCURL) $(EXPAT_LIBEXPAT) $(LIBS)
+
+-git-remote-testsvn$X: remote-testsvn.o GIT-LDFLAGS $(GITLIBS) $(VCSSVN_LIB)
+- $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) \
+- $(VCSSVN_LIB)
++git-remote-testsvn$X: remote-testsvn.o GIT-LDFLAGS $(GITLIBS)
++ $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
+
+ $(REMOTE_CURL_ALIASES): $(REMOTE_CURL_PRIMARY)
+ $(QUIET_LNCP)$(RM) $@ && \
+@@ -2478,14 +2475,8 @@ $(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o GIT-LDFLAGS $(GITLIBS
+ $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
+ $(CURL_LIBCURL) $(EXPAT_LIBEXPAT) $(LIBS)
+
+-$(LIB_FILE): $(LIB_OBJS)
+- $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
+-
+-$(XDIFF_LIB): $(XDIFF_OBJS)
+- $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
+-
+-$(VCSSVN_LIB): $(VCSSVN_OBJS)
+- $(QUIET_AR)$(RM) $@ && $(AR) $(ARFLAGS) $@ $^
++$(LIB_FILE): $(LIB_OBJS) $(BUILTIN_OBJS) $(XDIFF_OBJS) $(VCSSVN_OBJS) git.o
++ $(QUIET_LINK)$(RM) $@ && $(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -lz -lpthread -shared -o $@ $^
+
+ export DEFAULT_EDITOR DEFAULT_PAGER
+
+@@ -2761,9 +2752,9 @@ perf: all
+
+ .PHONY: test perf
+
+-t/helper/test-line-buffer$X: $(VCSSVN_LIB)
++t/helper/test-line-buffer$X: $(LIB_FILE)
+
+-t/helper/test-svn-fe$X: $(VCSSVN_LIB)
++t/helper/test-svn-fe$X: $(LIB_FILE)
+
+ .PRECIOUS: $(TEST_OBJS)
+
+@@ -2882,6 +2873,7 @@ install: all
+ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)'
+ $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+ $(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
++ $(INSTALL) $(LIB_FILE) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+ $(INSTALL) -m 644 $(SCRIPT_LIB) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)'
+ $(INSTALL) $(install_bindir_programs) '$(DESTDIR_SQ)$(bindir_SQ)'
+ ifdef MSVC
+@@ -3102,7 +3094,7 @@ cocciclean:
+ clean: profile-clean coverage-clean cocciclean
+ $(RM) *.res
+ $(RM) $(OBJECTS)
+- $(RM) $(LIB_FILE) $(XDIFF_LIB) $(VCSSVN_LIB)
++ $(RM) $(LIB_FILE)
+ $(RM) $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git$X
+ $(RM) $(TEST_PROGRAMS)
+ $(RM) $(FUZZ_PROGRAMS)
diff --git a/extra/git/sources b/extra/git/sources
new file mode 100644
index 00000000..72cb09fe
--- /dev/null
+++ b/extra/git/sources
@@ -0,0 +1,3 @@
+https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.26.2.tar.xz
+https://www.kernel.org/pub/software/scm/git/git-manpages-2.26.2.tar.xz
+patches/git-tiny.patch
diff --git a/extra/git/version b/extra/git/version
new file mode 100644
index 00000000..d50b7c89
--- /dev/null
+++ b/extra/git/version
@@ -0,0 +1 @@
+2.26.2 1