ports/109495: update devel/git to 1.5.0.1

Eygene Ryabinkin rea-fbsd at codelabs.ru
Thu Mar 15 14:08:51 UTC 2007


An update from 1.4.4.4 to 1.5.0.3 was produced, because 1.5.0.2
fixed two SEGV's in the git http utils. The patch introduces
new option for disabling the git gui tools (and dropping the Tcl/Tk
dependency).

The HTTP part of git still depends on the ports/110270 (the
patches from cURL CVS to cURL-7.16.1 that fixes another two SEGVs
for git). Once they will be committed, the http part of git will
be working: I've managed to clone and then push the entire linux-2.6
repository (about 260 Mb) over HTTP without any errors. The clone
of the ModularXorg repository at http://git.xbsd.org/freebsd/ports.git
also showed no errors.

I am planning to make my patch to the Makefile to be the part of the
next git distribution, but it will depend on the Git people. Probably
the next version will not need the files/patch-Makefile.

OK, shutting up. The patch for an upgrade to 1.5.0.3 is below.

diff -urN git.orig/Makefile git/Makefile
--- git.orig/Makefile	Sat Feb 24 11:15:53 2007
+++ git/Makefile	Thu Mar 15 08:20:23 2007
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	git
-PORTVERSION=	1.4.4.4
+PORTVERSION=	1.5.0.3
 CATEGORIES=	devel
 MASTER_SITES=	http://www.kernel.org/pub/software/scm/git/
 
@@ -19,8 +19,7 @@
 		xmlto:${PORTSDIR}/textproc/xmlto
 RUN_DEPENDS=	curl:${PORTSDIR}/ftp/curl \
 		cvsps:${PORTSDIR}/devel/cvsps-devel \
-		${SITE_PERL}/Error.pm:${PORTSDIR}/lang/p5-Error \
-		wish8.4:${PORTSDIR}/x11-toolkits/tk84
+		${SITE_PERL}/Error.pm:${PORTSDIR}/lang/p5-Error
 LIB_DEPENDS=	expat.6:${PORTSDIR}/textproc/expat2
 
 CONFLICTS=	cogito-0.1[012] git-4.*
@@ -47,6 +46,7 @@
 		git-clone.1 \
 		git-commit-tree.1 \
 		git-commit.1 \
+		git-config.1 \
 		git-convert-objects.1 \
 		git-count-objects.1 \
 		git-cvsexportcommit.1 \
@@ -59,12 +59,15 @@
 		git-diff-stages.1 \
 		git-diff-tree.1 \
 		git-diff.1 \
+		git-fast-import.1 \
 		git-fetch-pack.1 \
 		git-fetch.1 \
 		git-fmt-merge-msg.1 \
 		git-format-patch.1 \
 		git-for-each-ref.1 \
+		git-fsck.1 \
 		git-fsck-objects.1 \
+		git-gc.1 \
 		git-get-tar-commit-id.1 \
 		git-grep.1 \
 		git-hash-object.1 \
@@ -72,6 +75,7 @@
 		git-http-push.1 \
 		git-imap-send.1 \
 		git-index-pack.1 \
+		git-init.1 \
 		git-init-db.1 \
 		git-instaweb.1 \
 		git-local-fetch.1 \
@@ -84,6 +88,7 @@
 		git-mailsplit.1 \
 		git-merge.1 \
 		git-merge-base.1 \
+		git-merge-file.1 \
 		git-merge-index.1 \
 		git-merge-one-file.1 \
 		git-merge-tree.1 \
@@ -106,7 +111,9 @@
 		git-read-tree.1 \
 		git-rebase.1 \
 		git-receive-pack.1 \
+		git-reflog.1 \
 		git-relink.1 \
+		git-remote.1 \
 		git-repack.1 \
 		git-repo-config.1 \
 		git-request-pull.1 \
@@ -152,6 +159,7 @@
 MAN3=		Git.3
 MAN7=		git.7
 
+USE_BZIP2=	yes
 USE_PERL5=	yes
 USE_PYTHON=	yes
 USE_ICONV=	yes
@@ -161,12 +169,30 @@
 CFLAGS+=	-I${LOCALBASE}/include
 MAKE_ENV+=	CURLDIR=${LOCALBASE} \
 		NEEDS_LIBICONV=yes \
+		WITH_P4IMPORT=yes \
 		LDFLAGS="-L${LOCALBASE}/lib" \
 		PYTHON_PATH=${LOCALBASE}/bin/python \
 		PERL_PATH=${PERL}
 MAKE_ARGS+=	prefix="${PREFIX}"
 
+.ifndef WITHOUT_GUI
+PLIST_SUB+=	GUI=""
+GITGUIVERSION=	0.6-GITGUI
+RUN_DEPENDS+=	wish8.4:${PORTSDIR}/x11-toolkits/tk84
+.else
+PLIST_SUB+=	GUI="@comment "
+MAKE_ENV+=	NO_GUI=yes
+.endif
+
+# We should place version files to avoid git's attempt to figure it by itself
+post-patch:
+	${ECHO} "GIT_VERSION = ${PORTVERSION}-dirty" > ${WRKSRC}/GIT-VERSION-FILE; ${ECHO} '#!/bin/sh' > ${WRKSRC}/GIT-VERSION-GEN
+.ifndef WITHOUT_GUI
+	${ECHO} "GIT_VERSION = ${GITGUIVERSION}-dirty" > ${WRKSRC}/git-gui/GIT-VERSION-FILE; ${ECHO} '#!/bin/sh' > ${WRKSRC}/git-gui/GIT-VERSION-GEN
+.endif
+
 post-install:
+	${TEST} -f ${PREFIX}/lib/perl5/${PERL_VERSION}/mach/perllocal.pod && ${RM} -f ${PREFIX}/lib/perl5/${PERL_VERSION}/mach/perllocal.pod
 	${MKDIR} ${PREFIX}/share/emacs/site-lisp/git
 	${MKDIR} ${PREFIX}/lib/xemacs/site-lisp/git
 	${INSTALL_DATA} ${WRKSRC}/contrib/emacs/git.el \
diff -urN git.orig/distinfo git/distinfo
--- git.orig/distinfo	Sat Feb 24 11:15:53 2007
+++ git/distinfo	Thu Mar 15 08:13:19 2007
@@ -1,3 +1,3 @@
-MD5 (git-1.4.4.4.tar.gz) = 99bc7ea441226f792b6f796a838e7ef0
-SHA256 (git-1.4.4.4.tar.gz) = 53478949d178df1363c23008876b6791e28df8dcbd9851ddadb7cf10adf66a65
-SIZE (git-1.4.4.4.tar.gz) = 1054130
+MD5 (git-1.5.0.3.tar.bz2) = ea7a01dbde1da8fce235dde689bfeeea
+SHA256 (git-1.5.0.3.tar.bz2) = 950be95ece89a4c03aa22cd93626a27619536d1b9d40631b4369c339d63c120a
+SIZE (git-1.5.0.3.tar.bz2) = 1047037
diff -urN git.orig/files/patch-Makefile git/files/patch-Makefile
--- git.orig/files/patch-Makefile	Sat Feb 24 11:15:53 2007
+++ git/files/patch-Makefile	Thu Mar 15 08:17:44 2007
@@ -1,21 +1,118 @@
---- Makefile.orig	Tue Nov  7 20:47:34 2006
-+++ Makefile	Tue Nov  7 20:47:55 2006
-@@ -178,7 +178,8 @@
- 	git-send-email.perl git-svn.perl
+--- Makefile.orig	Mon Mar  5 05:15:33 2007
++++ Makefile	Thu Mar 15 08:16:45 2007
+@@ -108,6 +108,10 @@
+ # Define NO_PERL_MAKEMAKER if you cannot use Makefiles generated by perl's
+ # MakeMaker (e.g. using ActiveState under Cygwin).
+ #
++# Define NO_GUI if you do not want Tcl/Tk GUI.
++#
++# Define WITH_P4IMPORT to build and install Python git-p4import script.
++#
  
- SCRIPT_PYTHON = \
--	git-merge-recursive-old.py
-+	git-merge-recursive-old.py \
-+	git-p4import.py
+ GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
+ 	@$(SHELL_PATH) ./GIT-VERSION-GEN
+@@ -193,9 +197,19 @@
+ 	git-svnimport.perl git-cvsexportcommit.perl \
+ 	git-send-email.perl git-svn.perl
  
++SCRIPT_PYTHON = \
++	  git-p4import.py
++
++ifdef WITH_P4IMPORT
++SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
++	  $(patsubst %.perl,%,$(SCRIPT_PERL)) \
++	  $(patsubst %.py,%,$(SCRIPT_PYTHON)) \
++	  git-cherry-pick git-status git-instaweb
++else
  SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
  	  $(patsubst %.perl,%,$(SCRIPT_PERL)) \
-@@ -823,7 +824,7 @@
- 	$(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
+ 	  git-cherry-pick git-status git-instaweb
++endif
+ 
+ # ... and all the rest that could be moved out of bindir to gitexecdir
+ PROGRAMS = \
+@@ -238,6 +252,9 @@
+ ifndef PERL_PATH
+ 	PERL_PATH = /usr/bin/perl
+ endif
++ifndef PYTHON_PATH
++	PYTHON_PATH = /usr/local/bin/python
++endif
+ 
+ export PERL_PATH
+ 
+@@ -612,6 +629,7 @@
+ 
+ SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
+ PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))
++PYTHON_PATH_SQ = $(subst ','\'',$(PYTHON_PATH))
+ 
+ LIBS = $(GITLIBS) $(EXTLIBS)
+ 
+@@ -632,7 +650,9 @@
+ endif
+ 
+ all::
++ifndef NO_GUI
+ 	$(MAKE) -C git-gui all
++endif
+ 	$(MAKE) -C perl PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' all
+ 	$(MAKE) -C templates
+ 
+@@ -665,6 +685,15 @@
+ 
+ $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
+ 
++$(patsubst %.py,%,$(SCRIPT_PYTHON)) : % : %.py
++	rm -f $@ $@+
++	sed -e '1s|#!.*/python|#!$(PYTHON_PATH_SQ)|' \
++	    -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
++	    -e 's/@@NO_CURL@@/$(NO_CURL)/g' \
++	    $@.py >$@+
++	chmod +x $@+
++	mv $@+ $@
++
+ perl/perl.mak: GIT-CFLAGS
+ 	$(MAKE) -C perl PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
+ 
+@@ -863,7 +892,9 @@
  	$(INSTALL) git$X gitk '$(DESTDIR_SQ)$(bindir_SQ)'
  	$(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
--	$(MAKE) -C perl install
-+	$(MAKE) -C perl pure_install
- 	$(INSTALL) -d -m755 '$(DESTDIR_SQ)$(GIT_PYTHON_DIR_SQ)'
- 	$(INSTALL) $(PYMODULES) '$(DESTDIR_SQ)$(GIT_PYTHON_DIR_SQ)'
+ 	$(MAKE) -C perl prefix='$(prefix_SQ)' install
++ifndef NO_GUI
+ 	$(MAKE) -C git-gui install
++endif
  	if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
+ 	then \
+ 		ln -f '$(DESTDIR_SQ)$(bindir_SQ)/git$X' \
+@@ -897,12 +928,20 @@
+ 	@mkdir -p $(GIT_TARNAME)
+ 	@cp git.spec $(GIT_TARNAME)
+ 	@echo $(GIT_VERSION) > $(GIT_TARNAME)/version
++ifndef NO_GUI
+ 	@$(MAKE) -C git-gui TARDIR=../$(GIT_TARNAME)/git-gui dist-version
++endif
++ifndef NO_GUI
+ 	$(TAR) rf $(GIT_TARNAME).tar \
+ 		$(GIT_TARNAME)/git.spec \
+ 		$(GIT_TARNAME)/version \
+ 		$(GIT_TARNAME)/git-gui/version \
+ 		$(GIT_TARNAME)/git-gui/credits
++else
++	$(TAR) rf $(GIT_TARNAME).tar \
++		$(GIT_TARNAME)/git.spec \
++		$(GIT_TARNAME)/version
++endif
+ 	@rm -rf $(GIT_TARNAME)
+ 	gzip -f -9 $(GIT_TARNAME).tar
+ 
+@@ -943,7 +982,9 @@
+ 	rm -f gitweb/gitweb.cgi
+ 	$(MAKE) -C Documentation/ clean
+ 	$(MAKE) -C perl clean
++ifndef NO_GUI
+ 	$(MAKE) -C git-gui clean
++endif
+ 	$(MAKE) -C templates/ clean
+ 	$(MAKE) -C t/ clean
+ 	rm -f GIT-VERSION-FILE GIT-CFLAGS
diff -urN git.orig/pkg-plist git/pkg-plist
--- git.orig/pkg-plist	Sat Feb 24 11:15:53 2007
+++ git/pkg-plist	Thu Mar 15 08:11:32 2007
@@ -1,5 +1,6 @@
 bin/git
 bin/git-add
+bin/git-add--interactive
 bin/git-am
 bin/git-annotate
 bin/git-apply
@@ -16,10 +17,12 @@
 bin/git-checkout-index
 bin/git-cherry
 bin/git-cherry-pick
+%%GUI%%bin/git-citool
 bin/git-clean
 bin/git-clone
 bin/git-commit
 bin/git-commit-tree
+bin/git-config
 bin/git-convert-objects
 bin/git-count-objects
 bin/git-cvsexportcommit
@@ -32,19 +35,24 @@
 bin/git-diff-index
 bin/git-diff-stages
 bin/git-diff-tree
+bin/git-fast-import
 bin/git-fetch
 bin/git-fetch-pack
 bin/git-fmt-merge-msg
 bin/git-for-each-ref
 bin/git-format-patch
+bin/git-fsck
 bin/git-fsck-objects
+bin/git-gc
 bin/git-get-tar-commit-id
 bin/git-grep
+%%GUI%%bin/git-gui
 bin/git-hash-object
 bin/git-http-fetch
 bin/git-http-push
 bin/git-imap-send
 bin/git-index-pack
+bin/git-init
 bin/git-init-db
 bin/git-instaweb
 bin/git-local-fetch
@@ -57,13 +65,12 @@
 bin/git-mailsplit
 bin/git-merge
 bin/git-merge-base
+bin/git-merge-file
 bin/git-merge-index
 bin/git-merge-octopus
 bin/git-merge-one-file
 bin/git-merge-ours
-bin/git-merge-recur
 bin/git-merge-recursive
-bin/git-merge-recursive-old
 bin/git-merge-resolve
 bin/git-merge-stupid
 bin/git-merge-tree
@@ -86,7 +93,9 @@
 bin/git-read-tree
 bin/git-rebase
 bin/git-receive-pack
+bin/git-reflog
 bin/git-relink
+bin/git-remote
 bin/git-repack
 bin/git-repo-config
 bin/git-request-pull
@@ -137,7 +146,6 @@
 lib/xemacs/site-lisp/git/vc-git.el
 share/emacs/site-lisp/git/git.el
 share/emacs/site-lisp/git/vc-git.el
-share/git-core/python/gitMergeCommon.py
 share/git-core/templates/description
 share/git-core/templates/hooks/applypatch-msg
 share/git-core/templates/hooks/commit-msg
@@ -158,7 +166,5 @@
 @dirrm share/git-core/templates/branches
 @dirrm share/git-core/templates/hooks
 @dirrm share/git-core/templates/info
- at dirrm share/git-core/templates/remotes
 @dirrm share/git-core/templates
- at dirrm share/git-core/python
 @dirrm share/git-core



More information about the freebsd-ports-bugs mailing list