224ff5f9bd
* The scripting part of the codebase is getting prepared for i18n/l10n. * Interix, Cygwin and Minix ports got updated. * Various updates to git-p4 (in contrib/), fast-import, and git-svn. * Gitweb learned to read from /etc/gitweb-common.conf when it exists, before reading from gitweb_config.perl or from /etc/gitweb.conf * Various codepaths that invoked zlib deflate/inflate assumed that these functions can compress or uncompress more than 4GB data in one call on platforms with 64-bit long, which has been corrected. * Git now recognizes loose objects written by other implementations that use a non-standard window size for zlib deflation (e.g. Agit running on Android with 4kb window). We used to reject anything that was not deflated with 32kb window. * Interaction between the use of pager and coloring of the output has been improved, especially when a command that is not built-in was involved. * "git am" learned to pass the "--exclude=<path>" option through to underlying "git apply". * You can now feed many empty lines before feeding an mbox file to "git am". * "git archive" can be told to pass the output to gzip compression and produce "archive.tar.gz". * "git bisect" can be used in a bare repository (provided that the test you perform per each iteration does not need a working tree, of course). * The length of abbreviated object names in "git branch -v" output now honors the core.abbrev configuration variable. * "git check-attr" can take relative paths from the command line. * "git check-attr" learned an "--all" option to list the attributes for a given path. * "git checkout" (both the code to update the files upon checking out a different branch and the code to checkout a specific set of files) learned to stream the data from object store when possible, without having to read the entire contents of a file into memory first. An earlier round of this code that is not in any released version had a large leak but now it has been plugged. * "git clone" can now take a "--config key=value" option to set the repository configuration options that affect the initial checkout. * "git commit <paths>..." now lets you feed relative pathspecs that refer to outside your current subdirectory. * "git diff --stat" learned a --stat-count option to limit the output of a diffstat report. * "git diff" learned a "--histogram" option to use a different diff generation machinery stolen from jgit, which might give better performance. * "git diff" had a weird worst case behaviour that can be triggered when comparing files with potentially many places that could match. * "git fetch", "git push" and friends no longer show connection errors for addresses that couldn't be connected to when at least one address succeeds (this is arguably a regression but a deliberate one). * "git grep" learned "--break" and "--heading" options, to let users mimic the output format of "ack". * "git grep" learned a "-W" option that shows wider context using the same logic used by "git diff" to determine the hunk header. * Invoking the low-level "git http-fetch" without "-a" option (which git itself never did---normal users should not have to worry about this) is now deprecated. * The "--decorate" option to "git log" and its family learned to highlight grafted and replaced commits. * "git rebase master topci" no longer spews usage hints after giving the "fatal: no such branch: topci" error message. * The recursive merge strategy implementation got a fairly large fix for many corner cases that may rarely happen in real world projects (it has been verified that none of the 16000+ merges in the Linux kernel history back to v2.6.12 is affected with the corner case bugs this update fixes). * "git stash" learned an "--include-untracked option". * "git submodule update" used to stop at the first error updating a submodule; it now goes on to update other submodules that can be updated, and reports the ones with errors at the end. * "git push" can be told with the "--recurse-submodules=check" option to refuse pushing of the supermodule, if any of its submodules' commits hasn't been pushed out to their remotes. * "git upload-pack" and "git receive-pack" learned to pretend that only a subset of the refs exist in a repository. This may help a site to put many tiny repositories into one repository (this would not be useful for larger repositories as repacking would be problematic). * "git verify-pack" has been rewritten to use the "index-pack" machinery that is more efficient in reading objects in packfiles. * test scripts for gitweb tried to run even when CGI-related perl modules are not installed; they now exit early when the latter are unavailable.
94 lines
2.9 KiB
Makefile
94 lines
2.9 KiB
Makefile
# $NetBSD: Makefile,v 1.36 2011/10/11 12:01:25 adam Exp $
|
|
|
|
.include "../../devel/scmgit/Makefile.common"
|
|
|
|
PKGNAME= scmgit-base-${GIT_VERSION}
|
|
COMMENT= GIT Tree History Storage Tool (base package)
|
|
|
|
PKG_DESTDIR_SUPPORT= user-destdir
|
|
|
|
CONFLICTS+= git<4.9.5nb1 # misc/git
|
|
|
|
DEPENDS+= p5-Error>=0.17015:../../devel/p5-Error
|
|
|
|
USE_LANGUAGES= c99
|
|
USE_TOOLS+= perl:run sh:run msgfmt
|
|
|
|
PERL5_CONFIGURE= no
|
|
PERL5_PACKLIST= auto/Git/.packlist
|
|
REPLACE_PERL+= *.perl */*.perl */*/*.perl
|
|
REPLACE_PERL+= contrib/hooks/update-paranoid
|
|
|
|
CFLAGS.NetBSD+= -D_NETBSD_SOURCE
|
|
|
|
CONFIGURE_ARGS+= --with-curl=${BUILDLINK_PREFIX.curl}
|
|
CONFIGURE_ARGS+= --with-expat=${BUILDLINK_PREFIX.expat}
|
|
CONFIGURE_ARGS+= --with-iconv=${BUILDLINK_PREFIX.iconv}
|
|
CONFIGURE_ARGS+= --with-openssl=${SSLBASE}
|
|
CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib}
|
|
|
|
BUILD_TARGET= all
|
|
|
|
REPLACE_SH+= contrib/hooks/post-receive-email
|
|
REPLACE_SH+= contrib/hooks/pre-auto-gc-battery
|
|
|
|
EGDIR= ${PREFIX}/share/examples/scmgit
|
|
|
|
GIT_COREDIR= git-core
|
|
GIT_TEMPLATEDIR= templates
|
|
|
|
GIT_TEMPLATES= description info/exclude
|
|
GIT_TEMPLATES+= hooks/applypatch-msg.sample hooks/commit-msg.sample
|
|
GIT_TEMPLATES+= hooks/post-update.sample hooks/pre-applypatch.sample
|
|
GIT_TEMPLATES+= hooks/pre-commit.sample hooks/pre-rebase.sample
|
|
GIT_TEMPLATES+= hooks/prepare-commit-msg.sample hooks/update.sample
|
|
|
|
# XXX unused as of now
|
|
#GIT_CORE_EXECDIR= libexec/${GIT_COREDIR}
|
|
GIT_CORE_DATADIR= share/${GIT_COREDIR}
|
|
GIT_CORE_TEMPLATEDIR= ${GIT_CORE_DATADIR}/${GIT_TEMPLATEDIR}
|
|
|
|
MAKE_DIRS= ${GIT_CORE_TEMPLATEDIR}
|
|
MAKE_DIRS+= ${GIT_CORE_TEMPLATEDIR}/hooks
|
|
MAKE_DIRS+= ${GIT_CORE_TEMPLATEDIR}/info
|
|
|
|
REQD_FILES+= ${GIT_TEMPLATES:@.t.@\
|
|
${EGDIR}/${GIT_TEMPLATEDIR}/${.t.}\
|
|
${PREFIX}/${GIT_CORE_TEMPLATEDIR}/${.t.}\
|
|
@:M*}
|
|
|
|
CONFIGURE_ENV+= HOME=${PREFIX}
|
|
CONFIGURE_ENV+= gitexecdir=${GITCOREDIR}
|
|
|
|
MAKE_FLAGS+= INSTALL=${INSTALL:Q}
|
|
|
|
GIT_TEMPLATE_INSTDIR= ${EGDIR}/${GIT_TEMPLATEDIR}
|
|
MAKE_ENV+= GIT_TEMPLATE_INSTDIR=${GIT_TEMPLATE_INSTDIR}
|
|
MESSAGE_SUBST+= GIT_TEMPLATE_INSTDIR=${GIT_TEMPLATE_INSTDIR}
|
|
|
|
SUBST_CLASSES+= fix-paths
|
|
SUBST_FILES.fix-paths= templates/hooks--post-receive.sample
|
|
SUBST_MESSAGE.fix-paths=Fixing hard-coded pathnames
|
|
SUBST_STAGE.fix-paths= pre-build
|
|
SUBST_VARS.fix-paths= PREFIX
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
.if ${OPSYS} == "NetBSD" || ${OPSYS} == "SunOS" || ${OPSYS} == "OSF1" || ${OPSYS} == "HPUX" || ${OPSYS} == "QNX" || ${OPSYS} == "UnixWare"
|
|
SUBST_CLASSES+= fix-cd-P
|
|
SUBST_FILES.fix-cd-P= git-sh-setup.sh
|
|
SUBST_FILES.fix-cd-P+= t/test-lib.sh
|
|
SUBST_MESSAGE.fix-cd-P= Fixing cd arguments.
|
|
SUBST_STAGE.fix-cd-P= pre-build
|
|
SUBST_SED.fix-cd-P= -e "s/cd -P/cd/g"
|
|
.endif
|
|
|
|
.include "options.mk"
|
|
|
|
.include "../../converters/libiconv/buildlink3.mk"
|
|
.include "../../devel/zlib/buildlink3.mk"
|
|
.include "../../lang/perl5/module.mk"
|
|
.include "../../security/openssl/buildlink3.mk"
|
|
.include "../../textproc/expat/buildlink3.mk"
|
|
.include "../../www/curl/buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|