summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbjs <bjs>2007-12-12 04:22:20 +0000
committerbjs <bjs>2007-12-12 04:22:20 +0000
commit509142f55ed0c35b79661bfd9a9f6c4ae4f1bba7 (patch)
tree0874ec10bd0dd12432f3db42b4dc269fbedcddd7
parentdd3c02261a5373520e6d4a313058d95f8b96893f (diff)
downloadpkgsrc-509142f55ed0c35b79661bfd9a9f6c4ae4f1bba7.tar.gz
Switch GIT to use a meta-pkg hierarchy like, for example, devel/subversion.
Also, update to 1.5.3.7. Fixes since v1.5.3.6 -------------------- * git-send-email added 8-bit contents to the payload without marking it as 8-bit in a CTE header. * "git-bundle create a.bndl HEAD" dereferenced the symref and did not record the ref as 'HEAD'; this prevented a bundle from being used as a normal source of git-clone. * The code to reject nonsense command line of the form "git-commit -a paths..." and "git-commit --interactive paths..." were broken. * Adding a signature that is not ASCII-only to an original commit that is ASCII-only would make the result non-ASCII. "git-format-patch -s" did not mark such a message correctly with MIME encoding header. * git-add sometimes did not mark the resulting index entry stat-clean. This affected only cases when adding the contents with the same length as the previously staged contents, and the previous staging made the index entry "racily clean". * git-commit did not honor GIT_INDEX_FILE the user had in the environment. * When checking out a revision, git-checkout did not report where the updated HEAD is if you happened to have a file called HEAD in the work tree. * "git-rev-list --objects" mishandled a tree that points at a submodule. * "git cvsimport" was not ready for packed refs that "git gc" can produce and gave incorrect results. * Many scripted Porcelains were confused when you happened to have a file called "HEAD" in your work tree. * Miscellaneous updates to the user manual and documentation.
-rw-r--r--devel/scmgit-base/DESCR9
-rw-r--r--devel/scmgit-base/Makefile57
-rw-r--r--devel/scmgit-base/PLIST192
-rw-r--r--devel/scmgit-base/distinfo12
-rw-r--r--devel/scmgit-base/patches/patch-aa91
-rw-r--r--devel/scmgit-base/patches/patch-ab22
-rw-r--r--devel/scmgit-base/patches/patch-ae16
-rw-r--r--devel/scmgit-base/patches/patch-af29
-rw-r--r--devel/scmgit-base/patches/patch-ag12
-rw-r--r--devel/scmgit-base/patches/patch-ah34
-rw-r--r--devel/scmgit-base/patches/patch-ai17
-rw-r--r--devel/scmgit-docs/DESCR2
-rw-r--r--devel/scmgit-docs/Makefile33
-rw-r--r--devel/scmgit-docs/Makefile.common27
-rw-r--r--devel/scmgit-docs/PLIST139
15 files changed, 692 insertions, 0 deletions
diff --git a/devel/scmgit-base/DESCR b/devel/scmgit-base/DESCR
new file mode 100644
index 00000000000..424e54fcb40
--- /dev/null
+++ b/devel/scmgit-base/DESCR
@@ -0,0 +1,9 @@
+GIT is a "directory content manager" designed to handle absolutely massive
+projects with speed and efficiency, and the release of the 2.6.12 (and later)
+versions of the Linux kernel as well as more and more other projects switching
+to it would indicate that it does this task well.
+
+GIT falls in the category of distributed version control software, similar
+to e.g. GNU Arch or Monotone (or, in the commercial world, BitKeeper). Every
+GIT working directory is a full-fledged repository with full revision tracking
+capabilities, not dependent on network access to a central server.
diff --git a/devel/scmgit-base/Makefile b/devel/scmgit-base/Makefile
new file mode 100644
index 00000000000..e8ab5be7e9d
--- /dev/null
+++ b/devel/scmgit-base/Makefile
@@ -0,0 +1,57 @@
+# $NetBSD: Makefile,v 1.1.1.1 2007/12/12 04:22:20 bjs Exp $
+#
+
+.include "${.CURDIR}/../scmgit/Makefile.common"
+
+PKGNAME= scmgit-base-${GIT_VERSION}
+COMMENT= GIT Tree History Storage Tool (base package)
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+CONFLICTS+= git-[0-9]* # misc/git
+
+USE_LANGUAGES= c99
+USE_TOOLS+= perl:run sh:run wish:run
+
+MAKE_ENV+= CURLDIR=${BUILDLINK_PREFIX.curl:Q}
+MAKE_ENV+= PYTHON_PATH=${PYTHONBIN:Q}
+
+BUILD_TARGET= all
+INSTALL_TARGET= install
+
+PERL5_PACKLIST= auto/Git/.packlist
+PERL5_CONFIGURE_DIRS= ${WRKSRC}/perl
+
+.include "../../mk/bsd.fast.prefs.mk"
+.include "../../lang/python/application.mk"
+
+NEEDS_SUBPROCESS_PY!= \
+ if ok=`${PYTHONBIN} -c 'import subprocess; print "OK"' 2>/dev/null` \
+ && ${TEST} "$$ok" = "OK"; then echo "no"; else echo "yes"; fi
+.if ${NEEDS_SUBPROCESS_PY} == "yes"
+PLIST_SUBST+= IF_NEEDS_SUBPROCESS_PY=""
+.else
+PLIST_SUBST+= IF_NEEDS_SUBPROCESS_PY="@comment "
+.endif
+
+#.include "../../mk/emacs.mk" # XXX TODO (see patch-ad)
+
+## XXX Do all the BSDs fit this category?
+#
+.if ${OPSYS} == "NetBSD"
+CHECK_BUILTIN.iconv:=yes
+. include "../../converters/libiconv/builtin.mk"
+CHECK_BUILTIN.iconv:=no
+. if ${ICONV_TYPE} == "native"
+CFLAGS+= -DOLD_ICONV
+. endif
+.endif
+
+.include "../../lang/perl5/module.mk"
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../textproc/expat/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/devel/scmgit-base/PLIST b/devel/scmgit-base/PLIST
new file mode 100644
index 00000000000..752af8b20a9
--- /dev/null
+++ b/devel/scmgit-base/PLIST
@@ -0,0 +1,192 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2007/12/12 04:22:20 bjs Exp $
+bin/git
+bin/git-add
+bin/git-add--interactive
+bin/git-am
+bin/git-annotate
+bin/git-apply
+bin/git-archimport
+bin/git-archive
+bin/git-bisect
+bin/git-blame
+bin/git-branch
+bin/git-bundle
+bin/git-cat-file
+bin/git-check-attr
+bin/git-check-ref-format
+bin/git-checkout
+bin/git-checkout-index
+bin/git-cherry
+bin/git-cherry-pick
+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
+bin/git-cvsimport
+bin/git-cvsserver
+bin/git-daemon
+bin/git-describe
+bin/git-diff
+bin/git-diff-files
+bin/git-diff-index
+bin/git-diff-tree
+bin/git-fast-import
+bin/git-fetch
+bin/git-fetch--tool
+bin/git-fetch-pack
+bin/git-filter-branch
+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
+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
+bin/git-log
+bin/git-lost-found
+bin/git-ls-files
+bin/git-ls-remote
+bin/git-ls-tree
+bin/git-mailinfo
+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-recursive
+bin/git-merge-resolve
+bin/git-merge-stupid
+bin/git-merge-subtree
+bin/git-merge-tree
+bin/git-mergetool
+bin/git-mktag
+bin/git-mktree
+bin/git-mv
+bin/git-name-rev
+bin/git-pack-objects
+bin/git-pack-redundant
+bin/git-pack-refs
+bin/git-parse-remote
+bin/git-patch-id
+bin/git-peek-remote
+bin/git-prune
+bin/git-prune-packed
+bin/git-pull
+bin/git-push
+bin/git-quiltimport
+bin/git-read-tree
+bin/git-rebase
+bin/git-rebase--interactive
+bin/git-receive-pack
+bin/git-reflog
+bin/git-relink
+bin/git-remote
+bin/git-repack
+bin/git-repo-config
+bin/git-request-pull
+bin/git-rerere
+bin/git-reset
+bin/git-rev-list
+bin/git-rev-parse
+bin/git-revert
+bin/git-rm
+bin/git-runstatus
+bin/git-send-email
+bin/git-send-pack
+bin/git-sh-setup
+bin/git-shell
+bin/git-shortlog
+bin/git-show
+bin/git-show-branch
+bin/git-show-index
+bin/git-show-ref
+bin/git-ssh-fetch
+bin/git-ssh-pull
+bin/git-ssh-push
+bin/git-ssh-upload
+bin/git-stash
+bin/git-status
+bin/git-stripspace
+bin/git-submodule
+bin/git-svn
+bin/git-svnimport
+bin/git-symbolic-ref
+bin/git-tag
+bin/git-tar-tree
+bin/git-unpack-file
+bin/git-unpack-objects
+bin/git-update-index
+bin/git-update-ref
+bin/git-update-server-info
+bin/git-upload-archive
+bin/git-upload-pack
+bin/git-var
+bin/git-verify-pack
+bin/git-verify-tag
+bin/git-whatchanged
+bin/git-write-tree
+bin/gitk
+share/git-core/templates/description
+share/git-core/templates/hooks/applypatch-msg
+share/git-core/templates/hooks/commit-msg
+share/git-core/templates/hooks/post-commit
+share/git-core/templates/hooks/post-receive
+share/git-core/templates/hooks/post-update
+share/git-core/templates/hooks/pre-applypatch
+share/git-core/templates/hooks/pre-commit
+share/git-core/templates/hooks/pre-rebase
+share/git-core/templates/hooks/update
+share/git-core/templates/info/exclude
+share/git-gui/lib/blame.tcl
+share/git-gui/lib/branch.tcl
+share/git-gui/lib/branch_checkout.tcl
+share/git-gui/lib/branch_create.tcl
+share/git-gui/lib/branch_delete.tcl
+share/git-gui/lib/branch_rename.tcl
+share/git-gui/lib/browser.tcl
+share/git-gui/lib/checkout_op.tcl
+share/git-gui/lib/choose_font.tcl
+share/git-gui/lib/choose_rev.tcl
+share/git-gui/lib/class.tcl
+share/git-gui/lib/commit.tcl
+share/git-gui/lib/console.tcl
+share/git-gui/lib/database.tcl
+share/git-gui/lib/diff.tcl
+share/git-gui/lib/encoding.tcl
+share/git-gui/lib/error.tcl
+share/git-gui/lib/index.tcl
+share/git-gui/lib/merge.tcl
+share/git-gui/lib/option.tcl
+share/git-gui/lib/remote.tcl
+share/git-gui/lib/remote_branch_delete.tcl
+share/git-gui/lib/shortcut.tcl
+share/git-gui/lib/status_bar.tcl
+share/git-gui/lib/tclIndex
+share/git-gui/lib/transport.tcl
+@dirrm share/git-gui/lib
+@dirrm share/git-gui
+@dirrm share/git-core/templates/info
+@dirrm share/git-core/templates/hooks
+@exec ${MKDIR} %D/share/git-core/templates/branches
+@dirrm share/git-core/templates/branches
+@dirrm share/git-core/templates
+@dirrm share/git-core
diff --git a/devel/scmgit-base/distinfo b/devel/scmgit-base/distinfo
new file mode 100644
index 00000000000..5106d418f41
--- /dev/null
+++ b/devel/scmgit-base/distinfo
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.1.1.1 2007/12/12 04:22:20 bjs Exp $
+
+SHA1 (git-1.5.3.7.tar.gz) = 8a6b7f130f39765e8de8f32bb23d4799747ee190
+RMD160 (git-1.5.3.7.tar.gz) = 52ac1fb55341140abd18a226e8dd34654c79be61
+Size (git-1.5.3.7.tar.gz) = 1612748 bytes
+SHA1 (patch-aa) = 77ab1eaf9206534d2103e5481bcdc278ffb351d9
+SHA1 (patch-ab) = 6d9b08b20b3bbee931c8aa5842b03953e7cd2a7d
+SHA1 (patch-ae) = 44f30c796c922b028773668e80d71c0a48606f5c
+SHA1 (patch-af) = d2b6fff88913d89f37bf5453babc65027a6a5a54
+SHA1 (patch-ag) = feb17b439e0e4e89c25985f2e14e300d698c8dcf
+SHA1 (patch-ah) = 4cf802facbc3dd9f78e923427c4b5f455f954722
+SHA1 (patch-ai) = 569ca315a6ed73f8d06fa265945af3e2d920556a
diff --git a/devel/scmgit-base/patches/patch-aa b/devel/scmgit-base/patches/patch-aa
new file mode 100644
index 00000000000..8f0e2cb6be3
--- /dev/null
+++ b/devel/scmgit-base/patches/patch-aa
@@ -0,0 +1,91 @@
+$NetBSD: patch-aa,v 1.1.1.1 2007/12/12 04:22:20 bjs Exp $
+
+NetBSD 3.0 needs -liconv, too.
+
+AR, CC, CFLAGS, LDFLAGS and LIBS should be taken from the environment.
+
+--- Makefile.orig 2007-12-01 16:21:12.000000000 -0500
++++ Makefile
+@@ -139,8 +139,6 @@ uname_P := $(shell sh -c 'uname -p 2>/de
+
+ # CFLAGS and LDFLAGS are for the users to override from the command line.
+
+-CFLAGS = -g -O2 -Wall
+-LDFLAGS =
+ ALL_CFLAGS = $(CFLAGS)
+ ALL_LDFLAGS = $(LDFLAGS)
+ STRIP ?= strip
+@@ -177,12 +175,8 @@ GITWEB_SITE_FOOTER =
+
+ export prefix bindir gitexecdir sharedir template_dir sysconfdir
+
+-CC = gcc
+-AR = ar
+ RM = rm -f
+-TAR = tar
+ FIND = find
+-INSTALL = install
+ RPMBUILD = rpmbuild
+ TCL_PATH = tclsh
+ TCLTK_PATH = wish
+@@ -402,9 +396,10 @@ ifeq ($(uname_S),Darwin)
+ NO_STRLCPY = YesPlease
+ endif
+ ifeq ($(uname_S),SunOS)
++ NEEDS_LIBICONV = YesPlease
+ NEEDS_SOCKET = YesPlease
+ NEEDS_NSL = YesPlease
+- SHELL_PATH = /bin/bash
++ SHELL_PATH = ${BASH}
+ NO_STRCASESTR = YesPlease
+ NO_HSTRERROR = YesPlease
+ ifeq ($(uname_R),5.8)
+@@ -420,8 +415,6 @@ ifeq ($(uname_S),SunOS)
+ NO_C99_FORMAT = YesPlease
+ NO_STRTOUMAX = YesPlease
+ endif
+- INSTALL = ginstall
+- TAR = gtar
+ BASIC_CFLAGS += -D__EXTENSIONS__
+ endif
+ ifeq ($(uname_O),Cygwin)
+@@ -451,9 +444,7 @@ ifeq ($(uname_S),OpenBSD)
+ BASIC_LDFLAGS += -L/usr/local/lib
+ endif
+ ifeq ($(uname_S),NetBSD)
+- ifeq ($(shell expr "$(uname_R)" : '[01]\.'),2)
+- NEEDS_LIBICONV = YesPlease
+- endif
++ NEEDS_LIBICONV = YesPlease
+ BASIC_CFLAGS += -I/usr/pkg/include
+ BASIC_LDFLAGS += -L/usr/pkg/lib
+ ALL_LDFLAGS += -Wl,-rpath,/usr/pkg/lib
+@@ -718,7 +709,7 @@ SHELL_PATH_SQ = $(subst ','\'',$(SHELL_P
+ PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH))
+ TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH))
+
+-LIBS = $(GITLIBS) $(EXTLIBS)
++LIBS += $(GITLIBS) $(EXTLIBS)
+
+ BASIC_CFLAGS += -DSHA1_HEADER='$(SHA1_HEADER_SQ)' \
+ -DETC_GITCONFIG='"$(ETC_GITCONFIG_SQ)"' $(COMPAT_CFLAGS)
+@@ -991,14 +982,14 @@ remove-dashes:
+ ### Installation rules
+
+ install: all
+- $(INSTALL) -d -m755 '$(DESTDIR_SQ)$(bindir_SQ)'
+- $(INSTALL) -d -m755 '$(DESTDIR_SQ)$(gitexecdir_SQ)'
+- $(INSTALL) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
+- $(INSTALL) git$X '$(DESTDIR_SQ)$(bindir_SQ)'
++ $(BSD_INSTALL_PROGRAM_DIR) '$(DESTDIR_SQ)$(bindir_SQ)'
++ $(BSD_INSTALL_PROGRAM_DIR) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
++ $(BSD_INSTALL_SCRIPT) $(ALL_PROGRAMS) '$(DESTDIR_SQ)$(gitexecdir_SQ)'
++ $(BSD_INSTALL_SCRIPT) git$X '$(DESTDIR_SQ)$(bindir_SQ)'
+ $(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' install
+ $(MAKE) -C perl prefix='$(prefix_SQ)' install
+ ifndef NO_TCLTK
+- $(INSTALL) gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
++ $(BSD_INSTALL_SCRIPT) gitk-wish '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
+ $(MAKE) -C git-gui install
+ endif
+ if test 'z$(bindir_SQ)' != 'z$(gitexecdir_SQ)'; \
diff --git a/devel/scmgit-base/patches/patch-ab b/devel/scmgit-base/patches/patch-ab
new file mode 100644
index 00000000000..8d8c3594943
--- /dev/null
+++ b/devel/scmgit-base/patches/patch-ab
@@ -0,0 +1,22 @@
+$NetBSD: patch-ab,v 1.1.1.1 2007/12/12 04:22:20 bjs Exp $
+
+--- git-compat-util.h.orig 2007-10-31 21:04:37.000000000 +0100
++++ git-compat-util.h 2007-11-29 16:24:57.810134000 +0100
+@@ -6,6 +6,8 @@
+ #ifndef FLEX_ARRAY
+ #if defined(__GNUC__) && (__GNUC__ < 3)
+ #define FLEX_ARRAY 0
++#elif defined(__SUNPRO_C)
++#define FLEX_ARRAY 1
+ #else
+ #define FLEX_ARRAY /* empty */
+ #endif
+@@ -24,7 +26,7 @@
+ /* Approximation of the length of the decimal representation of this type. */
+ #define decimal_length(x) ((int)(sizeof(x) * 2.56 + 0.5) + 1)
+
+-#if !defined(__APPLE__) && !defined(__FreeBSD__)
++#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__sun)
+ #define _XOPEN_SOURCE 600 /* glibc2 and AIX 5.3L need 500, OpenBSD needs 600 for S_ISLNK() */
+ #define _XOPEN_SOURCE_EXTENDED 1 /* AIX 5.3L needs this */
+ #endif
diff --git a/devel/scmgit-base/patches/patch-ae b/devel/scmgit-base/patches/patch-ae
new file mode 100644
index 00000000000..62e875da05f
--- /dev/null
+++ b/devel/scmgit-base/patches/patch-ae
@@ -0,0 +1,16 @@
+$NetBSD: patch-ae,v 1.1.1.1 2007/12/12 04:22:20 bjs Exp $
+
+In pkgsrc, all Perl modules are installed into vendor_perl, not
+site_perl.
+
+--- perl/Makefile.orig 2007-09-02 01:57:44.000000000 -0400
++++ perl/Makefile
+@@ -11,7 +11,7 @@ ifndef V
+ endif
+
+ all install instlibdir: $(makfile)
+- $(QUIET)$(MAKE) -f $(makfile) $@
++ $(QUIET)$(MAKE) -f $(makfile) INSTALLDIRS=vendor $@
+
+ clean:
+ $(QUIET)test -f $(makfile) && $(MAKE) -f $(makfile) $@ || exit 0
diff --git a/devel/scmgit-base/patches/patch-af b/devel/scmgit-base/patches/patch-af
new file mode 100644
index 00000000000..0daf103be28
--- /dev/null
+++ b/devel/scmgit-base/patches/patch-af
@@ -0,0 +1,29 @@
+$NetBSD: patch-af,v 1.1.1.1 2007/12/12 04:22:20 bjs Exp $
+
+--- Documentation/Makefile.orig 2007-09-02 01:57:44.000000000 -0400
++++ Documentation/Makefile
+@@ -75,16 +75,16 @@ man7: $(DOC_MAN7)
+ info: git.info
+
+ install: man
+- $(INSTALL) -d -m755 $(DESTDIR)$(man1dir)
+- $(INSTALL) -d -m755 $(DESTDIR)$(man5dir)
+- $(INSTALL) -d -m755 $(DESTDIR)$(man7dir)
+- $(INSTALL) -m644 $(DOC_MAN1) $(DESTDIR)$(man1dir)
+- $(INSTALL) -m644 $(DOC_MAN5) $(DESTDIR)$(man5dir)
+- $(INSTALL) -m644 $(DOC_MAN7) $(DESTDIR)$(man7dir)
++ $(BSD_INSTALL_MAN_DIR) $(DESTDIR)$(man1dir)
++ $(BSD_INSTALL_MAN_DIR) $(DESTDIR)$(man5dir)
++ $(BSD_INSTALL_MAN_DIR) $(DESTDIR)$(man7dir)
++ $(BSD_INSTALL_MAN) $(DOC_MAN1) $(DESTDIR)$(man1dir)
++ $(BSD_INSTALL_MAN) $(DOC_MAN5) $(DESTDIR)$(man5dir)
++ $(BSD_INSTALL_MAN) $(DOC_MAN7) $(DESTDIR)$(man7dir)
+
+ install-info: info
+- $(INSTALL) -d -m755 $(DESTDIR)$(infodir)
+- $(INSTALL) -m644 git.info $(DESTDIR)$(infodir)
++ $(BSD_INSTALL_DATA_DIR) $(DESTDIR)$(infodir)
++ $(BSD_INSTALL_DATA) git.info $(DESTDIR)$(infodir)
+ if test -r $(DESTDIR)$(infodir)/dir; then \
+ $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) git.info ;\
+ else \
diff --git a/devel/scmgit-base/patches/patch-ag b/devel/scmgit-base/patches/patch-ag
new file mode 100644
index 00000000000..aa860e7be61
--- /dev/null
+++ b/devel/scmgit-base/patches/patch-ag
@@ -0,0 +1,12 @@
+$NetBSD: patch-ag,v 1.1.1.1 2007/12/12 04:22:20 bjs Exp $
+
+--- templates/Makefile.orig 2007-09-19 14:02:17.000000000 -0400
++++ templates/Makefile
+@@ -46,6 +46,6 @@ clean:
+ $(RM) -r blt boilerplates.made
+
+ install: all
+- $(INSTALL) -d -m755 '$(DESTDIR_SQ)$(template_dir_SQ)'
++ $(BSD_INSTALL_DATA_DIR) '$(DESTDIR_SQ)$(template_dir_SQ)'
+ (cd blt && $(TAR) cf - .) | \
+ (cd '$(DESTDIR_SQ)$(template_dir_SQ)' && $(TAR) xf -)
diff --git a/devel/scmgit-base/patches/patch-ah b/devel/scmgit-base/patches/patch-ah
new file mode 100644
index 00000000000..9f5b5d15fc3
--- /dev/null
+++ b/devel/scmgit-base/patches/patch-ah
@@ -0,0 +1,34 @@
+$NetBSD: patch-ah,v 1.1.1.1 2007/12/12 04:22:20 bjs Exp $
+
+--- git-gui/Makefile.orig 2007-09-19 14:02:17.000000000 -0400
++++ git-gui/Makefile
+@@ -34,11 +34,11 @@ endif
+ RM_F ?= rm -f
+ RMDIR ?= rmdir
+
+-INSTALL_D0 = $(INSTALL) -d -m755 # space is required here
++INSTALL_D0 = ${BSD_INSTALL_DATA_DIR} # space is required here
+ INSTALL_D1 =
+-INSTALL_R0 = $(INSTALL) -m644 # space is required here
++INSTALL_R0 = ${BSD_INSTALL_DATA} # space is required here
+ INSTALL_R1 =
+-INSTALL_X0 = $(INSTALL) -m755 # space is required here
++INSTALL_X0 = ${BSD_INSTALL_SCRIPT} # space is required here
+ INSTALL_X1 =
+ INSTALL_L0 = rm -f # space is required here
+ INSTALL_L1 = && ln # space is required here
+@@ -59,11 +59,11 @@ ifndef V
+ QUIET_2DEVNULL = 2>/dev/null
+
+ INSTALL_D0 = dir=
+- INSTALL_D1 = && echo ' ' DEST $$dir && $(INSTALL) -d -m755 "$$dir"
++ INSTALL_D1 = && echo ' ' DEST $$dir && $(BSD_INSTALL_DATA_DIR) "$$dir"
+ INSTALL_R0 = src=
+- INSTALL_R1 = && echo ' ' INSTALL 644 `basename $$src` && $(INSTALL) -m644 $$src
++ INSTALL_R1 = && echo ' ' INSTALL 644 `basename $$src` && $(BSD_INSTALL_DATA) $$src
+ INSTALL_X0 = src=
+- INSTALL_X1 = && echo ' ' INSTALL 755 `basename $$src` && $(INSTALL) -m755 $$src
++ INSTALL_X1 = && echo ' ' INSTALL 755 `basename $$src` && $(BSD_INSTALL_SCRIPT) $$src
+
+ INSTALL_L0 = dst=
+ INSTALL_L1 = && src=
diff --git a/devel/scmgit-base/patches/patch-ai b/devel/scmgit-base/patches/patch-ai
new file mode 100644
index 00000000000..553ada8ef7f
--- /dev/null
+++ b/devel/scmgit-base/patches/patch-ai
@@ -0,0 +1,17 @@
+$NetBSD: patch-ai,v 1.1.1.1 2007/12/12 04:22:20 bjs Exp $
+
+Beginnings of emacs support, not enabled yet. We must use mk/emacs.mk.
+
+--- contrib/emacs/Makefile.orig 2007-09-19 14:02:17.000000000 -0400
++++ contrib/emacs/Makefile
+@@ -12,8 +12,8 @@ RM ?= rm -f
+ all: $(ELC)
+
+ install: all
+- $(INSTALL) -d $(DESTDIR)$(emacsdir)
+- $(INSTALL_ELC) $(ELC:.elc=.el) $(ELC) $(DESTDIR)$(emacsdir)
++ ${BSD_INSTALL_DATA_DIR} $(DESTDIR)$(emacsdir)
++ ${BSD_INSTALL_DATA} $(ELC:.elc=.el) $(ELC) $(DESTDIR)$(emacsdir)
+
+ %.elc: %.el
+ $(EMACS) -batch -f batch-byte-compile $<
diff --git a/devel/scmgit-docs/DESCR b/devel/scmgit-docs/DESCR
new file mode 100644
index 00000000000..2e4840acf6f
--- /dev/null
+++ b/devel/scmgit-docs/DESCR
@@ -0,0 +1,2 @@
+This package installs documentation for the GIT distributed version control
+suite.
diff --git a/devel/scmgit-docs/Makefile b/devel/scmgit-docs/Makefile
new file mode 100644
index 00000000000..ec58a63da2a
--- /dev/null
+++ b/devel/scmgit-docs/Makefile
@@ -0,0 +1,33 @@
+# $NetBSD: Makefile,v 1.1.1.1 2007/12/12 04:22:45 bjs Exp $
+#
+
+PKGNAME= scmgit-docs-${GIT_VERSION}
+COMMENT= GIT Tree History Storage Tool (documentation)
+
+DISTINFO_FILE= ${.CURDIR}/../scmgit-base/distinfo
+
+BUILD_DEPENDS+= asciidoc-[0-9]*:../../textproc/asciidoc
+BUILD_DEPENDS+= xmlto-[0-9]*:../../textproc/xmlto
+
+BUILD_TARGET= doc
+
+USE_LANGUAGES= # none
+INSTALL_TARGET= install-doc
+
+.include "../../mk/bsd.fast.prefs.mk"
+
+.for d in asciidoc docbook-xsl
+GITDOCDEP.${d}= ${${${PKG_INFO} -E ${d}:L:sh}:L:C/[^[0-9]]*/ /g:[1..3]:ts.}
+.endfor
+
+.if !empty(GITDOCDEP.asciidoc:M[8]*)
+MAKE_ENV+= AsciiDoc8=YesPlease
+.endif
+
+.if !empty(GITDOCDEP.docbook-xsl:M1.7[2-9]*)
+MAKE_ENV+= DOCBOOK_XSL_172=YesPlease
+.endif
+
+.include "${.CURDIR}/../scmgit/Makefile.common"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/devel/scmgit-docs/Makefile.common b/devel/scmgit-docs/Makefile.common
new file mode 100644
index 00000000000..41a05419333
--- /dev/null
+++ b/devel/scmgit-docs/Makefile.common
@@ -0,0 +1,27 @@
+# $NetBSD: Makefile.common,v 1.1.1.1 2007/12/12 04:22:45 bjs Exp $
+#
+
+DISTNAME= git-${GIT_VERSION}
+CATEGORIES= devel scm
+MASTER_SITES= http://www.kernel.org/pub/software/scm/git/
+
+MAINTAINER= pancake@phreaker.net
+HOMEPAGE= http://git.or.cz/
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+GIT_VERSION= 1.5.3.7
+
+MAKE_ENV+= HOME=${PREFIX:Q}
+#USE_TOOLS+= gmake perl:run sh:run wish:run tar
+USE_TOOLS+= gmake tar perl sh
+EXTRACT_USING= gtar
+
+MAKE_ENV+= PERL_PATH=${PERL5:Q}
+MAKE_ENV+= SHELL_PATH=${SH:Q}
+MAKE_ENV+= TAR=${TAR:Q}
+MAKE_FLAGS+= mandir=${PREFIX}/${PKGMANDIR}
+
+LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib
+LIBS.SunOS+= -liconv
+CFLAGS.NetBSD+= -D_NETBSD_SOURCE
diff --git a/devel/scmgit-docs/PLIST b/devel/scmgit-docs/PLIST
new file mode 100644
index 00000000000..77f0865f18c
--- /dev/null
+++ b/devel/scmgit-docs/PLIST
@@ -0,0 +1,139 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2007/12/12 04:22:45 bjs Exp $
+man/man1/git-add.1
+man/man1/git-am.1
+man/man1/git-annotate.1
+man/man1/git-apply.1
+man/man1/git-archimport.1
+man/man1/git-archive.1
+man/man1/git-bisect.1
+man/man1/git-blame.1
+man/man1/git-branch.1
+man/man1/git-bundle.1
+man/man1/git-cat-file.1
+man/man1/git-check-attr.1
+man/man1/git-check-ref-format.1
+man/man1/git-checkout-index.1
+man/man1/git-checkout.1
+man/man1/git-cherry-pick.1
+man/man1/git-cherry.1
+man/man1/git-citool.1
+man/man1/git-clean.1
+man/man1/git-clone.1
+man/man1/git-commit-tree.1
+man/man1/git-commit.1
+man/man1/git-config.1
+man/man1/git-convert-objects.1
+man/man1/git-count-objects.1
+man/man1/git-cvsexportcommit.1
+man/man1/git-cvsimport.1
+man/man1/git-cvsserver.1
+man/man1/git-daemon.1
+man/man1/git-describe.1
+man/man1/git-diff-files.1
+man/man1/git-diff-index.1
+man/man1/git-diff-tree.1
+man/man1/git-diff.1
+man/man1/git-fast-import.1
+man/man1/git-fetch-pack.1
+man/man1/git-fetch.1
+man/man1/git-filter-branch.1
+man/man1/git-fmt-merge-msg.1
+man/man1/git-for-each-ref.1
+man/man1/git-format-patch.1
+man/man1/git-fsck-objects.1
+man/man1/git-fsck.1
+man/man1/git-gc.1
+man/man1/git-get-tar-commit-id.1
+man/man1/git-grep.1
+man/man1/git-gui.1
+man/man1/git-hash-object.1
+man/man1/git-http-fetch.1
+man/man1/git-http-push.1
+man/man1/git-imap-send.1
+man/man1/git-index-pack.1
+man/man1/git-init-db.1
+man/man1/git-init.1
+man/man1/git-instaweb.1
+man/man1/git-local-fetch.1
+man/man1/git-log.1
+man/man1/git-lost-found.1
+man/man1/git-ls-files.1
+man/man1/git-ls-remote.1
+man/man1/git-ls-tree.1
+man/man1/git-mailinfo.1
+man/man1/git-mailsplit.1
+man/man1/git-merge-base.1
+man/man1/git-merge-file.1
+man/man1/git-merge-index.1
+man/man1/git-merge-one-file.1
+man/man1/git-merge-tree.1
+man/man1/git-merge.1
+man/man1/git-mergetool.1
+man/man1/git-mktag.1
+man/man1/git-mktree.1
+man/man1/git-mv.1
+man/man1/git-name-rev.1
+man/man1/git-pack-objects.1
+man/man1/git-pack-redundant.1
+man/man1/git-pack-refs.1
+man/man1/git-parse-remote.1
+man/man1/git-patch-id.1
+man/man1/git-peek-remote.1
+man/man1/git-prune-packed.1
+man/man1/git-prune.1
+man/man1/git-pull.1
+man/man1/git-push.1
+man/man1/git-quiltimport.1
+man/man1/git-read-tree.1
+man/man1/git-rebase.1
+man/man1/git-receive-pack.1
+man/man1/git-reflog.1
+man/man1/git-relink.1
+man/man1/git-remote.1
+man/man1/git-repack.1
+man/man1/git-repo-config.1
+man/man1/git-request-pull.1
+man/man1/git-rerere.1
+man/man1/git-reset.1
+man/man1/git-rev-list.1
+man/man1/git-rev-parse.1
+man/man1/git-revert.1
+man/man1/git-rm.1
+man/man1/git-runstatus.1
+man/man1/git-send-email.1
+man/man1/git-send-pack.1
+man/man1/git-sh-setup.1
+man/man1/git-shell.1
+man/man1/git-shortlog.1
+man/man1/git-show-branch.1
+man/man1/git-show-index.1
+man/man1/git-show-ref.1
+man/man1/git-show.1
+man/man1/git-ssh-fetch.1
+man/man1/git-ssh-upload.1
+man/man1/git-stash.1
+man/man1/git-status.1
+man/man1/git-stripspace.1
+man/man1/git-submodule.1
+man/man1/git-svn.1
+man/man1/git-svnimport.1
+man/man1/git-symbolic-ref.1
+man/man1/git-tag.1
+man/man1/git-tar-tree.1
+man/man1/git-unpack-file.1
+man/man1/git-unpack-objects.1
+man/man1/git-update-index.1
+man/man1/git-update-ref.1
+man/man1/git-update-server-info.1
+man/man1/git-upload-archive.1
+man/man1/git-upload-pack.1
+man/man1/git-var.1
+man/man1/git-verify-pack.1
+man/man1/git-verify-tag.1
+man/man1/git-whatchanged.1
+man/man1/git-write-tree.1
+man/man1/gitk.1
+man/man5/gitattributes.5
+man/man5/gitignore.5
+man/man5/gitmodules.5
+man/man7/git.7